From 3d3e98bcd8ae148719de6e3670bed37fbda7677c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vince=20Moln=C3=A1r?= Date: Sat, 3 Oct 2026 04:41:04 +0200 Subject: [PATCH] Release v0.1.0 --- .gitattributes | 6 + .github/workflows/ci.yml | 550 + .gitignore | 33 + CHANGELOG.md | 127 + LICENSE | 202 + NOTICE | 7 + README.md | 310 +- STATUS.md | 60 + abi/.gitignore | 1 + abi/Cargo.lock | 353 + abi/Cargo.toml | 18 + abi/README.md | 118 + abi/examples/export_library.rs | 100 + abi/smoke.py | 76 + abi/src/generated.rs | 5091 + abi/src/lib.rs | 525 + abi/src/ops.rs | 117 + abi/src/read.rs | 216 + cpp/checks/checks.cpp | 238 + cpp/checks/conformance.g.cpp | 20371 ++++ cpp/checks/sha256.hpp | 100 + cpp/checks/toolkit_checks.cpp | 134 + cpp/include/sysml/classes.g.hpp | 38790 ++++++ cpp/include/sysml/element_members.g.hpp | 26 + cpp/include/sysml/forward.g.hpp | 177 + cpp/include/sysml/sdk.hpp | 745 + cpp/include/sysml/toolkit.hpp | 407 + cpp/include/sysml/toolkit_table.g.hpp | 687 + csharp/OpenMBEE.SysML.Checks/Conformance.g.cs | 154 + .../OpenMBEE.SysML.Checks.csproj | 16 + csharp/OpenMBEE.SysML.Checks/Program.cs | 188 + csharp/OpenMBEE.SysML.Checks/ToolkitChecks.cs | 116 + csharp/OpenMBEE.SysML/Classes.g.cs | 20676 ++++ csharp/OpenMBEE.SysML/OpenMBEE.SysML.csproj | 28 + csharp/OpenMBEE.SysML/Runtime.cs | 398 + csharp/OpenMBEE.SysML/ToolkitBackend.cs | 396 + csharp/OpenMBEE.SysML/ToolkitTable.g.cs | 676 + data/bigger.full.json | 5981 + data/bigger.sysml | 14 + examples/README.md | 58 + examples/cpp/README.md | 212 + examples/cpp/tutorial.cpp | 113 + examples/csharp/README.md | 186 + examples/csharp/Tutorial.cs | 103 + examples/csharp/Tutorial.csproj | 12 + examples/java/README.md | 213 + examples/java/Tutorial.java | 113 + examples/python/README.md | 182 + examples/python/tutorial.py | 111 + examples/queries/README.md | 137 + examples/queries/cpp/demo.cpp | 239 + examples/queries/cpp/queries.hpp | 821 + examples/queries/csharp/Program.cs | 221 + examples/queries/csharp/Queries.cs | 728 + examples/queries/csharp/Queries.csproj | 13 + examples/queries/expected/annex-a.txt | 29 + examples/queries/expected/report.txt | 73 + examples/queries/java/Queries.java | 831 + examples/queries/java/QueriesDemo.java | 250 + examples/queries/models/drones.sysml | 123 + examples/queries/models/pumps.sysml | 64 + examples/queries/python/demo.py | 199 + examples/queries/python/queries.py | 729 + examples/queries/typescript/demo.mjs | 189 + examples/queries/typescript/queries.mjs | 660 + examples/typescript/README.md | 186 + examples/typescript/tutorial.mjs | 83 + examples/vehicle.sysml | 41 + java/src/org/openmbee/sysml/Backend.java | 29 + java/src/org/openmbee/sysml/El.java | 55 + java/src/org/openmbee/sysml/Element.java | 85 + .../src/org/openmbee/sysml/GoneException.java | 8 + java/src/org/openmbee/sysml/Json.java | 172 + java/src/org/openmbee/sysml/Model.java | 131 + .../openmbee/sysml/NotComputedException.java | 9 + .../NotImplementedInToolkitException.java | 9 + .../org/openmbee/sysml/PayloadBackend.java | 89 + .../org/openmbee/sysml/PayloadLibrary.java | 26 + java/src/org/openmbee/sysml/SdkException.java | 8 + .../org/openmbee/sysml/ToolkitBackend.java | 532 + java/src/org/openmbee/sysml/ToolkitTable.java | 690 + .../sysml/UnresolvedReferenceException.java | 11 + .../src/org/openmbee/sysml/checks/Checks.java | 217 + .../openmbee/sysml/checks/Conformance.java | 165 + .../openmbee/sysml/checks/ToolkitChecks.java | 140 + .../sysml/classes/AcceptActionUsage.java | 175 + .../sysml/classes/ActionDefinition.java | 120 + .../openmbee/sysml/classes/ActionUsage.java | 171 + .../sysml/classes/ActorMembership.java | 51 + .../sysml/classes/AllocationDefinition.java | 129 + .../sysml/classes/AllocationUsage.java | 180 + .../sysml/classes/AnalysisCaseDefinition.java | 128 + .../sysml/classes/AnalysisCaseUsage.java | 184 + .../sysml/classes/AnnotatingElement.java | 33 + .../openmbee/sysml/classes/Annotation.java | 40 + .../sysml/classes/AssertConstraintUsage.java | 176 + .../sysml/classes/AssignmentActionUsage.java | 174 + .../openmbee/sysml/classes/Association.java | 94 + .../sysml/classes/AssociationStructure.java | 94 + .../sysml/classes/AttributeDefinition.java | 116 + .../sysml/classes/AttributeUsage.java | 161 + .../org/openmbee/sysml/classes/Behavior.java | 86 + .../sysml/classes/BindingConnector.java | 134 + .../classes/BindingConnectorAsUsage.java | 172 + .../sysml/classes/BooleanExpression.java | 131 + .../sysml/classes/CalculationDefinition.java | 124 + .../sysml/classes/CalculationUsage.java | 178 + .../sysml/classes/CaseDefinition.java | 127 + .../org/openmbee/sysml/classes/CaseUsage.java | 182 + .../src/org/openmbee/sysml/classes/Class.java | 84 + .../org/openmbee/sysml/classes/ClassMap.java | 374 + .../openmbee/sysml/classes/Classifier.java | 84 + .../sysml/classes/CollectExpression.java | 134 + .../org/openmbee/sysml/classes/Comment.java | 35 + .../sysml/classes/ConcernDefinition.java | 130 + .../openmbee/sysml/classes/ConcernUsage.java | 184 + .../classes/ConjugatedPortDefinition.java | 120 + .../sysml/classes/ConjugatedPortTyping.java | 43 + .../openmbee/sysml/classes/Conjugation.java | 38 + .../sysml/classes/ConnectionDefinition.java | 128 + .../sysml/classes/ConnectionUsage.java | 179 + .../org/openmbee/sysml/classes/Connector.java | 134 + .../sysml/classes/ConnectorAsUsage.java | 172 + .../sysml/classes/ConstraintDefinition.java | 122 + .../sysml/classes/ConstraintUsage.java | 174 + .../sysml/classes/ConstructorExpression.java | 133 + .../openmbee/sysml/classes/ControlNode.java | 172 + .../sysml/classes/CrossSubsetting.java | 43 + .../org/openmbee/sysml/classes/DataType.java | 84 + .../openmbee/sysml/classes/DecisionNode.java | 172 + .../openmbee/sysml/classes/Definition.java | 116 + .../openmbee/sysml/classes/Dependency.java | 37 + .../openmbee/sysml/classes/Differencing.java | 37 + .../openmbee/sysml/classes/Disjoining.java | 38 + .../openmbee/sysml/classes/Documentation.java | 36 + .../classes/ElementFilterMembership.java | 47 + .../sysml/classes/EndFeatureMembership.java | 48 + .../sysml/classes/EnumerationDefinition.java | 117 + .../sysml/classes/EnumerationUsage.java | 162 + .../sysml/classes/EventOccurrenceUsage.java | 165 + .../sysml/classes/ExhibitStateUsage.java | 180 + .../org/openmbee/sysml/classes/Expose.java | 41 + .../openmbee/sysml/classes/Expression.java | 130 + .../org/openmbee/sysml/classes/Feature.java | 122 + .../sysml/classes/FeatureChainExpression.java | 136 + .../sysml/classes/FeatureChaining.java | 37 + .../sysml/classes/FeatureInverting.java | 38 + .../sysml/classes/FeatureMembership.java | 48 + .../classes/FeatureReferenceExpression.java | 131 + .../openmbee/sysml/classes/FeatureTyping.java | 41 + .../openmbee/sysml/classes/FeatureValue.java | 50 + java/src/org/openmbee/sysml/classes/Flow.java | 142 + .../sysml/classes/FlowDefinition.java | 131 + .../org/openmbee/sysml/classes/FlowEnd.java | 122 + .../org/openmbee/sysml/classes/FlowUsage.java | 190 + .../sysml/classes/ForLoopActionUsage.java | 174 + .../org/openmbee/sysml/classes/ForkNode.java | 172 + .../classes/FramedConcernMembership.java | 53 + .../org/openmbee/sysml/classes/Function.java | 89 + .../openmbee/sysml/classes/IfActionUsage.java | 174 + .../src/org/openmbee/sysml/classes/Impls.java | 675 + .../org/openmbee/sysml/classes/Import.java | 41 + .../sysml/classes/IncludeUseCaseUsage.java | 187 + .../sysml/classes/IndexExpression.java | 134 + .../classes/InstantiationExpression.java | 133 + .../openmbee/sysml/classes/Interaction.java | 96 + .../sysml/classes/InterfaceDefinition.java | 129 + .../sysml/classes/InterfaceUsage.java | 180 + .../openmbee/sysml/classes/Intersecting.java | 37 + .../org/openmbee/sysml/classes/Invariant.java | 132 + .../sysml/classes/InvocationExpression.java | 133 + .../sysml/classes/ItemDefinition.java | 117 + .../org/openmbee/sysml/classes/ItemUsage.java | 165 + .../org/openmbee/sysml/classes/JoinNode.java | 172 + .../sysml/classes/LibraryPackage.java | 49 + .../sysml/classes/LiteralBoolean.java | 131 + .../sysml/classes/LiteralExpression.java | 130 + .../sysml/classes/LiteralInfinity.java | 130 + .../sysml/classes/LiteralInteger.java | 131 + .../sysml/classes/LiteralRational.java | 131 + .../openmbee/sysml/classes/LiteralString.java | 131 + .../sysml/classes/LoopActionUsage.java | 172 + .../openmbee/sysml/classes/Membership.java | 42 + .../sysml/classes/MembershipExpose.java | 42 + .../sysml/classes/MembershipImport.java | 42 + .../org/openmbee/sysml/classes/MergeNode.java | 172 + .../org/openmbee/sysml/classes/Metaclass.java | 84 + .../classes/MetadataAccessExpression.java | 132 + .../sysml/classes/MetadataDefinition.java | 117 + .../sysml/classes/MetadataFeature.java | 131 + .../openmbee/sysml/classes/MetadataUsage.java | 175 + .../openmbee/sysml/classes/Multiplicity.java | 122 + .../sysml/classes/MultiplicityRange.java | 127 + .../org/openmbee/sysml/classes/Namespace.java | 46 + .../sysml/classes/NamespaceExpose.java | 42 + .../sysml/classes/NamespaceImport.java | 42 + .../sysml/classes/NullExpression.java | 130 + .../sysml/classes/ObjectiveMembership.java | 49 + .../sysml/classes/OccurrenceDefinition.java | 117 + .../sysml/classes/OccurrenceUsage.java | 164 + .../sysml/classes/OperatorExpression.java | 134 + .../sysml/classes/OwningMembership.java | 46 + .../org/openmbee/sysml/classes/Package.java | 48 + .../sysml/classes/ParameterMembership.java | 50 + .../sysml/classes/PartDefinition.java | 117 + .../org/openmbee/sysml/classes/PartUsage.java | 166 + .../sysml/classes/PayloadFeature.java | 122 + .../sysml/classes/PerformActionUsage.java | 173 + .../sysml/classes/PortConjugation.java | 40 + .../sysml/classes/PortDefinition.java | 118 + .../org/openmbee/sysml/classes/PortUsage.java | 165 + .../org/openmbee/sysml/classes/Predicate.java | 89 + .../openmbee/sysml/classes/Redefinition.java | 43 + .../sysml/classes/ReferenceSubsetting.java | 43 + .../sysml/classes/ReferenceUsage.java | 160 + .../openmbee/sysml/classes/Relationship.java | 35 + .../sysml/classes/RenderingDefinition.java | 118 + .../sysml/classes/RenderingUsage.java | 167 + .../RequirementConstraintMembership.java | 51 + .../sysml/classes/RequirementDefinition.java | 130 + .../sysml/classes/RequirementUsage.java | 183 + .../RequirementVerificationMembership.java | 53 + .../classes/ResultExpressionMembership.java | 49 + .../classes/ReturnParameterMembership.java | 50 + .../classes/SatisfyRequirementUsage.java | 187 + .../sysml/classes/SelectExpression.java | 134 + .../sysml/classes/SendActionUsage.java | 174 + .../sysml/classes/Specialization.java | 38 + .../sysml/classes/StakeholderMembership.java | 51 + .../sysml/classes/StateDefinition.java | 125 + .../classes/StateSubactionMembership.java | 50 + .../openmbee/sysml/classes/StateUsage.java | 177 + java/src/org/openmbee/sysml/classes/Step.java | 124 + .../org/openmbee/sysml/classes/Structure.java | 84 + .../sysml/classes/Subclassification.java | 41 + .../sysml/classes/SubjectMembership.java | 51 + .../openmbee/sysml/classes/Subsetting.java | 41 + .../openmbee/sysml/classes/Succession.java | 134 + .../sysml/classes/SuccessionAsUsage.java | 172 + .../sysml/classes/SuccessionFlow.java | 142 + .../sysml/classes/SuccessionFlowUsage.java | 190 + .../sysml/classes/TerminateActionUsage.java | 172 + .../sysml/classes/TextualRepresentation.java | 36 + .../classes/TransitionFeatureMembership.java | 50 + .../sysml/classes/TransitionUsage.java | 179 + .../classes/TriggerInvocationExpression.java | 134 + java/src/org/openmbee/sysml/classes/Type.java | 83 + .../openmbee/sysml/classes/TypeFeaturing.java | 38 + .../org/openmbee/sysml/classes/Unioning.java | 37 + .../src/org/openmbee/sysml/classes/Usage.java | 160 + .../sysml/classes/UseCaseDefinition.java | 128 + .../openmbee/sysml/classes/UseCaseUsage.java | 184 + .../sysml/classes/VariantMembership.java | 47 + .../classes/VerificationCaseDefinition.java | 128 + .../sysml/classes/VerificationCaseUsage.java | 184 + .../sysml/classes/ViewDefinition.java | 121 + .../classes/ViewRenderingMembership.java | 50 + .../org/openmbee/sysml/classes/ViewUsage.java | 172 + .../sysml/classes/ViewpointDefinition.java | 131 + .../sysml/classes/ViewpointUsage.java | 185 + .../sysml/classes/WhileLoopActionUsage.java | 174 + metamodel.json | 98272 ++++++++++++++++ pyproject.toml | 27 + python/demo.py | 101 + python/sysml/__init__.py | 4 + python/sysml/base.py | 358 + python/sysml/classes.py | 14291 +++ python/sysml/classes.pyi | 13769 +++ python/sysml/toolkit.py | 363 + python/sysml/toolkit_table.py | 665 + python/tests/conftest.py | 107 + python/tests/test_annex_a.py | 168 + python/tests/test_conformance_generated.py | 117 + python/tests/test_names.py | 61 + python/tests/test_queries.py | 227 + python/tests/test_runtime.py | 233 + python/tests/test_toolkit_backend.py | 153 + python/tests/test_toolkit_vs_payload.py | 159 + python/tests/toolkit_gaps.py | 82 + skills/sysml-sdk-cpp/SKILL.md | 640 + skills/sysml-sdk-csharp/SKILL.md | 543 + skills/sysml-sdk-java/SKILL.md | 572 + skills/sysml-sdk-python/SKILL.md | 535 + skills/sysml-sdk-typescript/SKILL.md | 504 + tools/check_packages.py | 336 + tools/compare_report.py | 107 + tools/export_example.py | 68 + tools/extract_metamodel.py | 413 + tools/gen_abi.py | 144 + tools/gen_classes.py | 266 + tools/gen_classes_cpp.py | 276 + tools/gen_classes_cs.py | 217 + tools/gen_classes_java.py | 255 + tools/gen_classes_ts.py | 161 + tools/gen_conformance.py | 689 + tools/gen_toolkit_table.py | 63 + tools/gen_toolkit_table_cpp.py | 65 + tools/gen_toolkit_table_cs.py | 58 + tools/gen_toolkit_table_java.py | 72 + tools/gen_toolkit_table_js.py | 46 + tools/naming.py | 193 + tools/package.py | 311 + tools/package_abi.py | 122 + tools/package_library.py | 163 + tools/release_notes.py | 47 + tools/rename.py | 246 + tools/third_party_notices.py | 141 + tools/toolkit_figures.py | 153 + tools/toolkit_needs.py | 151 + tools/verify_pin.py | 43 + ts/check_types.ts | 58 + ts/classes.d.ts | 19490 +++ ts/conformance.generated.mjs | 77 + ts/demo.mjs | 95 + ts/index.d.ts | 126 + ts/index.mjs | 4 + ts/meta.mjs | 5 + ts/package.json | 36 + ts/runtime.mjs | 177 + ts/toolkit.mjs | 425 + ts/toolkit_checks.mjs | 134 + ts/toolkit_table.mjs | 4 + vendor/naming-table/PIN.json | 10 + vendor/naming-table/toolkit-api-names.csv | 485 + .../naming-table/toolkit-delegation-map.csv | 57 + vendor/nlohmann/LICENSE.MIT | 21 + vendor/nlohmann/PIN.json | 13 + vendor/nlohmann/json.hpp | 24765 ++++ vendor/sysml-toolkit/PIN.json | 19 + .../crates/sysmlv2-model/src/schema_props.rs | 14196 +++ .../crates/sysmlv2-testkit/src/xmi_props.rs | 14415 +++ vendor/sysml-toolkit/spec-refs/KerML.xmi | 9208 ++ vendor/sysml-toolkit/spec-refs/SysML.xmi | 9910 ++ 333 files changed, 358682 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 NOTICE create mode 100644 STATUS.md create mode 100644 abi/.gitignore create mode 100644 abi/Cargo.lock create mode 100644 abi/Cargo.toml create mode 100644 abi/README.md create mode 100644 abi/examples/export_library.rs create mode 100644 abi/smoke.py create mode 100644 abi/src/generated.rs create mode 100644 abi/src/lib.rs create mode 100644 abi/src/ops.rs create mode 100644 abi/src/read.rs create mode 100644 cpp/checks/checks.cpp create mode 100644 cpp/checks/conformance.g.cpp create mode 100644 cpp/checks/sha256.hpp create mode 100644 cpp/checks/toolkit_checks.cpp create mode 100644 cpp/include/sysml/classes.g.hpp create mode 100644 cpp/include/sysml/element_members.g.hpp create mode 100644 cpp/include/sysml/forward.g.hpp create mode 100644 cpp/include/sysml/sdk.hpp create mode 100644 cpp/include/sysml/toolkit.hpp create mode 100644 cpp/include/sysml/toolkit_table.g.hpp create mode 100644 csharp/OpenMBEE.SysML.Checks/Conformance.g.cs create mode 100644 csharp/OpenMBEE.SysML.Checks/OpenMBEE.SysML.Checks.csproj create mode 100644 csharp/OpenMBEE.SysML.Checks/Program.cs create mode 100644 csharp/OpenMBEE.SysML.Checks/ToolkitChecks.cs create mode 100644 csharp/OpenMBEE.SysML/Classes.g.cs create mode 100644 csharp/OpenMBEE.SysML/OpenMBEE.SysML.csproj create mode 100644 csharp/OpenMBEE.SysML/Runtime.cs create mode 100644 csharp/OpenMBEE.SysML/ToolkitBackend.cs create mode 100644 csharp/OpenMBEE.SysML/ToolkitTable.g.cs create mode 100644 data/bigger.full.json create mode 100644 data/bigger.sysml create mode 100644 examples/README.md create mode 100644 examples/cpp/README.md create mode 100644 examples/cpp/tutorial.cpp create mode 100644 examples/csharp/README.md create mode 100644 examples/csharp/Tutorial.cs create mode 100644 examples/csharp/Tutorial.csproj create mode 100644 examples/java/README.md create mode 100644 examples/java/Tutorial.java create mode 100644 examples/python/README.md create mode 100644 examples/python/tutorial.py create mode 100644 examples/queries/README.md create mode 100644 examples/queries/cpp/demo.cpp create mode 100644 examples/queries/cpp/queries.hpp create mode 100644 examples/queries/csharp/Program.cs create mode 100644 examples/queries/csharp/Queries.cs create mode 100644 examples/queries/csharp/Queries.csproj create mode 100644 examples/queries/expected/annex-a.txt create mode 100644 examples/queries/expected/report.txt create mode 100644 examples/queries/java/Queries.java create mode 100644 examples/queries/java/QueriesDemo.java create mode 100644 examples/queries/models/drones.sysml create mode 100644 examples/queries/models/pumps.sysml create mode 100644 examples/queries/python/demo.py create mode 100644 examples/queries/python/queries.py create mode 100644 examples/queries/typescript/demo.mjs create mode 100644 examples/queries/typescript/queries.mjs create mode 100644 examples/typescript/README.md create mode 100644 examples/typescript/tutorial.mjs create mode 100644 examples/vehicle.sysml create mode 100644 java/src/org/openmbee/sysml/Backend.java create mode 100644 java/src/org/openmbee/sysml/El.java create mode 100644 java/src/org/openmbee/sysml/Element.java create mode 100644 java/src/org/openmbee/sysml/GoneException.java create mode 100644 java/src/org/openmbee/sysml/Json.java create mode 100644 java/src/org/openmbee/sysml/Model.java create mode 100644 java/src/org/openmbee/sysml/NotComputedException.java create mode 100644 java/src/org/openmbee/sysml/NotImplementedInToolkitException.java create mode 100644 java/src/org/openmbee/sysml/PayloadBackend.java create mode 100644 java/src/org/openmbee/sysml/PayloadLibrary.java create mode 100644 java/src/org/openmbee/sysml/SdkException.java create mode 100644 java/src/org/openmbee/sysml/ToolkitBackend.java create mode 100644 java/src/org/openmbee/sysml/ToolkitTable.java create mode 100644 java/src/org/openmbee/sysml/UnresolvedReferenceException.java create mode 100644 java/src/org/openmbee/sysml/checks/Checks.java create mode 100644 java/src/org/openmbee/sysml/checks/Conformance.java create mode 100644 java/src/org/openmbee/sysml/checks/ToolkitChecks.java create mode 100644 java/src/org/openmbee/sysml/classes/AcceptActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ActionDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ActorMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/AllocationDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/AllocationUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/AnalysisCaseDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/AnalysisCaseUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/AnnotatingElement.java create mode 100644 java/src/org/openmbee/sysml/classes/Annotation.java create mode 100644 java/src/org/openmbee/sysml/classes/AssertConstraintUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/AssignmentActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Association.java create mode 100644 java/src/org/openmbee/sysml/classes/AssociationStructure.java create mode 100644 java/src/org/openmbee/sysml/classes/AttributeDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/AttributeUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Behavior.java create mode 100644 java/src/org/openmbee/sysml/classes/BindingConnector.java create mode 100644 java/src/org/openmbee/sysml/classes/BindingConnectorAsUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/BooleanExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/CalculationDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/CalculationUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/CaseDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/CaseUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Class.java create mode 100644 java/src/org/openmbee/sysml/classes/ClassMap.java create mode 100644 java/src/org/openmbee/sysml/classes/Classifier.java create mode 100644 java/src/org/openmbee/sysml/classes/CollectExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/Comment.java create mode 100644 java/src/org/openmbee/sysml/classes/ConcernDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ConcernUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ConjugatedPortDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ConjugatedPortTyping.java create mode 100644 java/src/org/openmbee/sysml/classes/Conjugation.java create mode 100644 java/src/org/openmbee/sysml/classes/ConnectionDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ConnectionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Connector.java create mode 100644 java/src/org/openmbee/sysml/classes/ConnectorAsUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ConstraintDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ConstraintUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ConstructorExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/ControlNode.java create mode 100644 java/src/org/openmbee/sysml/classes/CrossSubsetting.java create mode 100644 java/src/org/openmbee/sysml/classes/DataType.java create mode 100644 java/src/org/openmbee/sysml/classes/DecisionNode.java create mode 100644 java/src/org/openmbee/sysml/classes/Definition.java create mode 100644 java/src/org/openmbee/sysml/classes/Dependency.java create mode 100644 java/src/org/openmbee/sysml/classes/Differencing.java create mode 100644 java/src/org/openmbee/sysml/classes/Disjoining.java create mode 100644 java/src/org/openmbee/sysml/classes/Documentation.java create mode 100644 java/src/org/openmbee/sysml/classes/ElementFilterMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/EndFeatureMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/EnumerationDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/EnumerationUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/EventOccurrenceUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ExhibitStateUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Expose.java create mode 100644 java/src/org/openmbee/sysml/classes/Expression.java create mode 100644 java/src/org/openmbee/sysml/classes/Feature.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureChainExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureChaining.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureInverting.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureReferenceExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureTyping.java create mode 100644 java/src/org/openmbee/sysml/classes/FeatureValue.java create mode 100644 java/src/org/openmbee/sysml/classes/Flow.java create mode 100644 java/src/org/openmbee/sysml/classes/FlowDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/FlowEnd.java create mode 100644 java/src/org/openmbee/sysml/classes/FlowUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ForLoopActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ForkNode.java create mode 100644 java/src/org/openmbee/sysml/classes/FramedConcernMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/Function.java create mode 100644 java/src/org/openmbee/sysml/classes/IfActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Impls.java create mode 100644 java/src/org/openmbee/sysml/classes/Import.java create mode 100644 java/src/org/openmbee/sysml/classes/IncludeUseCaseUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/IndexExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/InstantiationExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/Interaction.java create mode 100644 java/src/org/openmbee/sysml/classes/InterfaceDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/InterfaceUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Intersecting.java create mode 100644 java/src/org/openmbee/sysml/classes/Invariant.java create mode 100644 java/src/org/openmbee/sysml/classes/InvocationExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/ItemDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ItemUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/JoinNode.java create mode 100644 java/src/org/openmbee/sysml/classes/LibraryPackage.java create mode 100644 java/src/org/openmbee/sysml/classes/LiteralBoolean.java create mode 100644 java/src/org/openmbee/sysml/classes/LiteralExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/LiteralInfinity.java create mode 100644 java/src/org/openmbee/sysml/classes/LiteralInteger.java create mode 100644 java/src/org/openmbee/sysml/classes/LiteralRational.java create mode 100644 java/src/org/openmbee/sysml/classes/LiteralString.java create mode 100644 java/src/org/openmbee/sysml/classes/LoopActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Membership.java create mode 100644 java/src/org/openmbee/sysml/classes/MembershipExpose.java create mode 100644 java/src/org/openmbee/sysml/classes/MembershipImport.java create mode 100644 java/src/org/openmbee/sysml/classes/MergeNode.java create mode 100644 java/src/org/openmbee/sysml/classes/Metaclass.java create mode 100644 java/src/org/openmbee/sysml/classes/MetadataAccessExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/MetadataDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/MetadataFeature.java create mode 100644 java/src/org/openmbee/sysml/classes/MetadataUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Multiplicity.java create mode 100644 java/src/org/openmbee/sysml/classes/MultiplicityRange.java create mode 100644 java/src/org/openmbee/sysml/classes/Namespace.java create mode 100644 java/src/org/openmbee/sysml/classes/NamespaceExpose.java create mode 100644 java/src/org/openmbee/sysml/classes/NamespaceImport.java create mode 100644 java/src/org/openmbee/sysml/classes/NullExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/ObjectiveMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/OccurrenceDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/OccurrenceUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/OperatorExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/OwningMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/Package.java create mode 100644 java/src/org/openmbee/sysml/classes/ParameterMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/PartDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/PartUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/PayloadFeature.java create mode 100644 java/src/org/openmbee/sysml/classes/PerformActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/PortConjugation.java create mode 100644 java/src/org/openmbee/sysml/classes/PortDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/PortUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Predicate.java create mode 100644 java/src/org/openmbee/sysml/classes/Redefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ReferenceSubsetting.java create mode 100644 java/src/org/openmbee/sysml/classes/ReferenceUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Relationship.java create mode 100644 java/src/org/openmbee/sysml/classes/RenderingDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/RenderingUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/RequirementConstraintMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/RequirementDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/RequirementUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/RequirementVerificationMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/ResultExpressionMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/ReturnParameterMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/SatisfyRequirementUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/SelectExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/SendActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Specialization.java create mode 100644 java/src/org/openmbee/sysml/classes/StakeholderMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/StateDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/StateSubactionMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/StateUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/Step.java create mode 100644 java/src/org/openmbee/sysml/classes/Structure.java create mode 100644 java/src/org/openmbee/sysml/classes/Subclassification.java create mode 100644 java/src/org/openmbee/sysml/classes/SubjectMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/Subsetting.java create mode 100644 java/src/org/openmbee/sysml/classes/Succession.java create mode 100644 java/src/org/openmbee/sysml/classes/SuccessionAsUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/SuccessionFlow.java create mode 100644 java/src/org/openmbee/sysml/classes/SuccessionFlowUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/TerminateActionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/TextualRepresentation.java create mode 100644 java/src/org/openmbee/sysml/classes/TransitionFeatureMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/TransitionUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/TriggerInvocationExpression.java create mode 100644 java/src/org/openmbee/sysml/classes/Type.java create mode 100644 java/src/org/openmbee/sysml/classes/TypeFeaturing.java create mode 100644 java/src/org/openmbee/sysml/classes/Unioning.java create mode 100644 java/src/org/openmbee/sysml/classes/Usage.java create mode 100644 java/src/org/openmbee/sysml/classes/UseCaseDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/UseCaseUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/VariantMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/VerificationCaseDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/VerificationCaseUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ViewDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ViewRenderingMembership.java create mode 100644 java/src/org/openmbee/sysml/classes/ViewUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/ViewpointDefinition.java create mode 100644 java/src/org/openmbee/sysml/classes/ViewpointUsage.java create mode 100644 java/src/org/openmbee/sysml/classes/WhileLoopActionUsage.java create mode 100644 metamodel.json create mode 100644 pyproject.toml create mode 100644 python/demo.py create mode 100644 python/sysml/__init__.py create mode 100644 python/sysml/base.py create mode 100644 python/sysml/classes.py create mode 100644 python/sysml/classes.pyi create mode 100644 python/sysml/toolkit.py create mode 100644 python/sysml/toolkit_table.py create mode 100644 python/tests/conftest.py create mode 100644 python/tests/test_annex_a.py create mode 100644 python/tests/test_conformance_generated.py create mode 100644 python/tests/test_names.py create mode 100644 python/tests/test_queries.py create mode 100644 python/tests/test_runtime.py create mode 100644 python/tests/test_toolkit_backend.py create mode 100644 python/tests/test_toolkit_vs_payload.py create mode 100644 python/tests/toolkit_gaps.py create mode 100644 skills/sysml-sdk-cpp/SKILL.md create mode 100644 skills/sysml-sdk-csharp/SKILL.md create mode 100644 skills/sysml-sdk-java/SKILL.md create mode 100644 skills/sysml-sdk-python/SKILL.md create mode 100644 skills/sysml-sdk-typescript/SKILL.md create mode 100644 tools/check_packages.py create mode 100644 tools/compare_report.py create mode 100644 tools/export_example.py create mode 100644 tools/extract_metamodel.py create mode 100644 tools/gen_abi.py create mode 100644 tools/gen_classes.py create mode 100644 tools/gen_classes_cpp.py create mode 100644 tools/gen_classes_cs.py create mode 100644 tools/gen_classes_java.py create mode 100644 tools/gen_classes_ts.py create mode 100644 tools/gen_conformance.py create mode 100644 tools/gen_toolkit_table.py create mode 100644 tools/gen_toolkit_table_cpp.py create mode 100644 tools/gen_toolkit_table_cs.py create mode 100644 tools/gen_toolkit_table_java.py create mode 100644 tools/gen_toolkit_table_js.py create mode 100644 tools/naming.py create mode 100644 tools/package.py create mode 100644 tools/package_abi.py create mode 100644 tools/package_library.py create mode 100644 tools/release_notes.py create mode 100644 tools/rename.py create mode 100644 tools/third_party_notices.py create mode 100644 tools/toolkit_figures.py create mode 100644 tools/toolkit_needs.py create mode 100644 tools/verify_pin.py create mode 100644 ts/check_types.ts create mode 100644 ts/classes.d.ts create mode 100644 ts/conformance.generated.mjs create mode 100644 ts/demo.mjs create mode 100644 ts/index.d.ts create mode 100644 ts/index.mjs create mode 100644 ts/meta.mjs create mode 100644 ts/package.json create mode 100644 ts/runtime.mjs create mode 100644 ts/toolkit.mjs create mode 100644 ts/toolkit_checks.mjs create mode 100644 ts/toolkit_table.mjs create mode 100644 vendor/naming-table/PIN.json create mode 100644 vendor/naming-table/toolkit-api-names.csv create mode 100644 vendor/naming-table/toolkit-delegation-map.csv create mode 100644 vendor/nlohmann/LICENSE.MIT create mode 100644 vendor/nlohmann/PIN.json create mode 100644 vendor/nlohmann/json.hpp create mode 100644 vendor/sysml-toolkit/PIN.json create mode 100644 vendor/sysml-toolkit/crates/sysmlv2-model/src/schema_props.rs create mode 100644 vendor/sysml-toolkit/crates/sysmlv2-testkit/src/xmi_props.rs create mode 100644 vendor/sysml-toolkit/spec-refs/KerML.xmi create mode 100644 vendor/sysml-toolkit/spec-refs/SysML.xmi diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..bdaff41 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# Generated files are byte-compared in CI (drift check): everything text +# is LF everywhere; vendored inputs and test payloads keep their exact +# committed bytes (PIN.json hashes are newline-normalized separately). +* text=auto eol=lf +vendor/** -text +data/** -text diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..82c9783 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,550 @@ +name: CI + +# Pushes to work branches build nothing; a pull request, a push to main or a release branch, a +# version tag, or a run started by hand (Actions, "Run workflow") does. +on: + push: + branches: [main, "release/**"] + tags: ["v*"] + pull_request: + workflow_dispatch: + +jobs: + # The payload path reads JSON that is generated, not committed: the SysML Toolkit's exports of + # the example models and the standard library as JSON (tools/export_example.py). This job makes + # them with the pinned SysML Toolkit release on one Linux runner, cached until the SysML Toolkit + # pin or anything that shapes them changes, and every job that reads payloads downloads them. A + # version tag also packages the library JSON as a release asset. + example-json: + runs-on: ubuntu-latest + defaults: + run: + working-directory: sysml-sdk + steps: + - uses: actions/checkout@v4 + with: + path: sysml-sdk + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Read the SysML Toolkit pin + id: pin + run: | + python - >> "$GITHUB_OUTPUT" <<'EOF' + import json + k = json.load(open("vendor/sysml-toolkit/PIN.json"))["toolkit"] + print("repository=" + k["repository"].removeprefix("https://github.com/")) + print("tag=" + k["tag"]) + print("commit=" + k["commit"]) + EOF + - name: Cached example JSON + id: cache + uses: actions/cache@v4 + with: + path: sysml-sdk/example-json + key: example-json-${{ steps.pin.outputs.commit }}-${{ hashFiles('sysml-sdk/abi/Cargo.lock', 'sysml-sdk/abi/src/**', 'sysml-sdk/abi/examples/**', 'sysml-sdk/python/sysml/toolkit.py', 'sysml-sdk/tools/export_example.py', 'sysml-sdk/examples/**/*.sysml') }} + - uses: actions/checkout@v4 + if: steps.cache.outputs.cache-hit != 'true' || startsWith(github.ref, 'refs/tags/v') + with: + repository: ${{ steps.pin.outputs.repository }} + ref: ${{ steps.pin.outputs.tag }} + path: sysml-toolkit + - name: The SysML Toolkit checkout is the pinned commit, with the specification's library + if: steps.cache.outputs.cache-hit != 'true' || startsWith(github.ref, 'refs/tags/v') + run: | + test "$(git -C ../sysml-toolkit rev-parse HEAD)" = "${{ steps.pin.outputs.commit }}" + git -C ../sysml-toolkit submodule update --init --depth 1 spec-refs/SysML-v2-Release + - name: Generate the example JSON with the SysML Toolkit + if: steps.cache.outputs.cache-hit != 'true' + run: | + rustup toolchain install stable --profile minimal + rustup default stable + (cd abi && cargo build --release --locked) + python tools/export_example.py --library ../sysml-toolkit/spec-refs/SysML-v2-Release/sysml.library + for f in examples/vehicle.full.json examples/queries/models/pumps.full.json \ + examples/queries/models/drones.full.json examples/sysml.library.full.json; do + mkdir -p "example-json/$(dirname "$f")" + cp "$f" "example-json/$f" + done + - uses: actions/upload-artifact@v4 + with: + name: example-json + path: sysml-sdk/example-json + retention-days: 7 + if-no-files-found: error + - name: The library JSON as a release asset + if: startsWith(github.ref, 'refs/tags/v') + run: python tools/package_library.py example-json/examples/sysml.library.full.json --library-dir ../sysml-toolkit/spec-refs/SysML-v2-Release/sysml.library --out "$RUNNER_TEMP/library" + - uses: actions/upload-artifact@v4 + if: startsWith(github.ref, 'refs/tags/v') + with: + name: packages-library + path: ${{ runner.temp }}/library/* + if-no-files-found: error + + generate-and-test: + needs: example-json + runs-on: ubuntu-latest + env: + SYSML_REQUIRE_EXAMPLE_JSON: "1" + steps: + - uses: actions/checkout@v4 + # The generated example JSON, in place (see the example-json job). + - uses: actions/download-artifact@v4 + with: + name: example-json + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + - uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: Verify vendored input pin + run: python tools/verify_pin.py + + # The anti-drift gate: every generated artifact must be exactly what + # the checked-in metamodel.json (and pinned inputs) produce. + - name: Regenerate everything from pinned inputs + run: | + python tools/extract_metamodel.py + python tools/gen_toolkit_table.py + python tools/gen_toolkit_table_java.py + python tools/gen_toolkit_table_cs.py + python tools/gen_toolkit_table_cpp.py + python tools/gen_toolkit_table_js.py + python tools/gen_abi.py + python tools/gen_classes.py + python tools/gen_classes_ts.py + python tools/gen_classes_cs.py + python tools/gen_classes_java.py + python tools/gen_classes_cpp.py + python tools/gen_conformance.py + + - name: Fail on drift + run: | + if [ -n "$(git status --porcelain)" ]; then + echo "::error::generated files drifted from checked-in state" + git status --porcelain + git diff + exit 1 + fi + + - name: Python tests + demo + run: | + python -m pip install --quiet pytest + python -m pytest -q + python python/demo.py + python examples/python/tutorial.py --payload + python examples/queries/python/demo.py --payload | diff - examples/queries/expected/report.txt + + - name: TS tests + demo + run: | + node ts/demo.mjs + node ts/conformance.generated.mjs + node examples/typescript/tutorial.mjs + node examples/queries/typescript/demo.mjs --payload | diff - examples/queries/expected/report.txt + node ts/toolkit_checks.mjs + + - name: TS strict type check + working-directory: ts + run: npx -y -p typescript tsc --noEmit --strict --skipLibCheck check_types.ts index.d.ts + + csharp: + needs: example-json + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + # The generated example JSON, in place (see the example-json job). + - uses: actions/download-artifact@v4 + with: + name: example-json + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + - name: Build and run C# conformance + smoke + run: dotnet run --project csharp/OpenMBEE.SysML.Checks -c Release + - name: C# query example on the payload + run: | + dotnet build examples/queries/csharp -c Release + dotnet run --no-build -c Release --project examples/queries/csharp -- --payload | diff - examples/queries/expected/report.txt + + java: + needs: example-json + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + # The generated example JSON, in place (see the example-json job). + - uses: actions/download-artifact@v4 + with: + name: example-json + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "21" + - name: Build and run Java conformance + smoke + run: | + javac --enable-preview --release 21 -d /tmp/java-out $(find java/src -name '*.java') + java --enable-preview -cp /tmp/java-out org.openmbee.sysml.checks.Checks + java --enable-preview -cp /tmp/java-out org.openmbee.sysml.checks.ToolkitChecks + javac --enable-preview --release 21 -cp /tmp/java-out -d /tmp/java-out examples/queries/java/*.java + java --enable-preview -cp /tmp/java-out QueriesDemo --payload | diff - examples/queries/expected/report.txt + + cpp: + needs: example-json + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + # The generated example JSON, in place (see the example-json job). + - uses: actions/download-artifact@v4 + with: + name: example-json + - name: Build and run C++ conformance + smoke + run: | + g++ -std=c++17 -Wall -Werror -O0 -I cpp/include -I vendor \ + cpp/checks/checks.cpp cpp/checks/conformance.g.cpp -o /tmp/cpp-checks + g++ -std=c++17 -Wall -Werror -I cpp/include -I vendor cpp/checks/toolkit_checks.cpp -o /tmp/cpp-toolkit-checks && /tmp/cpp-toolkit-checks + /tmp/cpp-checks + g++ -std=c++17 -Wall -Werror -I cpp/include -I vendor examples/queries/cpp/demo.cpp -o /tmp/queries-demo -ldl + /tmp/queries-demo --payload | diff - examples/queries/expected/report.txt + + # The SysML Toolkit path on every platform: build the binding library against the pinned + # SysML Toolkit release and run every language through it. SYSML_REQUIRE_TOOLKIT makes a + # SysML Toolkit check that would skip itself fail instead, so this job cannot pass without + # exercising the SysML Toolkit. + toolkit: + name: toolkit (${{ matrix.target }}) + needs: example-json + # Four platforms, two of them macOS, cost many runner minutes: this job runs for a version tag, + # on main, and when started by hand (Actions, "Run workflow"), not on every push. + if: >- + github.event_name == 'workflow_dispatch' || + startsWith(github.ref, 'refs/tags/v') || + github.ref == 'refs/heads/main' + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + - os: macos-latest + target: aarch64-apple-darwin + deployment: "11.0" + - os: macos-15-intel + target: x86_64-apple-darwin + deployment: "10.12" + - os: windows-latest + target: x86_64-pc-windows-msvc + runs-on: ${{ matrix.os }} + env: + SYSML_REQUIRE_TOOLKIT: "1" + SYSML_REQUIRE_EXAMPLE_JSON: "1" + # The oldest macOS the library supports; the wheel's platform tag says the same. + MACOSX_DEPLOYMENT_TARGET: ${{ matrix.deployment }} + defaults: + run: + shell: bash + working-directory: sysml-sdk + steps: + # The binding library depends on the SysML Toolkit by the relative path ../../sysml-toolkit, + # so the two checkouts sit side by side. + - uses: actions/checkout@v4 + with: + path: sysml-sdk + # The generated example JSON, in place (see the example-json job). + - uses: actions/download-artifact@v4 + with: + name: example-json + path: sysml-sdk + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Read the SysML Toolkit pin + id: pin + run: | + python - >> "$GITHUB_OUTPUT" <<'EOF' + import json + k = json.load(open("vendor/sysml-toolkit/PIN.json"))["toolkit"] + print("repository=" + k["repository"].removeprefix("https://github.com/")) + print("tag=" + k["tag"]) + print("commit=" + k["commit"]) + EOF + - uses: actions/checkout@v4 + with: + repository: ${{ steps.pin.outputs.repository }} + ref: ${{ steps.pin.outputs.tag }} + path: sysml-toolkit + - name: The SysML Toolkit checkout is the pinned commit + run: test "$(git -C ../sysml-toolkit rev-parse HEAD)" = "${{ steps.pin.outputs.commit }}" + + - name: Rust toolchain + run: | + rustup toolchain install stable --profile minimal + rustup default stable + rustc -vV | grep -x "host: ${{ matrix.target }}" + - name: Build the binding library + working-directory: sysml-sdk/abi + run: cargo build --release --locked + + # The Annex A regression test reads the specification's example model and standard library + # from the SysML Toolkit's SysML-v2-Release submodule; one runner fetches it. + - name: The specification's example model and library + if: runner.os == 'Linux' + run: git -C ../sysml-toolkit submodule update --init --depth 1 spec-refs/SysML-v2-Release + + - name: Python through the SysML Toolkit + run: | + python -m pip install --quiet pytest + python -m pytest -q + python examples/python/tutorial.py + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "21" + # The query reports through the SysML Toolkit: tools/compare_report.py accepts a report the + # SysML Toolkit stopped only where toolkit_gaps.py (TOOLKIT_REPORT_REFUSALS) expects that + # refusal, and only when what it printed before stopping matches the expected report. + - name: Java through the SysML Toolkit + run: | + out="$RUNNER_TEMP/java-out" + javac --enable-preview --release 21 -d "$out" $(find java/src -name '*.java') + java --enable-preview -cp "$out" org.openmbee.sysml.checks.ToolkitChecks + javac --enable-preview --release 21 -cp "$out" -d "$out" examples/java/Tutorial.java + java --enable-preview -cp "$out" Tutorial --toolkit + javac --enable-preview --release 21 -cp "$out" -d "$out" examples/queries/java/*.java + queries() { java --enable-preview -cp "$out" QueriesDemo "$@" | tr -d '\r'; } + queries | python tools/compare_report.py examples/queries/expected/report.txt + R=../sysml-toolkit/spec-refs/SysML-v2-Release + if [ -d "$R/sysml.library" ]; then + queries --library "$R/sysml.library" | python tools/compare_report.py examples/queries/expected/report.txt + queries --annex-a "$R/sysml/src/examples/Vehicle Example/SysML v2 Spec Annex A SimpleVehicleModel.sysml" --library "$R/sysml.library" | python tools/compare_report.py examples/queries/expected/annex-a.txt + fi + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + - name: C# through the SysML Toolkit + run: | + dotnet run --project csharp/OpenMBEE.SysML.Checks -c Release + dotnet run --project examples/csharp -- --toolkit + dotnet build examples/queries/csharp -c Release + queries() { dotnet run --no-build -c Release --project examples/queries/csharp -- "$@" | tr -d '\r'; } + queries | python tools/compare_report.py examples/queries/expected/report.txt + R=../sysml-toolkit/spec-refs/SysML-v2-Release + if [ -d "$R/sysml.library" ]; then + queries --annex-a "$R/sysml/src/examples/Vehicle Example/SysML v2 Spec Annex A SimpleVehicleModel.sysml" --library "$R/sysml.library" | python tools/compare_report.py examples/queries/expected/annex-a.txt + fi + + # C++ on Windows stays a local check (MinGW); the runner's compilers are not set up for it. + - name: C++ through the SysML Toolkit + if: runner.os != 'Windows' + run: | + out="$RUNNER_TEMP/cpp-out" + mkdir -p "$out" + c++ -std=c++17 -Wall -Werror -I cpp/include -I vendor cpp/checks/toolkit_checks.cpp -o "$out/toolkit_checks" -ldl + "$out/toolkit_checks" + c++ -std=c++17 -Wall -Werror -I cpp/include -I vendor examples/cpp/tutorial.cpp -o "$out/tutorial" -ldl + "$out/tutorial" --toolkit + c++ -std=c++17 -Wall -Werror -I cpp/include -I vendor examples/queries/cpp/demo.cpp -o "$out/queries" -ldl + "$out/queries" | python tools/compare_report.py examples/queries/expected/report.txt + R=../sysml-toolkit/spec-refs/SysML-v2-Release + if [ -d "$R/sysml.library" ]; then + "$out/queries" --annex-a "$R/sysml/src/examples/Vehicle Example/SysML v2 Spec Annex A SimpleVehicleModel.sysml" --library "$R/sysml.library" | python tools/compare_report.py examples/queries/expected/annex-a.txt + fi + + # The WebAssembly build is the same on every platform; one runner builds and checks it. + - uses: actions/setup-node@v4 + if: runner.os == 'Linux' + with: + node-version: "22" + - name: WebAssembly build, and JavaScript through the SysML Toolkit + if: runner.os == 'Linux' + run: | + rustup target add wasm32-unknown-unknown + (cd abi && cargo build --release --locked --target wasm32-unknown-unknown) + node ts/toolkit_checks.mjs + node examples/typescript/tutorial.mjs --toolkit + node examples/queries/typescript/demo.mjs | python tools/compare_report.py examples/queries/expected/report.txt + R=../sysml-toolkit/spec-refs/SysML-v2-Release + node examples/queries/typescript/demo.mjs --annex-a "$R/sysml/src/examples/Vehicle Example/SysML v2 Spec Annex A SimpleVehicleModel.sysml" --library "$R/sysml.library" | python tools/compare_report.py examples/queries/expected/annex-a.txt + + - name: Package the binding library + run: | + python tools/package_abi.py ${{ matrix.target }} --out "$RUNNER_TEMP/dist" + if [ "$RUNNER_OS" = Linux ]; then + python tools/package_abi.py wasm32-unknown-unknown --out "$RUNNER_TEMP/dist" + fi + + - name: Python wheel for this platform, installed and read through + run: | + python -m pip install --quiet build wheel + python tools/package.py python --target ${{ matrix.target }} --out "$RUNNER_TEMP/dist" + python tools/check_packages.py python --dist "$RUNNER_TEMP/dist" + + # Packages that are the same on every platform and carry no native library: built and checked + # once. The jar, the NuGet package and the C++ archive carry every platform's binding library, + # so they are built in the portable job, from the archives of all four. + - name: The sdist and the npm package, installed and read through + if: runner.os == 'Linux' + run: | + python tools/package.py sdist --out "$RUNNER_TEMP/dist" + python tools/package.py npm --out "$RUNNER_TEMP/dist" + python tools/check_packages.py npm --dist "$RUNNER_TEMP/dist" + + - uses: actions/upload-artifact@v4 + with: + name: packages-${{ matrix.target }} + path: ${{ runner.temp }}/dist/* + if-no-files-found: error + + # The jar, the NuGet package and the C++ archive, each carrying the binding library of all four + # platforms: built once, from the binding library archives the SysML Toolkit job made on each. + portable: + needs: toolkit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + # JDK 25 compiles the SysML Toolkit backend for JDK 22 and later in the multi-release jar; + # JDK 21, installed last, stays the default. + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "25" + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "21" + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + - uses: actions/download-artifact@v4 + with: + pattern: packages-* + path: ${{ runner.temp }}/abi + merge-multiple: true + - name: Jar, NuGet package and C++ archive, with every platform's binding library + run: | + python tools/package.py java --javac22 "$JAVA_HOME_25_X64/bin/javac" --abi-archives "$RUNNER_TEMP/abi" --out "$RUNNER_TEMP/dist" + python tools/package.py csharp --abi-archives "$RUNNER_TEMP/abi" --out "$RUNNER_TEMP/dist" + python tools/package.py cpp --abi-archives "$RUNNER_TEMP/abi" --out "$RUNNER_TEMP/dist" + python - <<'EOF' + import glob, os, sys, zipfile + libs = ("sysmlv2_abi.dll", "libsysmlv2_abi.so", "libsysmlv2_abi.dylib") + dist = os.environ["RUNNER_TEMP"] + "/dist" + for f in sorted(glob.glob(dist + "/*")): + if f.endswith("-sources.jar"): + continue + n = sum(1 for e in zipfile.ZipFile(f).namelist() if e.rsplit("/", 1)[-1] in libs) + print(os.path.basename(f), "carries", n, "binding libraries") + if n != 4: + sys.exit(f"{f}: expected the binding library of four platforms") + EOF + - uses: actions/upload-artifact@v4 + with: + name: packages-portable + path: ${{ runner.temp }}/dist/* + if-no-files-found: error + + # Every platform installs the portable packages and reads through the binding library they + # carry, with SYSMLV2_ABI unset (check_packages.py --bundled), as a user of the release does. + portable-check: + name: portable packages (${{ matrix.os }}) + needs: [example-json, portable] + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest] + runs-on: ${{ matrix.os }} + env: + SYSML_REQUIRE_EXAMPLE_JSON: "1" + defaults: + run: + shell: bash + working-directory: sysml-sdk + steps: + - uses: actions/checkout@v4 + with: + path: sysml-sdk + - uses: actions/download-artifact@v4 + with: + name: example-json + path: sysml-sdk + - uses: actions/download-artifact@v4 + with: + name: packages-portable + path: ${{ runner.temp }}/dist + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + # The guides read the standard library from the SysML Toolkit's SysML-v2-Release submodule. + - name: Read the SysML Toolkit pin + id: pin + run: | + python - >> "$GITHUB_OUTPUT" <<'EOF' + import json + k = json.load(open("vendor/sysml-toolkit/PIN.json"))["toolkit"] + print("repository=" + k["repository"].removeprefix("https://github.com/")) + print("tag=" + k["tag"]) + EOF + - uses: actions/checkout@v4 + with: + repository: ${{ steps.pin.outputs.repository }} + ref: ${{ steps.pin.outputs.tag }} + path: sysml-toolkit + - name: The specification's library + run: git -C ../sysml-toolkit submodule update --init --depth 1 spec-refs/SysML-v2-Release + - uses: actions/setup-java@v4 + if: runner.os == 'Linux' + with: + distribution: temurin + java-version: "25" + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "21" + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + # C++ on Windows stays a local check (MinGW); the runner's compilers are not set up for it. + - name: Jar, NuGet package and C++ archive, through the binding library they carry + run: | + python tools/check_packages.py java --dist "$RUNNER_TEMP/dist" --bundled + if [ "$RUNNER_OS" = Linux ]; then + python tools/check_packages.py java --dist "$RUNNER_TEMP/dist" --bundled --java-home "$JAVA_HOME_25_X64" + fi + python tools/check_packages.py csharp --dist "$RUNNER_TEMP/dist" --bundled + if [ "$RUNNER_OS" != Windows ]; then + python tools/check_packages.py cpp --dist "$RUNNER_TEMP/dist" --bundled + fi + + # A version tag publishes a draft release with every package and the changelog section as its + # notes; the draft is made public by hand. A tag with a suffix (v0.1.0-rc1) is a prerelease. + release: + if: startsWith(github.ref, 'refs/tags/v') + needs: [example-json, generate-and-test, csharp, java, cpp, toolkit, portable, portable-check] + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: The packages carry the tag's version, and the changelog has its section + run: python tools/release_notes.py "$GITHUB_REF_NAME" > "$RUNNER_TEMP/notes.md" + - uses: actions/download-artifact@v4 + with: + pattern: packages-* + path: ${{ runner.temp }}/dist + merge-multiple: true + - name: Draft release + env: + GH_TOKEN: ${{ github.token }} + run: | + prerelease="" + case "$GITHUB_REF_NAME" in *-*) prerelease="--prerelease" ;; esac + gh release create "$GITHUB_REF_NAME" "$RUNNER_TEMP"/dist/* --draft $prerelease --title "sysml-sdk ${GITHUB_REF_NAME#v}" --notes-file "$RUNNER_TEMP/notes.md" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f2712e7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +__pycache__/ +*.pyc +.pytest_cache/ +node_modules/ +dist/ +build/ +*.egg-info/ +.venv/ +bin/ +obj/ +java/out/ +cpp/out/ +examples/java/out/ +examples/cpp/tutorial +examples/cpp/tutorial.exe +# Copies the packaging tools place and remove (tools/package.py) +python/sysml/_native/ +ts/sysmlv2_abi.wasm +ts/LICENSE +ts/NOTICE + +# Query example build outputs +examples/queries/java/out/ + +# Generated by tools/export_example.py (the SysML Toolkit's exports of the example models, and +# the standard library as JSON); never committed +examples/vehicle.full.json +examples/queries/models/*.full.json +examples/sysml.library.full.json + +# Binding libraries tools/package.py stages for the NuGet package +csharp/*/runtimes/ +csharp/*/THIRD-PARTY/ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9850428 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,127 @@ +# Changelog + +## 0.1.0, preview + +The first release. + +### Added + +- The SDK for Python, JavaScript/TypeScript, Java, C# and C++, generated from one table of the + KerML and SysML metamodels (175 metaclasses, every property and every operation under its + specification name). +- Two backends in every language: the OpenMBEE SysML Toolkit (`Open-MBEE/sysml-toolkit` + `v0.10.0`), through the binding library, and full-form interchange JSON payloads. +- Properties are read through the SysML Toolkit's checked reader, by their specification names, + owned or derived. It answers what it can derive completely and refuses the rest with its + reason, raised as `NotImplementedInToolkit`; a value the SysML Toolkit cannot vouch for is + never passed on. +- Specification operations are evaluated through the SysML Toolkit's operation entry point, by + their declaration. Their parameters and results have the specification's types in every language + (an element list, one element, a Boolean, text); `resolve` returns the Membership the + specification defines. +- The binding library for Windows x64, Linux x64, macOS on Apple silicon and on Intel, and + WebAssembly. +- A full-form JSON export of a model read by the SysML Toolkit, at the closure level (inherited and + imported members included) or the owned-side level. +- Packages: a Python wheel per platform with the binding library inside, and an sdist; an npm + package with the WebAssembly build inside; a jar for JDK 21 and later, a NuGet package and a C++ + header archive, each with the binding library of Windows x64, Linux x64 and macOS (Apple silicon + and Intel) inside; the binding library per platform on its own. The jar copies its library out + on first use, .NET finds the NuGet package's, and a C++ program the one beside its executable; + `SYSMLV2_ABI` overrides them all. Every package that carries the binding library also carries the + notices of what it compiles in: `THIRD-PARTY-NOTICES.txt` for the SysML Toolkit and the Rust + crates, and `RUST-STANDARD-LIBRARY-NOTICES.html` for the Rust standard library. +- The same runtime surface in every language: the members of the metaclass `Element` on any element + (`name`, `owner`, `qualifiedName`, ..., `effectiveName()`), a model's elements (`all()`), those of + one metaclass, and its top-level namespaces; the elements of one model compare and hash by their + element id. The SysML Toolkit backend reads the standard library from a directory in every + language, and in JavaScript also from the library's files given as sources, in a browser as well. + A model file or library directory that does not exist is named in the error. +- The standard library, `sysml_library-.zip`, in the two forms the backends read: the + library models as the SysML v2 release has them (`sysml.library/`, for the SysML Toolkit), and the + library as full-form JSON written by the SysML Toolkit under the element ids KerML 9.1 and + SysML 9.1 prescribe for the library (`sysml.library.full.json`), with `PayloadLibrary` in every + language: read it once and pass it with a payload model, and the model's references into the + library resolve against it. Its elements are not listed as the model's. Both are licensed under + the Eclipse Public License 2.0, as the library models are, not under the SDK's Apache-2.0; the + archive's NOTICE names the source and the copyright holders. +- A guide per language (`examples//README.md`) with the code that reads a model through + the SysML Toolkit and from a JSON export, ready to copy, and the first queries; the package checks + run that code against the installed packages. +- A skill per language for coding agents (`skills/`), with tested helper functions that read what + the model states where the SysML Toolkit refuses a derived property (types, inherited features, + bound values, multiplicities, connector ends, subjects, initial and reachable states). +- Query examples (`examples/queries/`): reachable states and shortest trigger sequences, bills of + materials, attribute roll-ups, connectivity and requirement checks over two example models and the + specification's Annex A vehicle, in every language, each printing the same report. Through the + SysML Toolkit a report stops at the first read the SysML Toolkit refuses and says so; through a + payload it runs in full. +- Tests: where the SysML Toolkit does not answer a member yet, the test that needs it is an expected + failure, listed with the member and the reason in `python/tests/toolkit_gaps.py`; it fails when it + starts to pass, and when it stops on anything else. + +### Known limitations + +What the SysML Toolkit does not compute completely is refused with `NotImplementedInToolkit`; +nothing in this list returns an invented value through the SysML Toolkit backend. Where the +SysML Toolkit answers differently from the specification, it is listed here. + +The SysML Toolkit backend: + +- **Much of what builds on inheritance is refused.** The checked reader does not answer yet the + inherited and computed member lists (`feature`, `inheritedFeature`, `inheritedMembership`, + `featureMembership`, `member`, `membership`, `importedMembership`, `endFeature`, `input`, `output`, + `usage` and the usage lists built on them), a feature's `type` and `featuringType` in most cases, + `definition` and the kind-specific definitions (`partDefinition`, `itemDefinition`, ...), + `parameter`, connector ends (`sourceFeature`, `targetFeature`, `connectorEnd`), the parameters of + requirements and cases (`subjectParameter`, `actorParameter`, `stakeholderParameter`), and the + `result` of expressions and functions. On the specification's Annex A + model with the library, 12.8 % of all property reads are refused. The relationships these are + derived from are answered: `ownedTyping`, `ownedSubclassification`, `ownedSubsetting`, + `ownedRedefinition`, `ownedFeature` and `ownedMember` (the guides show how to read them). +- **A part of the specification operations is evaluated:** 33 of the 103 operation declarations, + among them `resolve`, `resolveLocal`, `resolveGlobal`, `resolveVisible`, `effectiveName()`, + `effectiveShortName()`, `inheritedMemberships(...)`, `supertypes(...)` and `evaluate(...)`. The + others, such as `isCompatibleWith`, `specializes` and `allSupertypes`, raise + `NotImplementedInToolkit`. +- **Some references do not resolve** that should, in the specification's own example model among + others (19 references there): names that meet through recursive imports. Reading them raises + `UnresolvedReference`. +- **`isVariable` and `mayTimeVary` of many features, and `isConstant` of some, are refused.** +- **Conditional operands are built as the expressions themselves.** The second operand of `and`, + `or`, `implies` and `??`, and the branches of `if`, are the operand expressions, where the + specification wraps each in a reference to it. + +A payload, and the SysML Toolkit's JSON export: + +- **A payload holds what its writer wrote.** The SysML Toolkit's export is written by its + compatibility path, not by the checked reader: it writes a value for properties the checked + reader refuses, and where the SysML Toolkit has no value, a stand-in the payload backend reads as + the answer (null or an empty list). Only the SysML Toolkit backend can say that a member is not + computed. +- **An alias hides the membership of the feature it names from inheritance:** in the export, a + specialization of a type that has a feature `x` and `alias ax for x;` inherits the membership + `ax`, but not the membership of `x` itself. +- **Exports made with the SysML Toolkit's command-line tool** are written at the owned-side level: + the inherited and imported member lists are empty and the inheritance-aware properties list only + what an element owns. The SDK's own export writes the closure level by default. +- **An unresolved reference in an export** is carried by elements the SysML Toolkit adds for it, + which appear in the owner's `ownedRelationship`. +- **An export contains the model's own elements, not the standard library's.** Reading a reference + into the library raises `UnresolvedReference` unless the payload model is given the library JSON. + A model exported without the library loaded refers to library names by ids that resolve nowhere. +- **The library JSON holds each library element's own side.** Its inherited and imported member + lists are empty, and properties such as `feature` list owned members only: the SysML Toolkit + exports the library only as a compact array, and its full-form completion of that array writes the + owned side. References inside the library that do not resolve carry the SysML Toolkit's recovery + annotations. + +Platforms and packages: + +- Java needs `--enable-preview` on JDK 21; from JDK 22 on it does not. +- The Linux library is built on Ubuntu 24.04; older glibc versions are not tested. +- The C++ package is tested with GCC on Linux and with Apple Clang on macOS in CI, and with MinGW GCC + on Windows by hand. +- On macOS a library downloaded through a web browser is quarantined; remove the attribute with + `xattr -d com.apple.quarantine`. +- The packages are release assets only; they are not on the language registries yet. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4e1ad6d --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2026 Planetary Utilities + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..0ff9e79 --- /dev/null +++ b/NOTICE @@ -0,0 +1,7 @@ +SysML v2 SDK +Copyright 2026 Planetary Utilities + +Licensed under the Apache License, Version 2.0 (see LICENSE). + +Contributors: + Vince Molnár diff --git a/README.md b/README.md index 5fa112e..af42aca 100644 --- a/README.md +++ b/README.md @@ -1 +1,309 @@ -Spec-shaped, object-oriented SDK for working with SysML v2 and KerML models, generated from the OMG metamodel for Python, Java, JavaScript/TypeScript, C#, and C++, with direct kernel and interchange JSON backends. +# sysml-sdk + +The SysML v2 SDK: read SysML v2 and KerML models from Python, JavaScript/TypeScript, Java, C# and +C++, through an API that has the shape of the OMG specification. Every class, property and +operation of the KerML and SysML metamodels is there under its specification name +(`ownedFeature`, `qualifiedName`, `effectiveName()`), and the generated classes form the metaclass +hierarchy, so `isinstance`, `instanceof` and their equivalents follow the specification's +generalizations. + +A model is read through one of two backends, with the same classes over both: + +- **the SysML Toolkit**: the OpenMBEE SysML Toolkit + ([Open-MBEE/sysml-toolkit](https://github.com/Open-MBEE/sysml-toolkit), release `v0.10.0`), + reached through this SDK's binding library. It reads `.sysml` and `.kerml` text, resolves names, + computes derived properties and evaluates specification operations; +- **a payload**: a model exported as full-form interchange JSON by any SysML v2 tool, read with no + native code at all. + +The SDK never guesses. A property read returns what the SysML Toolkit computed or what the payload +holds. A member the SysML Toolkit does not answer raises `NotImplementedInToolkit` with the +SysML Toolkit's reason, and a reference that does not resolve raises `UnresolvedReference`; nothing +is silently empty. + +This is release 0.1.0, a preview. The payload backend is the dependable path; the SysML Toolkit +backend is a preview of the SysML Toolkit's own coverage. What the SysML Toolkit does not answer yet +is listed under **Known limitations** in [CHANGELOG.md](CHANGELOG.md); [STATUS.md](STATUS.md) has +the numbers. + +## Get started + +Each guide shows how to install the package, the code that reads a model through the SysML Toolkit +and the code that reads a JSON export, ready to copy with your file names, and the first queries. +The code in the guides is run against the release packages before every release. + +| Language | Guide | Runnable tutorial | Skill for coding agents | +|---|---|---|---| +| Python | [examples/python](examples/python/README.md) | [tutorial.py](examples/python/tutorial.py) | [sysml-sdk-python](skills/sysml-sdk-python/SKILL.md) | +| JavaScript / TypeScript | [examples/typescript](examples/typescript/README.md) | [tutorial.mjs](examples/typescript/tutorial.mjs) | [sysml-sdk-typescript](skills/sysml-sdk-typescript/SKILL.md) | +| Java | [examples/java](examples/java/README.md) | [Tutorial.java](examples/java/Tutorial.java) | [sysml-sdk-java](skills/sysml-sdk-java/SKILL.md) | +| C# | [examples/csharp](examples/csharp/README.md) | [Tutorial.cs](examples/csharp/Tutorial.cs) | [sysml-sdk-csharp](skills/sysml-sdk-csharp/SKILL.md) | +| C++ | [examples/cpp](examples/cpp/README.md) | [tutorial.cpp](examples/cpp/tutorial.cpp) | [sysml-sdk-cpp](skills/sysml-sdk-cpp/SKILL.md) | + +In Python, the whole thing is: + +```python +from sysml import Model + +model = Model.from_toolkit("model.sysml", library_dir="sysml.library") +vehicle = model.resolve("Vehicles::Vehicle") +print([feature.declaredName for feature in vehicle.ownedFeature]) +``` + +[examples/queries/](examples/queries/README.md) goes further: parametric queries over whole models +(reachable states with trigger sequences, bills of materials, roll-ups, connectivity, requirement +checks), the same in every language and printing the same report. + +## Install + +The release assets of each version carry one package per language, the binding library for each +platform, and the standard library. The packages are not on the public registries yet. + +| Language | Asset | Install | SysML Toolkit backend | +|---|---|---|---| +| Python 3.10+ | `sysml-0.1.0-py3-none-.whl` | `pip install sysml-0.1.0-py3-none-.whl` | included in the wheel | +| JavaScript / TypeScript (Node 20+, browsers) | `sysml-0.1.0.tgz` | `npm install ./sysml-0.1.0.tgz` | included, as WebAssembly | +| Java 21+ | `sysml-sdk-0.1.0.jar` | put it on the class path | included in the jar | +| C# (.NET 8) | `OpenMBEE.SysML.0.1.0.nupkg` | `dotnet add package OpenMBEE.SysML --version 0.1.0 --source ` | included in the package | +| C++17 | `sysml-sdk-cpp-0.1.0.zip` | put its `include/` on the include path (header-only) | included in the archive (`lib//`): copy it beside your program | + +- **The standard library**, `sysml_library-0.1.0.zip`: `sysml.library/` holds the library's + models, for the SysML Toolkit (pass the directory when a session opens), and + `sysml.library.full.json` the same library as JSON, for payloads. Most models refer to it + (`ScalarValues::Real`, `ISQ::mass`, and implicitly `Parts::parts` and the like). It is the + SysML v2 release's library, under the Eclipse Public License 2.0. +- **The binding library** comes with every package: the wheel carries the one for its platform, + the npm package the WebAssembly build, and the jar, the NuGet package and the C++ archive one for + each of Windows x64, Linux x64, and macOS on Apple silicon and on Intel. The jar copies its library out on first use and loads it; .NET finds the + NuGet package's; a C++ program finds the one beside its executable. `SYSMLV2_ABI` (and + `SYSMLV2_ABI_WASM` for JavaScript) overrides it with another build. The release also has each + platform's library on its own, `sysmlv2_abi-0.1.0-.zip` (Windows) and `.tar.gz` (others), + each with a README. + +| Platform | Target | Wheel tag | +|---|---|---| +| Windows x64 | `x86_64-pc-windows-msvc` | `win_amd64` | +| Linux x64 (glibc; built on Ubuntu 24.04) | `x86_64-unknown-linux-gnu` | `linux_x86_64` | +| macOS, Apple silicon (11 or later) | `aarch64-apple-darwin` | `macosx_11_0_arm64` | +| macOS, Intel (10.12 or later) | `x86_64-apple-darwin` | `macosx_10_12_x86_64` | +| Anywhere JavaScript runs | `wasm32-unknown-unknown` | (in the npm package) | + +Java: on JDK 21 run with `--enable-preview`, because the foreign function API the SysML Toolkit +backend uses is a preview there; from JDK 22 on nothing is needed. The jar serves both. Add +`--enable-native-access=ALL-UNNAMED` to silence the JDK's warning about native access. On macOS, a +library downloaded through a web browser is quarantined and will not load until the attribute is +removed: `xattr -d com.apple.quarantine libsysmlv2_abi.dylib`. + +## The two backends + +**The SysML Toolkit** answers from the model itself, through its checked reader: a property is +read by its specification name, owned or derived, and the SysML Toolkit answers only what it can +derive completely. Where it cannot yet, it refuses, and the SDK raises `NotImplementedInToolkit` +with the SysML Toolkit's reason rather than pass on a value that might be wrong. The relationships +a derived property is computed from belong to the model and are answered, so the guides show both: +catching a refusal, and reading what the model states (a feature's `ownedTyping` for its `type`, a +definition's `ownedSubclassification` for its supertypes). + +Specification operations go through the SysML Toolkit's operation entry point by their +declaration, with the specification's parameter and result types. The SysML Toolkit has a body for +a part of them (`effectiveName()`, `resolve`, `resolveGlobal`, `visibleMemberships(...)`, +`supertypes(...)`, `evaluate(...)`, ...) and answers a call only where its evidence for the model +at hand is complete; it refuses the others, like a property read. + +The SysML Toolkit reads the standard library from a directory given when the session opens: +`library_dir` in Python, the last argument of +`ToolkitBackend.open(library, paths, sources, libraryDir)` in Java and of `ToolkitBackend.Open(...)` +in C#, and of `ToolkitBackend::open(paths, sources, library_dir)` in C++. The WebAssembly build +reads no files itself: in JavaScript pass `libraryDir` in Node, or the library's files as +`librarySources` (each file's name, without its directories, to its text), which works in a +browser too. The library loads as a library: its elements are not listed as the model's, and they +report `isLibraryElement`. + +The SysML Toolkit also writes the model back out as full-form JSON: `full_json()` in Python, +`fullJson()` in JavaScript and Java, `FullJson()` in C#, `full_json()` in C++. By default the +export is written at the closure level, with inherited and imported members filled in; `closures` +false writes the owned side only, as the SysML Toolkit's command-line tool does. + +**A payload** answers with what its writer wrote, and nothing else: it needs no native code, and it +cannot tell a computed value from a stand-in its writer put where it had none. Operations cannot be +evaluated on a payload and raise `NotImplementedInToolkit`. A reference to an element the payload +does not contain raises `UnresolvedReference`. + +A payload refers to the standard library's elements without containing them, by the element ids +KerML 9.1 and SysML 9.1 prescribe for the library. Read the release's library JSON once as a +`PayloadLibrary` and pass it with each payload model: the model's references into the library then +resolve against it. The library's elements are not the model's, so `all`, `roots` and +`elements_of_type` list the payload's own, as the SysML Toolkit does with its library, and a +qualified name is looked up in the payload first. The library JSON holds each library element's own +side: its inherited members are not listed. A model exported without the library loaded refers to +library names by ids that resolve nowhere; export with the library. + +Every language has the same three errors: `NotImplementedInToolkit` (a member not answered), +`UnresolvedReference` (a reference that does not resolve), `Gone` (an element that is no longer +there); in Java and C# they end in `Exception`, in C++ they are `not_implemented_in_toolkit`, +`unresolved_reference` and `gone`. + +## Names + +Each language follows its own conventions for package names. + +| Language | Package | In your code | +|---|---|---| +| Python | `sysml` | `import sysml` | +| JavaScript / TypeScript | `sysml` | `import { Model } from "sysml";` | +| Java | `sysml-sdk` jar | `org.openmbee.sysml` and `org.openmbee.sysml.classes` | +| C# | `OpenMBEE.SysML` | `using OpenMBEE.SysML;` | +| C++ | header-only | namespace `sysml` | + +In the specification, properties and operations are separate members of a class, and every +language shows at the call site which one it uses. + +- Java and C++ read every property through a getter: `get` followed by the specification name + with its first letter capitalized (`getQualifiedName()`, `getOwnedFeature()`, and for Booleans + `getIsAbstract()`). Operations keep their specification names (`effectiveName()`, + `specializes(...)`). +- Python, C# and TypeScript read properties with property syntax under the specification name + (`el.qualifiedName`) and call operations by theirs (`el.effectiveName()`). Where an operation + shares its name with a property of the same class, the operation takes a suffix: + `instantiatedType` is a property of `InstantiationExpression` and its subclasses, and the + operation of that name is `instantiatedType_op()` in Python and `instantiatedTypeOp()` in C# + and TypeScript. TypeScript also suffixes the one operation whose name JavaScript reserves for + its own protocols: `MultiplicityRange.valueOf` is `valueOfOp()`. + +Every class carries every member it has, whether it declares it or inherits it. The members of the +metaclass `Element` itself (`name`, `owner`, `qualifiedName`, `documentation`, `isLibraryElement`, +`effectiveName()`, ...) are on the runtime element type too, so an element held without its class +(what `owner` returns) answers them without being narrowed first. Runtime members that are not in the +specification are spelled so they can never collide with it: `element_id` and `metaclass_name` in +Python, `$id` and `$metaclass` in Java and TypeScript, `ElementId` and `MetaclassName` in C#, +`element_id()` and `metaclass_name()` in C++. + +Every model offers the same helpers: its elements (`all()`, `All()`), those of one metaclass +(`elements_of_type`, `elementsOfType`, `ElementsOfType()`), and its top-level namespaces +(`roots`). Elements compare, and hash, by their element id. + +## Skills for coding agents + +[skills/](skills/) holds one skill per language (`sysml-sdk-python`, `sysml-sdk-typescript`, +`sysml-sdk-java`, `sysml-sdk-csharp`, `sysml-sdk-cpp`), in the Agent Skills format. A skill +gives a coding agent what it needs to write working code against the SDK from a one-line request +("which parts does this model's vehicle have?"): how to load a model with either backend, the shape +of the API, navigation recipes for common SysML questions (parts, typing, connections and ports, +states, requirements, multiplicities, attribute roll-ups, expressions), tested helper functions for +the reads the SysML Toolkit refuses, and how to check the result. + +To use one, copy its folder into your agent's skills directory; for Claude Code that is +`.claude/skills/` in a project, or `~/.claude/skills/` for all projects: + +```sh +cp -r skills/sysml-sdk-python ~/.claude/skills/ +``` + +## Building from source + +The binding library (`abi/`) is a Rust crate that depends on the SysML Toolkit by path: clone it +beside this repository, under its own name `sysml-toolkit`, at the tag +`vendor/sysml-toolkit/PIN.json` names under `toolkit` (`v0.10.0`). [abi/README.md](abi/README.md) +has the build, the WebAssembly build, and how to move to a newer SysML Toolkit release. + +```sh +git clone --branch v0.10.0 https://github.com/Open-MBEE/sysml-toolkit +git -C sysml-toolkit submodule update --init --depth 1 spec-refs/SysML-v2-Release # the standard library, for the tests +cd sysml-sdk/abi && cargo build --release # the native library, into abi/target/release +cargo build --release --target wasm32-unknown-unknown # the WebAssembly build +``` + +The payload backend needs nothing but each language's own toolchain. + +### Layout + +| Path | What | +|---|---| +| `metamodel.json` | The table every language is generated from: the metaclass hierarchy, every class's properties with their types and redefinitions, and its operations with their parameters. | +| `python/sysml/` | Python: the runtime (`base.py`), the SysML Toolkit backend over `ctypes` (`toolkit.py`), the generated classes. | +| `ts/` | JavaScript and TypeScript: the runtime, the SysML Toolkit backend over the WebAssembly build (`toolkit.mjs`, Node and browser alike), the generated declarations and metadata. | +| `java/` | Java, with no dependencies and no build tool: the runtime, the SysML Toolkit backend over the foreign function API, the generated interfaces, and checks. | +| `csharp/` | C#: the library (runtime, SysML Toolkit backend over P/Invoke, generated interfaces) and a checks project. | +| `cpp/` | C++17, header-only: the runtime, the SysML Toolkit backend loading the library at run time, the generated structs, and checks. JSON through the vendored nlohmann/json. | +| `abi/` | The binding library: the C interface over the SysML Toolkit that every language uses. | +| `tools/` | The extractor, the generators, the packaging and package-check scripts, and the naming tools. | +| `vendor/` | Pinned inputs: the specification's XMI and the SysML Toolkit's property tables, the naming table of the binding library, nlohmann/json. Each `PIN.json` records provenance and hashes. | +| `examples/` | The guides and tutorials, one per language, and the query examples (`examples/queries/`): the same parametric queries in every language, printing the same report. | +| `skills/` | One skill per language for coding agents that write code against the SDK. | +| `data/`, `python/tests/`, `*/checks` | Test payloads, tests, and the generated conformance checks per language. | + +### Regenerate + +```sh +python tools/extract_metamodel.py # vendored XMI and property tables -> metamodel.json +python tools/gen_toolkit_table.py # the dispatch table of each SysML Toolkit backend (also + # _java, _cs, _cpp, _js), from vendor/naming-table/ +python tools/gen_classes.py # the Python classes (also _ts, _cs, _java, _cpp) +python tools/gen_conformance.py # the conformance checks of every language +python tools/gen_abi.py # abi/src/generated.rs +python tools/export_example.py --library + # the example JSON, through the SysML Toolkit: the payloads + # (examples/vehicle.full.json, examples/queries/models/*.full.json) + # and the standard library (examples/sysml.library.full.json) +``` + +Generated files are never edited by hand; CI regenerates them and fails on any difference. The +example JSON is not committed at all: CI generates it once per SysML Toolkit pin and every job that +reads payloads downloads it, and `tools/package_library.py` packages the library archive as a +release asset. `tools/naming.py` holds every naming rule and the package names; `tools/rename.py` +changes those names across the repository. + +### Test + +```sh +python -m pytest -q # runtime, conformance, the SysML Toolkit (Annex A needs the + # sysml-toolkit checkout's spec-refs/SysML-v2-Release) +python python/demo.py +node ts/demo.mjs && node ts/conformance.generated.mjs && node ts/toolkit_checks.mjs +dotnet run --project csharp/OpenMBEE.SysML.Checks -c Release +javac --enable-preview --release 21 -d java/out $(find java/src -name '*.java') +java --enable-preview -cp java/out org.openmbee.sysml.checks.Checks +java --enable-preview -cp java/out org.openmbee.sysml.checks.ToolkitChecks +g++ -std=c++17 -Wall -Werror -O0 -I cpp/include -I vendor cpp/checks/checks.cpp cpp/checks/conformance.g.cpp -o cpp/out/checks && cpp/out/checks +g++ -std=c++17 -Wall -Werror -I cpp/include -I vendor cpp/checks/toolkit_checks.cpp -o cpp/out/toolkit_checks && cpp/out/toolkit_checks +cd abi && cargo test --release --lib && python smoke.py ../examples/vehicle.sysml +``` + +The query examples print one report in every language; each run is compared with +`examples/queries/expected/` (see [examples/queries/README.md](examples/queries/README.md)). + +Where the SysML Toolkit does not answer a member yet, the tests that need it are expected failures, +not passes and not failures. `python/tests/toolkit_gaps.py` lists each with the member the +SysML Toolkit refuses and why; pytest reports them as `xfailed`, a listed test that starts to pass +fails until its row is removed, and one that stops on anything else fails. The SysML Toolkit check +programs of the other languages mark theirs the same way (`expected failure: ...`). A query report +read through the SysML Toolkit stops where the SysML Toolkit refuses a read; +`tools/compare_report.py` accepts it only at a refusal the same module lists, and only when what the +report printed up to there equals the expected report: + +```sh +python examples/queries/python/demo.py | python tools/compare_report.py examples/queries/expected/report.txt +``` + +The SysML Toolkit checks skip themselves when the binding library is not built; with +`SYSML_REQUIRE_TOOLKIT=1` a skip is a failure, which is how CI runs them. On Windows with MinGW, +add `-static` to the C++ commands, and `-Wa,-mbig-obj` for the conformance file. On Linux, add +`-ldl` to the SysML Toolkit checks. + +The packages are built with `python tools/package.py ` and +checked with `python tools/check_packages.py --dist `, which +installs each one somewhere empty, reads the example model through it, and runs the language's +guide against it. + +## License + +Copyright 2026 Planetary Utilities. Apache-2.0, see [LICENSE](LICENSE); the contributors are listed +in [NOTICE](NOTICE), which every package carries. The C++ package includes nlohmann/json, under the +MIT license (`vendor/nlohmann/LICENSE.MIT`). The packages that carry the binding library also carry +the notices of the Rust crates compiled into it (`THIRD-PARTY-NOTICES.txt`, +`RUST-STANDARD-LIBRARY-NOTICES.html`). + +The standard library archive (`sysml_library-.zip`) is not covered by the SDK's license. +It holds the SysML v2 release's library models, and a JSON form made from them, both under the +Eclipse Public License 2.0; the archive carries that license and a NOTICE with the models' source +and copyright holders. diff --git a/STATUS.md b/STATUS.md new file mode 100644 index 0000000..a6098b5 --- /dev/null +++ b/STATUS.md @@ -0,0 +1,60 @@ +# Status + +Release 0.1.0, a preview, on the OpenMBEE SysML Toolkit release `Open-MBEE/sysml-toolkit` `v0.10.0`. + +## What is there + +- **Five languages, two backends.** Python, JavaScript/TypeScript, Java, C# and C++ each read a model + through the SysML Toolkit or from a full-form interchange JSON payload, with the same generated + surface over both. +- **The whole metamodel.** 175 KerML and SysML metaclasses with their hierarchy; every property of + every class (13,311 class-property pairs, inherited ones included) under its specification name + and type; every operation (103 declarations) with typed parameters. Redefinitions are recorded, + for properties and for operations. Table `metamodel.json`, from the specification's XMI of + 2025-02-01. +- **The SysML Toolkit backend**, through the binding library in `abi/`: one C function per member. + Every property is read through the SysML Toolkit's checked reader by specification name, so what + the SysML Toolkit can derive reaches every language without a change here, and what it cannot is + refused with its reason. Every operation goes through the SysML Toolkit's operation entry point; + the SysML Toolkit evaluates 33 of the 103 operation declarations and refuses the others. +- **Platforms.** Native libraries for Windows x64, Linux x64, macOS on Apple silicon and on Intel, + built and tested by CI on each; a WebAssembly build for JavaScript in Node and browsers. +- **Packages** for every language, built and installed from scratch by CI before each release, + with each language's guide run against them. + +## How far the SysML Toolkit goes + +On the specification's own example, the Annex A vehicle model with the standard library, every +property of every one of its 6,405 elements was read through the SysML Toolkit (363,583 reads): + +| Outcome | Reads | +|---|---| +| a value | 134,104 | +| empty (no value in the model, or an empty list) | 182,917 | +| refused: the SysML Toolkit cannot derive the member completely yet | 46,479 | +| a reference that does not resolve | 83 | + +The refusals are concentrated in what builds on inheritance (`feature`, `inheritedFeature`, +`membership`, `usage`, and a feature's `type`); the relationships those derive from are answered. +These numbers are pinned in the test suite (`python/tests/toolkit_gaps.py`); a new SysML Toolkit +release that answers more changes them, and the table moves with the pin. What the SysML Toolkit +answers differently from the specification is listed under **Known limitations** in `CHANGELOG.md`. + +## Testing + +- Generated conformance checks per language: every class, property and operation of the table is + present, typed and dispatched. +- SysML Toolkit checks per language, on every CI platform, which fail rather than skip in CI. +- The Annex A regression test: invariants of the specification that hold whatever the SysML Toolkit + computes, and the SysML Toolkit's known gaps, each with its reason. +- A differential test: every property of every element through the SysML Toolkit against its own + closure-level export read as a payload. +- Expected failures: a test that meets a refusal by the SysML Toolkit is listed with the refused + member; it fails when it starts to pass. +- Package checks: each package installed somewhere empty, read through, and its language's guide + run against it. + +## Next + +- Newer SysML Toolkit releases, as they answer more (the procedure is in `abi/README.md`). +- Publication on the language registries. diff --git a/abi/.gitignore b/abi/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/abi/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/abi/Cargo.lock b/abi/Cargo.lock new file mode 100644 index 0000000..89ba602 --- /dev/null +++ b/abi/Cargo.lock @@ -0,0 +1,353 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "futures-core" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" + +[[package]] +name = "futures-task" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" + +[[package]] +name = "futures-util" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "slab", +] + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "js-sys" +version = "0.3.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce57d20d1ea864ce2ac172ab472d409214f4fd359f0b2a2775abdf522e2af99e" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "num-bigint" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "syn" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sysmlv2-abi" +version = "0.1.0" +dependencies = [ + "serde_json", + "sysmlv2-model", + "sysmlv2-transform", +] + +[[package]] +name = "sysmlv2-cbor" +version = "0.10.0" +dependencies = [ + "serde_json", + "sysmlv2-model", + "uuid", +] + +[[package]] +name = "sysmlv2-model" +version = "0.10.0" +dependencies = [ + "num-bigint", + "num-integer", + "num-rational", + "num-traits", + "serde", + "serde_json", + "sha1_smol", + "sysmlv2-syntax", + "uuid", +] + +[[package]] +name = "sysmlv2-syntax" +version = "0.10.0" +dependencies = [ + "serde", +] + +[[package]] +name = "sysmlv2-transform" +version = "0.10.0" +dependencies = [ + "serde_json", + "sysmlv2-cbor", + "sysmlv2-model", + "sysmlv2-syntax", + "uuid", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "uuid" +version = "1.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce" +dependencies = [ + "getrandom", + "js-sys", + "serde_core", + "sha1_smol", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aecb87a33d3b0c5e3b7aa46336eaf486cffafbd281b195e4c8b80d50df2351bf" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a690d511e3c1a8b3a55e33511e3c2c00c78415cd23650f32b808627f5696b9ed" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "411e4887f0071ef2d2164a9d5fdf2d20efbef78fccd3a78b0c10a1dc5295e48a" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81941cd78d0c92026c33e5e01312845a4cb1e9af3407f9134b100dd03144103e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/abi/Cargo.toml b/abi/Cargo.toml new file mode 100644 index 0000000..da93828 --- /dev/null +++ b/abi/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "sysmlv2-abi" +version = "0.1.0" +edition = "2021" +description = "C ABI over the SysML Toolkit: one function per specification member, read-only" +license = "Apache-2.0" +publish = false + +# The SysML Toolkit's repository is checked out beside this one, as `sysml-toolkit`. If its +# crates are published, these become plain version requirements. See README.md. +[dependencies] +sysmlv2-model = { path = "../../sysml-toolkit/crates/sysmlv2-model" } +sysmlv2-transform = { path = "../../sysml-toolkit/crates/sysmlv2-transform" } +serde_json = "1" + +[lib] +name = "sysmlv2_abi" +crate-type = ["cdylib", "rlib"] diff --git a/abi/README.md b/abi/README.md new file mode 100644 index 0000000..02a2b00 --- /dev/null +++ b/abi/README.md @@ -0,0 +1,118 @@ +# sysmlv2-abi — the binding library + +The C ABI over the OpenMBEE SysML Toolkit: one exported function per specification member, read +only. The contract is the status codes, the result structs and their ownership, as `src/lib.rs` +documents them; this directory is its implementation. Every SDK language reaches the SysML Toolkit +through this library and nothing else. + +## Layout + +| Path | What | Who writes it | +|---|---|---| +| `src/lib.rs` | sessions, the handle table, result buffers, diagnostics, versioning, the JSON export | by hand | +| `src/read.rs` | one generic property reader per result shape, over the SysML Toolkit's checked reader (`ResolvedModel::property`) | by hand | +| `src/ops.rs` | the specification *operations*, through the SysML Toolkit's operation entry point (`ResolvedModel::invoke_operation`), by declaration | by hand | +| `src/generated.rs` | one `extern "C"` wrapper per naming-table row | `tools/gen_abi.py`; never edit | +| `examples/export_library.rs` | the standard library as full-form JSON (`tools/export_example.py` runs it) | by hand | +| `smoke.py` | end-to-end check from Python through `ctypes`, including the refusal statuses | by hand | + +Consumers: `python/sysml/toolkit.py` (ctypes), +`java/src/org/openmbee/sysml/ToolkitBackend.java` (foreign function API), +`ts/toolkit.mjs` (the WebAssembly build), `csharp/OpenMBEE.SysML/ToolkitBackend.cs` (P/Invoke) +and `cpp/include/sysml/toolkit.hpp` (run-time loading). + +Every function first checks that the element's metaclass has the member, and answers +`NOT_APPLICABLE` when it does not. Every property row then goes through `read.rs` by its +specification name, so no property is hand-written: the SysML Toolkit's checked reader reads it, +owned or derived, following the metamodel's redefinitions, and answers only what it can derive +completely. Where it cannot, the wrapper returns `NOT_IMPLEMENTED` with the SysML Toolkit's reason. +Every operation row goes through `ops.rs`: the operation's declaration is found in the +SysML Toolkit's catalog, the arguments are converted to the parameter types it declares, and the +SysML Toolkit runs it or refuses it, again with `NOT_IMPLEMENTED` and the reason. A reference that +does not resolve, or points at an element the session has not loaded, is reported with +`UNRESOLVED`. Sessions open under the SysML Toolkit's full closure policy, so inherited members are +derived as the specification defines them, where the SysML Toolkit can. + +## Building + +The SysML Toolkit is a **sibling checkout** at `../../sysml-toolkit`. Releases of this library are +built and tested against the SysML Toolkit release pinned in `vendor/sysml-toolkit/PIN.json` under +`toolkit`: the public repository `Open-MBEE/sysml-toolkit` at the tag and commit recorded there. A +clone of that tag beside this repository, under the repository's own name, satisfies the path +dependency unchanged; continuous integration arranges its checkouts that way. A later SysML Toolkit +commit works as long as it keeps the checked reader (`ResolvedModel::property`) and the operation +entry point (`ResolvedModel::invoke_operation`), but only the pinned tag is tested. Nothing in the +SysML Toolkit repository is modified. + +```sh +cd abi && cargo build --release # on Windows, the MSVC or the GNU toolchain +# -> target/release/sysmlv2_abi.dll (.so / .dylib elsewhere) +python smoke.py ../examples/vehicle.sysml +``` + +The same crate builds for WebAssembly, which is how JavaScript reaches the SysML Toolkit in both +Node and the browser (no shared libraries there): + +```sh +rustup target add wasm32-unknown-unknown # once +cargo build --release --target wasm32-unknown-unknown +# -> target/wasm32-unknown-unknown/release/sysmlv2_abi.wasm (~1.8 MB, the SysML Toolkit included) +``` + +The module needs three imports from wasm-bindgen glue that a dependency of the SysML Toolkit pulls +in; the JavaScript core satisfies them with no-op stubs. Pointers are 4 bytes there, so the result +structs have different offsets from the native build; `ts/toolkit.mjs` carries both layouts. +Callers write input strings into the module's memory through `sysmlv2_alloc` and release them with +`sysmlv2_dealloc`. + +Regenerating the wrappers needs Python: + +```sh +python tools/gen_abi.py # reads vendor/naming-table/*.csv and metamodel.json, writes src/generated.rs +``` + +`generated.rs` is committed, so the crate builds without Python. Continuous integration builds the +crate on every platform it releases for, with the pinned SysML Toolkit release checked out beside +the SDK. + +## Moving to a newer SysML Toolkit release + +The SysML Toolkit pin is one entry; everything else follows from it. + +1. Update `toolkit.tag` and `toolkit.commit` in `vendor/sysml-toolkit/PIN.json`. Continuous + integration reads the tag from there, so the workflow needs no edit. +2. If the SysML Toolkit's specification inputs changed (the two XMI files and the two property + tables listed under `files`), re-vendor them, update their hashes and `sourceCommit`, rerun + `tools/extract_metamodel.py` with a table version bump, and rerun the generators. +3. Run `cargo update` here when the SysML Toolkit's own dependencies moved (the lock file is + committed). +4. Build, then run the whole test matrix and the Annex A regression test + (`python/tests/test_annex_a.py`). +5. Answers that changed because the SysML Toolkit now computes more are expected: update + `python/tests/toolkit_gaps.py`, the only place a test records what the SysML Toolkit does not yet + answer. `python tools/toolkit_figures.py` measures the Annex A reads by outcome and the + operations the SysML Toolkit runs, and with `--write` rewrites those figures in + `toolkit_gaps.py`, `STATUS.md` and `CHANGELOG.md`. Regenerate the example JSON with + `python tools/export_example.py --library `, and run the payload paths on it. +6. Update the known limitations in `CHANGELOG.md`. + +## The handle table + +`ElementRef` has a crate-private field, so this library cannot rebuild one from an integer it +receives from C. Each session therefore keeps a table of the element references it has handed +out, and a handle is an index into that table. The lookup is bounds-checked, which is where +`INVALID_HANDLE` comes from. This is also the natural place for a generation or session tag +when the SysML Toolkit settles identity across edits: the ABI signatures do not change. + +## Threading + +A session is single-threaded. Many SysML Toolkit accessors take a mutable receiver to fill lazy +caches; the library does not lock. Use one session per thread. + +## Moving this into the SysML Toolkit later + +Kept deliberately easy. The crate is self-contained, the generated code is committed, and the +only external dependencies are the two SysML Toolkit crates by path. To move it: copy this +directory to `crates/sysmlv2-abi` in the SysML Toolkit, set `version.workspace = true`, shorten the +two dependency paths to `../sysmlv2-model` and `../sysmlv2-transform`, and add it to the workspace +members. The generator can stay here or travel with it. diff --git a/abi/examples/export_library.rs b/abi/examples/export_library.rs new file mode 100644 index 0000000..525140a --- /dev/null +++ b/abi/examples/export_library.rs @@ -0,0 +1,100 @@ +//! Write the standard library as full-form interchange JSON, under its normative element ids, so +//! that a payload model's references into the library can be read without the SysML Toolkit. +//! +//! Usage: cargo run --release --example export_library -- +//! +//! The SysML Toolkit exports the library as a compact array (the ids KerML 9.1 and SysML 9.1 +//! prescribe); its full-form completion is the one the SysML Toolkit offers for any compact +//! document, which writes the owned side of the inheritance-aware properties +//! (`inheritedMembership`, `inheritedFeature`, `importedMembership` and `featuringType` stay +//! empty). References inside the library that do not resolve keep the SysML Toolkit's recovery +//! annotations. + +use std::collections::{HashMap, HashSet}; +use std::path::Path; +use std::process::ExitCode; + +use sysmlv2_model::full::{from_compact_value_with_policy, UnresolvedReferencePolicy}; +use sysmlv2_model::json::{library_element_name_map, library_to_compact_json_with_units}; +use sysmlv2_model::loader::load_document; +use sysmlv2_transform::{Library, Session}; + +/// The names of the files in `dir` and its subdirectories. +fn file_names(dir: &Path) -> HashSet { + let mut names = HashSet::new(); + let mut dirs = vec![dir.to_path_buf()]; + while let Some(dir) = dirs.pop() { + for entry in std::fs::read_dir(&dir).into_iter().flatten().flatten() { + let path = entry.path(); + if path.is_dir() { + dirs.push(path); + } else if let Some(name) = path.file_name() { + names.insert(name.to_string_lossy().into_owned()); + } + } + } + names +} + +fn main() -> ExitCode { + let args: Vec = std::env::args().skip(1).collect(); + let [library, out] = args.as_slice() else { + eprintln!("usage: export_library "); + return ExitCode::FAILURE; + }; + // The SysML Toolkit adds its own ambient packages (TransformMeta) to every library it loads. + // They are not part of the standard library, so they are kept out of its interchange. + std::env::set_var("SYSMLV2_AMBIENT", "off"); + let session = match Session::from_sources_with_library(Vec::new(), Some(Library::dir(library))) { + Ok(s) => s, + Err(e) => { + eprintln!("error: cannot load the library {library}: {e}"); + return ExitCode::FAILURE; + } + }; + let model = session.model(); + let (compact, units) = library_to_compact_json_with_units(model); + + // Every exported unit must be a file of the given library directory (units are named by file + // name; the files sit in its subdirectories). + let files = file_names(Path::new(library)); + let foreign: Vec<&str> = + units.iter().map(|(_, name)| name.as_str()).filter(|name| !files.contains(*name)).collect(); + if !foreign.is_empty() { + eprintln!("error: {} unit(s) not from {library}: {}", foreign.len(), foreign.join(", ")); + return ExitCode::FAILURE; + } + eprintln!("{} library units from {library}", units.len()); + + // Qualified name -> id, for the implied relationships to library bases, as the SysML Toolkit's + // own full-form export builds it. + let by_name: HashMap = library_element_name_map(model) + .into_iter() + .map(|(id, segments)| (segments.join("::"), id)) + .collect(); + + // What the completion will derive from: the loaded document, or, when the loader warns, the + // element array. Reported so that a change in the SysML Toolkit shows in the build log. + let names: HashMap> = + by_name.iter().map(|(qn, id)| (id.clone(), qn.split("::").map(str::to_string).collect())).collect(); + if let Ok((_, _, _, warnings)) = load_document(&compact, &names) { + for warning in &warnings { + eprintln!("SysML Toolkit loader: {warning}"); + } + } + + let full = match from_compact_value_with_policy(compact, &by_name, UnresolvedReferencePolicy::Preserve) { + Ok(v) => v, + Err(e) => { + eprintln!("error: {} unresolved references", e.references.len()); + return ExitCode::FAILURE; + } + }; + let count = full.as_array().map_or(0, Vec::len); + if let Err(e) = std::fs::write(out, full.to_string()) { + eprintln!("error: cannot write {out}: {e}"); + return ExitCode::FAILURE; + } + eprintln!("{count} elements written to {out}"); + ExitCode::SUCCESS +} diff --git a/abi/smoke.py b/abi/smoke.py new file mode 100644 index 0000000..6770b20 --- /dev/null +++ b/abi/smoke.py @@ -0,0 +1,76 @@ +"""End-to-end check of the binding library from Python. + +Usage: python smoke.py +Loads the model, walks the roots, reads names and features, and asserts that a member of another +metaclass, a refused operation and a bogus handle each fail with their status. The library is +target/release beside this file, or SYSMLV2_ABI. +""" +import ctypes as C, sys +import os +HERE = os.path.dirname(os.path.abspath(__file__)) +NAME = {"win32": "sysmlv2_abi.dll", "darwin": "libsysmlv2_abi.dylib"}.get(sys.platform, "libsysmlv2_abi.so") +lib = C.CDLL(os.environ.get("SYSMLV2_ABI") or os.path.join(HERE, "target", "release", NAME)) + +class Str(C.Structure): _fields_ = [("ptr", C.c_void_p), ("len", C.c_size_t), ("present", C.c_bool), ("owner", C.c_void_p)] +class Handles(C.Structure): _fields_ = [("items", C.POINTER(C.c_uint64)), ("len", C.c_size_t), ("owner", C.c_void_p)] +class Ref(C.Structure): _fields_ = [("present", C.c_bool), ("value", C.c_uint64)] +class Bool(C.Structure): _fields_ = [("present", C.c_bool), ("value", C.c_bool)] +class LoadOptions(C.Structure): + _fields_ = [("paths", C.POINTER(Str)), ("paths_len", C.c_size_t), ("source_names", C.POINTER(Str)), + ("source_texts", C.POINTER(Str)), ("sources_len", C.c_size_t), ("library_dir", Str)] +STATUS = ["OK","NOT_IMPLEMENTED","NOT_APPLICABLE","INVALID_HANDLE","INVALID_ARG","LOAD_FAILED","INTERNAL"] + +def s_of(b: bytes): + buf = C.create_string_buffer(b, len(b)); keep.append(buf) + return Str(C.cast(buf, C.c_void_p), len(b), True, None) +keep = [] +def take_str(st: Str): + v = C.string_at(st.ptr, st.len).decode() if st.present and st.ptr else None + lib.sysmlv2_free(st.owner); return v +def take_handles(hs: Handles): + v = [hs.items[i] for i in range(hs.len)]; lib.sysmlv2_free(hs.owner); return v + +lib.sysmlv2_free.argtypes = [C.c_void_p] +lib.sysmlv2_names_digest.restype = C.c_void_p; lib.sysmlv2_names_digest_len.restype = C.c_size_t +print("abi version:", lib.sysmlv2_abi_version(), "| digest:", C.string_at(lib.sysmlv2_names_digest(), lib.sysmlv2_names_digest_len()).decode()[:12]) + +path = s_of(sys.argv[1].encode()) +paths = (Str * 1)(path) +opts = LoadOptions(paths, 1, None, None, 0, Str(None, 0, False, None)) +sess = C.c_void_p() +st = lib.sysmlv2_session_open(C.byref(opts), C.byref(sess)); print("open:", STATUS[st]); assert st == 0 + +def call(name, h, out_t, *args): + fn = getattr(lib, "sysmlv2_" + name); out = out_t() + st = fn(sess, C.c_uint64(h), *args, C.byref(out)); return STATUS[st], out + +roots = Handles(); lib.sysmlv2_session_roots(sess, C.byref(roots)); roots = take_handles(roots) +print("roots:", len(roots)) +for r in roots: + st, mc = call("metaclass", r, Str); st2, nm = call("element_declared_name", r, Str) + print(f" root h={r} {take_str(mc)} '{take_str(nm)}'") + st, members = call("namespace_owned_member", r, Handles) + for m in take_handles(members)[:6]: + _, mc = call("metaclass", m, Str); _, qn = call("element_qualified_name", m, Str) + _, feats = call("type_owned_feature", m, Handles); nf = len(take_handles(feats)) + _, comp = call("feature_is_composite", m, Bool) + print(f" h={m:<3} {take_str(mc):<18} {take_str(qn)!s:<32} ownedFeature={nf} isComposite={STATUS[_ if isinstance(_,int) else 0]}" if False else + f" h={m:<3} {take_str(mc):<18} {take_str(qn)!s:<32} ownedFeature={nf}") + break + +def last_error(): + err = Str(); lib.sysmlv2_last_error(sess, C.byref(err)); return take_str(err) + +print("--- refusals ---") +st, out = call("feature_featuring_type", roots[0], Handles) +print("Feature::featuringType on a Namespace ->", st, "|", last_error()); assert st == "NOT_APPLICABLE" +# An operation the SysML Toolkit has no body for yet is refused by it, with its reason. +st, out = call("element_path", roots[0], Str) +print("Element::path (operation) ->", st, "|", last_error()); assert st == "NOT_IMPLEMENTED" +st, out = call("element_owner", 999999, Ref); print("bogus handle ->", st); assert st == "INVALID_HANDLE" + +first = take_handles((lambda hs: (lib.sysmlv2_namespace_owned_member(sess, C.c_uint64(roots[0]), C.byref(hs)), hs)[1])(Handles()))[0] +_, qn = call("element_qualified_name", first, Str); qn = take_str(qn) +out = Ref(); st = lib.sysmlv2_session_resolve(sess, C.byref(s_of(qn.encode())), C.byref(out)) +print(f"session_resolve({qn!r}) ->", STATUS[st], out.value); assert st == 0 and out.present and out.value == first +lib.sysmlv2_session_close(sess); print("closed OK") diff --git a/abi/src/generated.rs b/abi/src/generated.rs new file mode 100644 index 0000000..08763b4 --- /dev/null +++ b/abi/src/generated.rs @@ -0,0 +1,5091 @@ +//! Generated by tools/gen_abi.py from toolkit-api-names.csv. Do not edit. +//! Naming table SHA-256: 3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351 + +#![allow(unused_variables, clippy::not_unsafe_ptr_arg_deref)] + +use crate::{ops, read, Bool, Handle, Handles, Int, Real, Ref, Session, Status, Str}; + +pub const NAMES_DIGEST: &str = "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351"; + +/// `AcceptActionUsage::payloadArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_accept_action_usage_payload_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AcceptActionUsage", "payloadArgument") { return st; } + read::reference(s, e, "payloadArgument", &mut *out) +} + +/// `AcceptActionUsage::payloadParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_accept_action_usage_payload_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AcceptActionUsage", "payloadParameter") { return st; } + read::reference(s, e, "payloadParameter", &mut *out) +} + +/// `AcceptActionUsage::receiverArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_accept_action_usage_receiver_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AcceptActionUsage", "receiverArgument") { return st; } + read::reference(s, e, "receiverArgument", &mut *out) +} + +/// `AcceptActionUsage::isTriggerAction` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_accept_action_usage_is_trigger_action(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AcceptActionUsage", "isTriggerAction") { return st; } + let answer = ops::call(s, e, "AcceptActionUsage", "isTriggerAction", &[]); + read::put_flag(s, "AcceptActionUsage::isTriggerAction()", answer, &mut *out) +} + +/// `ActionDefinition::action` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_action_definition_action(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActionDefinition", "action") { return st; } + read::handles(s, e, "action", &mut *out) +} + +/// `ActionUsage::actionDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_action_usage_action_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActionUsage", "actionDefinition") { return st; } + read::handles(s, e, "actionDefinition", &mut *out) +} + +/// `ActionUsage::argument` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_action_usage_argument(s: *mut Session, h: Handle, i: *const Str, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() || i.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActionUsage", "argument") { return st; } + let answer = ops::call(s, e, "ActionUsage", "argument", &[ops::Arg::Str(&*i)]); + read::put_reference(s, "ActionUsage::argument()", answer, &mut *out) +} + +/// `ActionUsage::inputParameter` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_action_usage_input_parameter(s: *mut Session, h: Handle, i: *const Str, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() || i.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActionUsage", "inputParameter") { return st; } + let answer = ops::call(s, e, "ActionUsage", "inputParameter", &[ops::Arg::Str(&*i)]); + read::put_reference(s, "ActionUsage::inputParameter()", answer, &mut *out) +} + +/// `ActionUsage::inputParameters` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_action_usage_input_parameters(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActionUsage", "inputParameters") { return st; } + let answer = ops::call(s, e, "ActionUsage", "inputParameters", &[]); + read::put_handles(s, "ActionUsage::inputParameters()", answer, &mut *out) +} + +/// `ActionUsage::isSubactionUsage` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_action_usage_is_subaction_usage(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActionUsage", "isSubactionUsage") { return st; } + let answer = ops::call(s, e, "ActionUsage", "isSubactionUsage", &[]); + read::put_flag(s, "ActionUsage::isSubactionUsage()", answer, &mut *out) +} + +/// `ActorMembership::ownedActorParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_actor_membership_owned_actor_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ActorMembership", "ownedActorParameter") { return st; } + read::reference(s, e, "ownedActorParameter", &mut *out) +} + +/// `AllocationDefinition::allocation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_allocation_definition_allocation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AllocationDefinition", "allocation") { return st; } + read::handles(s, e, "allocation", &mut *out) +} + +/// `AllocationUsage::allocationDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_allocation_usage_allocation_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AllocationUsage", "allocationDefinition") { return st; } + read::handles(s, e, "allocationDefinition", &mut *out) +} + +/// `AnalysisCaseDefinition::resultExpression` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_analysis_case_definition_result_expression(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnalysisCaseDefinition", "resultExpression") { return st; } + read::reference(s, e, "resultExpression", &mut *out) +} + +/// `AnalysisCaseUsage::analysisCaseDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_analysis_case_usage_analysis_case_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnalysisCaseUsage", "analysisCaseDefinition") { return st; } + read::reference(s, e, "analysisCaseDefinition", &mut *out) +} + +/// `AnalysisCaseUsage::resultExpression` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_analysis_case_usage_result_expression(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnalysisCaseUsage", "resultExpression") { return st; } + read::reference(s, e, "resultExpression", &mut *out) +} + +/// `AnnotatingElement::annotatedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotating_element_annotated_element(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnnotatingElement", "annotatedElement") { return st; } + read::handles(s, e, "annotatedElement", &mut *out) +} + +/// `AnnotatingElement::annotation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotating_element_annotation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnnotatingElement", "annotation") { return st; } + read::handles(s, e, "annotation", &mut *out) +} + +/// `AnnotatingElement::ownedAnnotatingRelationship` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotating_element_owned_annotating_relationship(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnnotatingElement", "ownedAnnotatingRelationship") { return st; } + read::handles(s, e, "ownedAnnotatingRelationship", &mut *out) +} + +/// `AnnotatingElement::owningAnnotatingRelationship` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotating_element_owning_annotating_relationship(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AnnotatingElement", "owningAnnotatingRelationship") { return st; } + read::reference(s, e, "owningAnnotatingRelationship", &mut *out) +} + +/// `Annotation::annotatedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotation_annotated_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Annotation", "annotatedElement") { return st; } + read::reference(s, e, "annotatedElement", &mut *out) +} + +/// `Annotation::annotatingElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotation_annotating_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Annotation", "annotatingElement") { return st; } + read::reference(s, e, "annotatingElement", &mut *out) +} + +/// `Annotation::ownedAnnotatingElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotation_owned_annotating_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Annotation", "ownedAnnotatingElement") { return st; } + read::reference(s, e, "ownedAnnotatingElement", &mut *out) +} + +/// `Annotation::owningAnnotatedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotation_owning_annotated_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Annotation", "owningAnnotatedElement") { return st; } + read::reference(s, e, "owningAnnotatedElement", &mut *out) +} + +/// `Annotation::owningAnnotatingElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_annotation_owning_annotating_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Annotation", "owningAnnotatingElement") { return st; } + read::reference(s, e, "owningAnnotatingElement", &mut *out) +} + +/// `AssertConstraintUsage::assertedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_assert_constraint_usage_asserted_constraint(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AssertConstraintUsage", "assertedConstraint") { return st; } + read::reference(s, e, "assertedConstraint", &mut *out) +} + +/// `AssignmentActionUsage::referent` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_assignment_action_usage_referent(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AssignmentActionUsage", "referent") { return st; } + read::reference(s, e, "referent", &mut *out) +} + +/// `AssignmentActionUsage::targetArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_assignment_action_usage_target_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AssignmentActionUsage", "targetArgument") { return st; } + read::reference(s, e, "targetArgument", &mut *out) +} + +/// `AssignmentActionUsage::valueExpression` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_assignment_action_usage_value_expression(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AssignmentActionUsage", "valueExpression") { return st; } + read::reference(s, e, "valueExpression", &mut *out) +} + +/// `Association::associationEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_association_association_end(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Association", "associationEnd") { return st; } + read::handles(s, e, "associationEnd", &mut *out) +} + +/// `Association::relatedType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_association_related_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Association", "relatedType") { return st; } + read::handles(s, e, "relatedType", &mut *out) +} + +/// `Association::sourceType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_association_source_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Association", "sourceType") { return st; } + read::reference(s, e, "sourceType", &mut *out) +} + +/// `Association::targetType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_association_target_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Association", "targetType") { return st; } + read::handles(s, e, "targetType", &mut *out) +} + +/// `AttributeUsage::attributeDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_attribute_usage_attribute_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "AttributeUsage", "attributeDefinition") { return st; } + read::handles(s, e, "attributeDefinition", &mut *out) +} + +/// `Behavior::parameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_behavior_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Behavior", "parameter") { return st; } + read::handles(s, e, "parameter", &mut *out) +} + +/// `Behavior::step` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_behavior_step(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Behavior", "step") { return st; } + read::handles(s, e, "step", &mut *out) +} + +/// `BooleanExpression::predicate` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_boolean_expression_predicate(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "BooleanExpression", "predicate") { return st; } + read::reference(s, e, "predicate", &mut *out) +} + +/// `CalculationDefinition::calculation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_calculation_definition_calculation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CalculationDefinition", "calculation") { return st; } + read::handles(s, e, "calculation", &mut *out) +} + +/// `CalculationUsage::calculationDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_calculation_usage_calculation_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CalculationUsage", "calculationDefinition") { return st; } + read::reference(s, e, "calculationDefinition", &mut *out) +} + +/// `CaseDefinition::actorParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_definition_actor_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseDefinition", "actorParameter") { return st; } + read::handles(s, e, "actorParameter", &mut *out) +} + +/// `CaseDefinition::objectiveRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_definition_objective_requirement(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseDefinition", "objectiveRequirement") { return st; } + read::reference(s, e, "objectiveRequirement", &mut *out) +} + +/// `CaseDefinition::subjectParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_definition_subject_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseDefinition", "subjectParameter") { return st; } + read::reference(s, e, "subjectParameter", &mut *out) +} + +/// `CaseUsage::actorParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_usage_actor_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseUsage", "actorParameter") { return st; } + read::handles(s, e, "actorParameter", &mut *out) +} + +/// `CaseUsage::caseDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_usage_case_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseUsage", "caseDefinition") { return st; } + read::reference(s, e, "caseDefinition", &mut *out) +} + +/// `CaseUsage::objectiveRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_usage_objective_requirement(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseUsage", "objectiveRequirement") { return st; } + read::reference(s, e, "objectiveRequirement", &mut *out) +} + +/// `CaseUsage::subjectParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_case_usage_subject_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CaseUsage", "subjectParameter") { return st; } + read::reference(s, e, "subjectParameter", &mut *out) +} + +/// `Classifier::ownedSubclassification` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_classifier_owned_subclassification(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Classifier", "ownedSubclassification") { return st; } + read::handles(s, e, "ownedSubclassification", &mut *out) +} + +/// `Comment::body` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_comment_body(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Comment", "body") { return st; } + read::text(s, e, "body", &mut *out) +} + +/// `Comment::locale` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_comment_locale(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Comment", "locale") { return st; } + read::text(s, e, "locale", &mut *out) +} + +/// `ConcernUsage::concernDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_concern_usage_concern_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConcernUsage", "concernDefinition") { return st; } + read::reference(s, e, "concernDefinition", &mut *out) +} + +/// `ConjugatedPortDefinition::originalPortDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugated_port_definition_original_port_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConjugatedPortDefinition", "originalPortDefinition") { return st; } + read::reference(s, e, "originalPortDefinition", &mut *out) +} + +/// `ConjugatedPortDefinition::ownedPortConjugator` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugated_port_definition_owned_port_conjugator(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConjugatedPortDefinition", "ownedPortConjugator") { return st; } + read::reference(s, e, "ownedPortConjugator", &mut *out) +} + +/// `ConjugatedPortTyping::conjugatedPortDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugated_port_typing_conjugated_port_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConjugatedPortTyping", "conjugatedPortDefinition") { return st; } + read::reference(s, e, "conjugatedPortDefinition", &mut *out) +} + +/// `ConjugatedPortTyping::portDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugated_port_typing_port_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConjugatedPortTyping", "portDefinition") { return st; } + read::reference(s, e, "portDefinition", &mut *out) +} + +/// `Conjugation::conjugatedType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugation_conjugated_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Conjugation", "conjugatedType") { return st; } + read::reference(s, e, "conjugatedType", &mut *out) +} + +/// `Conjugation::originalType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugation_original_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Conjugation", "originalType") { return st; } + read::reference(s, e, "originalType", &mut *out) +} + +/// `Conjugation::owningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_conjugation_owning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Conjugation", "owningType") { return st; } + read::reference(s, e, "owningType", &mut *out) +} + +/// `ConnectionDefinition::connectionEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connection_definition_connection_end(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConnectionDefinition", "connectionEnd") { return st; } + read::handles(s, e, "connectionEnd", &mut *out) +} + +/// `ConnectionUsage::connectionDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connection_usage_connection_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConnectionUsage", "connectionDefinition") { return st; } + read::handles(s, e, "connectionDefinition", &mut *out) +} + +/// `Connector::association` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connector_association(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Connector", "association") { return st; } + read::handles(s, e, "association", &mut *out) +} + +/// `Connector::connectorEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connector_connector_end(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Connector", "connectorEnd") { return st; } + read::handles(s, e, "connectorEnd", &mut *out) +} + +/// `Connector::defaultFeaturingType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connector_default_featuring_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Connector", "defaultFeaturingType") { return st; } + read::reference(s, e, "defaultFeaturingType", &mut *out) +} + +/// `Connector::relatedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connector_related_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Connector", "relatedFeature") { return st; } + read::handles(s, e, "relatedFeature", &mut *out) +} + +/// `Connector::sourceFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connector_source_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Connector", "sourceFeature") { return st; } + read::reference(s, e, "sourceFeature", &mut *out) +} + +/// `Connector::targetFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_connector_target_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Connector", "targetFeature") { return st; } + read::handles(s, e, "targetFeature", &mut *out) +} + +/// `ConstraintUsage::constraintDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_constraint_usage_constraint_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ConstraintUsage", "constraintDefinition") { return st; } + read::reference(s, e, "constraintDefinition", &mut *out) +} + +/// `ControlNode::multiplicityHasBounds` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_control_node_multiplicity_has_bounds(s: *mut Session, h: Handle, mult: Handle, lower: *const Str, upper: *const Str, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() || lower.is_null() || upper.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ControlNode", "multiplicityHasBounds") { return st; } + let answer = ops::call(s, e, "ControlNode", "multiplicityHasBounds", &[ops::Arg::Handle(mult), ops::Arg::Str(&*lower), ops::Arg::Str(&*upper)]); + read::put_flag(s, "ControlNode::multiplicityHasBounds()", answer, &mut *out) +} + +/// `CrossSubsetting::crossedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_cross_subsetting_crossed_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CrossSubsetting", "crossedFeature") { return st; } + read::reference(s, e, "crossedFeature", &mut *out) +} + +/// `CrossSubsetting::crossingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_cross_subsetting_crossing_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "CrossSubsetting", "crossingFeature") { return st; } + read::reference(s, e, "crossingFeature", &mut *out) +} + +/// `Definition::directedUsage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_directed_usage(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "directedUsage") { return st; } + read::handles(s, e, "directedUsage", &mut *out) +} + +/// `Definition::isVariation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_is_variation(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "isVariation") { return st; } + read::flag(s, e, "isVariation", &mut *out) +} + +/// `Definition::ownedAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_action(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedAction") { return st; } + read::handles(s, e, "ownedAction", &mut *out) +} + +/// `Definition::ownedAllocation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_allocation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedAllocation") { return st; } + read::handles(s, e, "ownedAllocation", &mut *out) +} + +/// `Definition::ownedAnalysisCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_analysis_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedAnalysisCase") { return st; } + read::handles(s, e, "ownedAnalysisCase", &mut *out) +} + +/// `Definition::ownedAttribute` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_attribute(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedAttribute") { return st; } + read::handles(s, e, "ownedAttribute", &mut *out) +} + +/// `Definition::ownedCalculation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_calculation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedCalculation") { return st; } + read::handles(s, e, "ownedCalculation", &mut *out) +} + +/// `Definition::ownedCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedCase") { return st; } + read::handles(s, e, "ownedCase", &mut *out) +} + +/// `Definition::ownedConcern` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_concern(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedConcern") { return st; } + read::handles(s, e, "ownedConcern", &mut *out) +} + +/// `Definition::ownedConnection` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_connection(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedConnection") { return st; } + read::handles(s, e, "ownedConnection", &mut *out) +} + +/// `Definition::ownedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_constraint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedConstraint") { return st; } + read::handles(s, e, "ownedConstraint", &mut *out) +} + +/// `Definition::ownedEnumeration` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_enumeration(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedEnumeration") { return st; } + read::handles(s, e, "ownedEnumeration", &mut *out) +} + +/// `Definition::ownedFlow` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_flow(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedFlow") { return st; } + read::handles(s, e, "ownedFlow", &mut *out) +} + +/// `Definition::ownedInterface` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_interface(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedInterface") { return st; } + read::handles(s, e, "ownedInterface", &mut *out) +} + +/// `Definition::ownedItem` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_item(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedItem") { return st; } + read::handles(s, e, "ownedItem", &mut *out) +} + +/// `Definition::ownedMetadata` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_metadata(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedMetadata") { return st; } + read::handles(s, e, "ownedMetadata", &mut *out) +} + +/// `Definition::ownedOccurrence` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_occurrence(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedOccurrence") { return st; } + read::handles(s, e, "ownedOccurrence", &mut *out) +} + +/// `Definition::ownedPart` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_part(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedPart") { return st; } + read::handles(s, e, "ownedPart", &mut *out) +} + +/// `Definition::ownedPort` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_port(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedPort") { return st; } + read::handles(s, e, "ownedPort", &mut *out) +} + +/// `Definition::ownedReference` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_reference(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedReference") { return st; } + read::handles(s, e, "ownedReference", &mut *out) +} + +/// `Definition::ownedRendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_rendering(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedRendering") { return st; } + read::handles(s, e, "ownedRendering", &mut *out) +} + +/// `Definition::ownedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_requirement(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedRequirement") { return st; } + read::handles(s, e, "ownedRequirement", &mut *out) +} + +/// `Definition::ownedState` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_state(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedState") { return st; } + read::handles(s, e, "ownedState", &mut *out) +} + +/// `Definition::ownedTransition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_transition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedTransition") { return st; } + read::handles(s, e, "ownedTransition", &mut *out) +} + +/// `Definition::ownedUsage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_usage(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedUsage") { return st; } + read::handles(s, e, "ownedUsage", &mut *out) +} + +/// `Definition::ownedUseCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_use_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedUseCase") { return st; } + read::handles(s, e, "ownedUseCase", &mut *out) +} + +/// `Definition::ownedVerificationCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_verification_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedVerificationCase") { return st; } + read::handles(s, e, "ownedVerificationCase", &mut *out) +} + +/// `Definition::ownedView` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_view(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedView") { return st; } + read::handles(s, e, "ownedView", &mut *out) +} + +/// `Definition::ownedViewpoint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_owned_viewpoint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "ownedViewpoint") { return st; } + read::handles(s, e, "ownedViewpoint", &mut *out) +} + +/// `Definition::usage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_usage(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "usage") { return st; } + read::handles(s, e, "usage", &mut *out) +} + +/// `Definition::variant` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_variant(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "variant") { return st; } + read::handles(s, e, "variant", &mut *out) +} + +/// `Definition::variantMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_definition_variant_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Definition", "variantMembership") { return st; } + read::handles(s, e, "variantMembership", &mut *out) +} + +/// `Dependency::client` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_dependency_client(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Dependency", "client") { return st; } + read::handles(s, e, "client", &mut *out) +} + +/// `Dependency::supplier` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_dependency_supplier(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Dependency", "supplier") { return st; } + read::handles(s, e, "supplier", &mut *out) +} + +/// `Differencing::differencingType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_differencing_differencing_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Differencing", "differencingType") { return st; } + read::reference(s, e, "differencingType", &mut *out) +} + +/// `Differencing::typeDifferenced` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_differencing_type_differenced(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Differencing", "typeDifferenced") { return st; } + read::reference(s, e, "typeDifferenced", &mut *out) +} + +/// `Disjoining::disjoiningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_disjoining_disjoining_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Disjoining", "disjoiningType") { return st; } + read::reference(s, e, "disjoiningType", &mut *out) +} + +/// `Disjoining::owningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_disjoining_owning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Disjoining", "owningType") { return st; } + read::reference(s, e, "owningType", &mut *out) +} + +/// `Disjoining::typeDisjoined` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_disjoining_type_disjoined(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Disjoining", "typeDisjoined") { return st; } + read::reference(s, e, "typeDisjoined", &mut *out) +} + +/// `Documentation::documentedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_documentation_documented_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Documentation", "documentedElement") { return st; } + read::reference(s, e, "documentedElement", &mut *out) +} + +/// `Element::aliasIds` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_alias_ids(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "aliasIds") { return st; } + read::text(s, e, "aliasIds", &mut *out) +} + +/// `Element::declaredName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_declared_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "declaredName") { return st; } + read::text(s, e, "declaredName", &mut *out) +} + +/// `Element::declaredShortName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_declared_short_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "declaredShortName") { return st; } + read::text(s, e, "declaredShortName", &mut *out) +} + +/// `Element::documentation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_documentation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "documentation") { return st; } + read::handles(s, e, "documentation", &mut *out) +} + +/// `Element::elementId` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_element_id(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "elementId") { return st; } + read::text(s, e, "elementId", &mut *out) +} + +/// `Element::isImpliedIncluded` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_is_implied_included(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "isImpliedIncluded") { return st; } + read::flag(s, e, "isImpliedIncluded", &mut *out) +} + +/// `Element::isLibraryElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_is_library_element(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "isLibraryElement") { return st; } + read::flag(s, e, "isLibraryElement", &mut *out) +} + +/// `Element::name` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "name") { return st; } + read::text(s, e, "name", &mut *out) +} + +/// `Element::ownedAnnotation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owned_annotation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "ownedAnnotation") { return st; } + read::handles(s, e, "ownedAnnotation", &mut *out) +} + +/// `Element::ownedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owned_element(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "ownedElement") { return st; } + read::handles(s, e, "ownedElement", &mut *out) +} + +/// `Element::ownedRelationship` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owned_relationship(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "ownedRelationship") { return st; } + read::handles(s, e, "ownedRelationship", &mut *out) +} + +/// `Element::owner` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owner(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "owner") { return st; } + read::reference(s, e, "owner", &mut *out) +} + +/// `Element::owningMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owning_membership(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "owningMembership") { return st; } + read::reference(s, e, "owningMembership", &mut *out) +} + +/// `Element::owningNamespace` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owning_namespace(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "owningNamespace") { return st; } + read::reference(s, e, "owningNamespace", &mut *out) +} + +/// `Element::owningRelationship` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_owning_relationship(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "owningRelationship") { return st; } + read::reference(s, e, "owningRelationship", &mut *out) +} + +/// `Element::qualifiedName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_qualified_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "qualifiedName") { return st; } + read::text(s, e, "qualifiedName", &mut *out) +} + +/// `Element::shortName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_short_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "shortName") { return st; } + read::text(s, e, "shortName", &mut *out) +} + +/// `Element::textualRepresentation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_textual_representation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "textualRepresentation") { return st; } + read::handles(s, e, "textualRepresentation", &mut *out) +} + +/// `Element::effectiveName` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_effective_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "effectiveName") { return st; } + let answer = ops::call(s, e, "Element", "effectiveName", &[]); + read::put_text(s, "Element::effectiveName()", answer, &mut *out) +} + +/// `Element::effectiveShortName` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_effective_short_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "effectiveShortName") { return st; } + let answer = ops::call(s, e, "Element", "effectiveShortName", &[]); + read::put_text(s, "Element::effectiveShortName()", answer, &mut *out) +} + +/// `Element::escapedName` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_escaped_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "escapedName") { return st; } + let answer = ops::call(s, e, "Element", "escapedName", &[]); + read::put_text(s, "Element::escapedName()", answer, &mut *out) +} + +/// `Element::libraryNamespace` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_library_namespace(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "libraryNamespace") { return st; } + let answer = ops::call(s, e, "Element", "libraryNamespace", &[]); + read::put_reference(s, "Element::libraryNamespace()", answer, &mut *out) +} + +/// `Element::path` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_path(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Element", "path") { return st; } + let answer = ops::call(s, e, "Element", "path", &[]); + read::put_text(s, "Element::path()", answer, &mut *out) +} + +/// `ElementFilterMembership::condition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_element_filter_membership_condition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ElementFilterMembership", "condition") { return st; } + read::reference(s, e, "condition", &mut *out) +} + +/// `EnumerationDefinition::enumeratedValue` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_enumeration_definition_enumerated_value(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "EnumerationDefinition", "enumeratedValue") { return st; } + read::handles(s, e, "enumeratedValue", &mut *out) +} + +/// `EnumerationUsage::enumerationDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_enumeration_usage_enumeration_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "EnumerationUsage", "enumerationDefinition") { return st; } + read::reference(s, e, "enumerationDefinition", &mut *out) +} + +/// `EventOccurrenceUsage::eventOccurrence` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_event_occurrence_usage_event_occurrence(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "EventOccurrenceUsage", "eventOccurrence") { return st; } + read::reference(s, e, "eventOccurrence", &mut *out) +} + +/// `ExhibitStateUsage::exhibitedState` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_exhibit_state_usage_exhibited_state(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ExhibitStateUsage", "exhibitedState") { return st; } + read::reference(s, e, "exhibitedState", &mut *out) +} + +/// `Expression::function` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_expression_function(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Expression", "function") { return st; } + read::reference(s, e, "function", &mut *out) +} + +/// `Expression::isModelLevelEvaluable` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_expression_is_model_level_evaluable(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Expression", "isModelLevelEvaluable") { return st; } + read::flag(s, e, "isModelLevelEvaluable", &mut *out) +} + +/// `Expression::result` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_expression_result(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Expression", "result") { return st; } + read::reference(s, e, "result", &mut *out) +} + +/// `Expression::checkCondition` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_expression_check_condition(s: *mut Session, h: Handle, target: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Expression", "checkCondition") { return st; } + let answer = ops::call(s, e, "Expression", "checkCondition", &[ops::Arg::Handle(target)]); + read::put_flag(s, "Expression::checkCondition()", answer, &mut *out) +} + +/// `Expression::evaluate` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_expression_evaluate(s: *mut Session, h: Handle, target: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Expression", "evaluate") { return st; } + let answer = ops::call(s, e, "Expression", "evaluate", &[ops::Arg::Handle(target)]); + read::put_handles(s, "Expression::evaluate()", answer, &mut *out) +} + +/// `Expression::modelLevelEvaluable` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_expression_model_level_evaluable(s: *mut Session, h: Handle, visited: *const Handles, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() || visited.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Expression", "modelLevelEvaluable") { return st; } + let answer = ops::call(s, e, "Expression", "modelLevelEvaluable", &[ops::Arg::Handles(&*visited)]); + read::put_flag(s, "Expression::modelLevelEvaluable()", answer, &mut *out) +} + +/// `Feature::chainingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_chaining_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "chainingFeature") { return st; } + read::handles(s, e, "chainingFeature", &mut *out) +} + +/// `Feature::crossFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_cross_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "crossFeature") { return st; } + read::reference(s, e, "crossFeature", &mut *out) +} + +/// `Feature::direction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_direction(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "direction") { return st; } + read::text(s, e, "direction", &mut *out) +} + +/// `Feature::endOwningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_end_owning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "endOwningType") { return st; } + read::reference(s, e, "endOwningType", &mut *out) +} + +/// `Feature::featureTarget` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_feature_target(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "featureTarget") { return st; } + read::reference(s, e, "featureTarget", &mut *out) +} + +/// `Feature::featuringType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_featuring_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "featuringType") { return st; } + read::handles(s, e, "featuringType", &mut *out) +} + +/// `Feature::isComposite` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_composite(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isComposite") { return st; } + read::flag(s, e, "isComposite", &mut *out) +} + +/// `Feature::isConstant` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_constant(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isConstant") { return st; } + read::flag(s, e, "isConstant", &mut *out) +} + +/// `Feature::isDerived` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_derived(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isDerived") { return st; } + read::flag(s, e, "isDerived", &mut *out) +} + +/// `Feature::isEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_end(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isEnd") { return st; } + read::flag(s, e, "isEnd", &mut *out) +} + +/// `Feature::isOrdered` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_ordered(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isOrdered") { return st; } + read::flag(s, e, "isOrdered", &mut *out) +} + +/// `Feature::isPortion` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_portion(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isPortion") { return st; } + read::flag(s, e, "isPortion", &mut *out) +} + +/// `Feature::isUnique` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_unique(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isUnique") { return st; } + read::flag(s, e, "isUnique", &mut *out) +} + +/// `Feature::isVariable` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_variable(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isVariable") { return st; } + read::flag(s, e, "isVariable", &mut *out) +} + +/// `Feature::ownedCrossSubsetting` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_cross_subsetting(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedCrossSubsetting") { return st; } + read::reference(s, e, "ownedCrossSubsetting", &mut *out) +} + +/// `Feature::ownedFeatureChaining` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_feature_chaining(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedFeatureChaining") { return st; } + read::handles(s, e, "ownedFeatureChaining", &mut *out) +} + +/// `Feature::ownedFeatureInverting` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_feature_inverting(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedFeatureInverting") { return st; } + read::handles(s, e, "ownedFeatureInverting", &mut *out) +} + +/// `Feature::ownedRedefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_redefinition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedRedefinition") { return st; } + read::handles(s, e, "ownedRedefinition", &mut *out) +} + +/// `Feature::ownedReferenceSubsetting` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_reference_subsetting(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedReferenceSubsetting") { return st; } + read::reference(s, e, "ownedReferenceSubsetting", &mut *out) +} + +/// `Feature::ownedSubsetting` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_subsetting(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedSubsetting") { return st; } + read::handles(s, e, "ownedSubsetting", &mut *out) +} + +/// `Feature::ownedTypeFeaturing` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_type_featuring(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedTypeFeaturing") { return st; } + read::handles(s, e, "ownedTypeFeaturing", &mut *out) +} + +/// `Feature::ownedTyping` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_typing(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedTyping") { return st; } + read::handles(s, e, "ownedTyping", &mut *out) +} + +/// `Feature::owningFeatureMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owning_feature_membership(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "owningFeatureMembership") { return st; } + read::reference(s, e, "owningFeatureMembership", &mut *out) +} + +/// `Feature::owningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "owningType") { return st; } + read::reference(s, e, "owningType", &mut *out) +} + +/// `Feature::type` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "type") { return st; } + read::handles(s, e, "type", &mut *out) +} + +/// `Feature::allRedefinedFeatures` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_all_redefined_features(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "allRedefinedFeatures") { return st; } + let answer = ops::call(s, e, "Feature", "allRedefinedFeatures", &[]); + read::put_handles(s, "Feature::allRedefinedFeatures()", answer, &mut *out) +} + +/// `Feature::asCartesianProduct` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_as_cartesian_product(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "asCartesianProduct") { return st; } + let answer = ops::call(s, e, "Feature", "asCartesianProduct", &[]); + read::put_handles(s, "Feature::asCartesianProduct()", answer, &mut *out) +} + +/// `Feature::canAccess` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_can_access(s: *mut Session, h: Handle, feature: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "canAccess") { return st; } + let answer = ops::call(s, e, "Feature", "canAccess", &[ops::Arg::Handle(feature)]); + read::put_flag(s, "Feature::canAccess()", answer, &mut *out) +} + +/// `Feature::directionFor` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_direction_for(s: *mut Session, h: Handle, ty: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "directionFor") { return st; } + let answer = ops::call(s, e, "Feature", "directionFor", &[ops::Arg::Handle(ty)]); + read::put_text(s, "Feature::directionFor()", answer, &mut *out) +} + +/// `Feature::isCartesianProduct` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_cartesian_product(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isCartesianProduct") { return st; } + let answer = ops::call(s, e, "Feature", "isCartesianProduct", &[]); + read::put_flag(s, "Feature::isCartesianProduct()", answer, &mut *out) +} + +/// `Feature::isFeaturedWithin` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_featured_within(s: *mut Session, h: Handle, ty: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isFeaturedWithin") { return st; } + let answer = ops::call(s, e, "Feature", "isFeaturedWithin", &[ops::Arg::Handle(ty)]); + read::put_flag(s, "Feature::isFeaturedWithin()", answer, &mut *out) +} + +/// `Feature::isFeaturingType` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_featuring_type(s: *mut Session, h: Handle, ty: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isFeaturingType") { return st; } + let answer = ops::call(s, e, "Feature", "isFeaturingType", &[ops::Arg::Handle(ty)]); + read::put_flag(s, "Feature::isFeaturingType()", answer, &mut *out) +} + +/// `Feature::isOwnedCrossFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_is_owned_cross_feature(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "isOwnedCrossFeature") { return st; } + let answer = ops::call(s, e, "Feature", "isOwnedCrossFeature", &[]); + read::put_flag(s, "Feature::isOwnedCrossFeature()", answer, &mut *out) +} + +/// `Feature::namingFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_naming_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "namingFeature") { return st; } + let answer = ops::call(s, e, "Feature", "namingFeature", &[]); + read::put_reference(s, "Feature::namingFeature()", answer, &mut *out) +} + +/// `Feature::ownedCrossFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_owned_cross_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "ownedCrossFeature") { return st; } + let answer = ops::call(s, e, "Feature", "ownedCrossFeature", &[]); + read::put_reference(s, "Feature::ownedCrossFeature()", answer, &mut *out) +} + +/// `Feature::redefines` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_redefines(s: *mut Session, h: Handle, redefined_feature: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "redefines") { return st; } + let answer = ops::call(s, e, "Feature", "redefines", &[ops::Arg::Handle(redefined_feature)]); + read::put_flag(s, "Feature::redefines()", answer, &mut *out) +} + +/// `Feature::redefinesFromLibrary` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_redefines_from_library(s: *mut Session, h: Handle, library_feature_name: *const Str, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() || library_feature_name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "redefinesFromLibrary") { return st; } + let answer = ops::call(s, e, "Feature", "redefinesFromLibrary", &[ops::Arg::Str(&*library_feature_name)]); + read::put_flag(s, "Feature::redefinesFromLibrary()", answer, &mut *out) +} + +/// `Feature::subsetsChain` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_subsets_chain(s: *mut Session, h: Handle, first: Handle, second: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "subsetsChain") { return st; } + let answer = ops::call(s, e, "Feature", "subsetsChain", &[ops::Arg::Handle(first), ops::Arg::Handle(second)]); + read::put_flag(s, "Feature::subsetsChain()", answer, &mut *out) +} + +/// `Feature::typingFeatures` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_typing_features(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Feature", "typingFeatures") { return st; } + let answer = ops::call(s, e, "Feature", "typingFeatures", &[]); + read::put_handles(s, "Feature::typingFeatures()", answer, &mut *out) +} + +/// `FeatureChainExpression::targetFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_chain_expression_target_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureChainExpression", "targetFeature") { return st; } + read::reference(s, e, "targetFeature", &mut *out) +} + +/// `FeatureChainExpression::sourceTargetFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_chain_expression_source_target_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureChainExpression", "sourceTargetFeature") { return st; } + let answer = ops::call(s, e, "FeatureChainExpression", "sourceTargetFeature", &[]); + read::put_reference(s, "FeatureChainExpression::sourceTargetFeature()", answer, &mut *out) +} + +/// `FeatureChaining::chainingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_chaining_chaining_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureChaining", "chainingFeature") { return st; } + read::reference(s, e, "chainingFeature", &mut *out) +} + +/// `FeatureChaining::featureChained` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_chaining_feature_chained(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureChaining", "featureChained") { return st; } + read::reference(s, e, "featureChained", &mut *out) +} + +/// `FeatureInverting::featureInverted` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_inverting_feature_inverted(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureInverting", "featureInverted") { return st; } + read::reference(s, e, "featureInverted", &mut *out) +} + +/// `FeatureInverting::invertingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_inverting_inverting_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureInverting", "invertingFeature") { return st; } + read::reference(s, e, "invertingFeature", &mut *out) +} + +/// `FeatureInverting::owningFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_inverting_owning_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureInverting", "owningFeature") { return st; } + read::reference(s, e, "owningFeature", &mut *out) +} + +/// `FeatureMembership::ownedMemberFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_membership_owned_member_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureMembership", "ownedMemberFeature") { return st; } + read::reference(s, e, "ownedMemberFeature", &mut *out) +} + +/// `FeatureMembership::owningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_membership_owning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureMembership", "owningType") { return st; } + read::reference(s, e, "owningType", &mut *out) +} + +/// `FeatureReferenceExpression::referent` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_reference_expression_referent(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureReferenceExpression", "referent") { return st; } + read::reference(s, e, "referent", &mut *out) +} + +/// `FeatureTyping::owningFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_typing_owning_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureTyping", "owningFeature") { return st; } + read::reference(s, e, "owningFeature", &mut *out) +} + +/// `FeatureTyping::type` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_typing_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureTyping", "type") { return st; } + read::reference(s, e, "type", &mut *out) +} + +/// `FeatureTyping::typedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_typing_typed_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureTyping", "typedFeature") { return st; } + read::reference(s, e, "typedFeature", &mut *out) +} + +/// `FeatureValue::featureWithValue` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_value_feature_with_value(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureValue", "featureWithValue") { return st; } + read::reference(s, e, "featureWithValue", &mut *out) +} + +/// `FeatureValue::isDefault` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_value_is_default(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureValue", "isDefault") { return st; } + read::flag(s, e, "isDefault", &mut *out) +} + +/// `FeatureValue::isInitial` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_value_is_initial(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureValue", "isInitial") { return st; } + read::flag(s, e, "isInitial", &mut *out) +} + +/// `FeatureValue::value` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_feature_value_value(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FeatureValue", "value") { return st; } + read::reference(s, e, "value", &mut *out) +} + +/// `Flow::flowEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_flow_end(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Flow", "flowEnd") { return st; } + read::handles(s, e, "flowEnd", &mut *out) +} + +/// `Flow::interaction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_interaction(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Flow", "interaction") { return st; } + read::handles(s, e, "interaction", &mut *out) +} + +/// `Flow::payloadFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_payload_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Flow", "payloadFeature") { return st; } + read::reference(s, e, "payloadFeature", &mut *out) +} + +/// `Flow::payloadType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_payload_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Flow", "payloadType") { return st; } + read::handles(s, e, "payloadType", &mut *out) +} + +/// `Flow::sourceOutputFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_source_output_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Flow", "sourceOutputFeature") { return st; } + read::reference(s, e, "sourceOutputFeature", &mut *out) +} + +/// `Flow::targetInputFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_target_input_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Flow", "targetInputFeature") { return st; } + read::reference(s, e, "targetInputFeature", &mut *out) +} + +/// `FlowDefinition::flowEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_definition_flow_end(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FlowDefinition", "flowEnd") { return st; } + read::handles(s, e, "flowEnd", &mut *out) +} + +/// `FlowUsage::flowDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_flow_usage_flow_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FlowUsage", "flowDefinition") { return st; } + read::handles(s, e, "flowDefinition", &mut *out) +} + +/// `ForLoopActionUsage::loopVariable` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_for_loop_action_usage_loop_variable(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ForLoopActionUsage", "loopVariable") { return st; } + read::reference(s, e, "loopVariable", &mut *out) +} + +/// `ForLoopActionUsage::seqArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_for_loop_action_usage_seq_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ForLoopActionUsage", "seqArgument") { return st; } + read::reference(s, e, "seqArgument", &mut *out) +} + +/// `FramedConcernMembership::ownedConcern` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_framed_concern_membership_owned_concern(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FramedConcernMembership", "ownedConcern") { return st; } + read::reference(s, e, "ownedConcern", &mut *out) +} + +/// `FramedConcernMembership::referencedConcern` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_framed_concern_membership_referenced_concern(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "FramedConcernMembership", "referencedConcern") { return st; } + read::reference(s, e, "referencedConcern", &mut *out) +} + +/// `Function::expression` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_function_expression(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Function", "expression") { return st; } + read::handles(s, e, "expression", &mut *out) +} + +/// `Function::isModelLevelEvaluable` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_function_is_model_level_evaluable(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Function", "isModelLevelEvaluable") { return st; } + read::flag(s, e, "isModelLevelEvaluable", &mut *out) +} + +/// `Function::result` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_function_result(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Function", "result") { return st; } + read::reference(s, e, "result", &mut *out) +} + +/// `IfActionUsage::elseAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_if_action_usage_else_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "IfActionUsage", "elseAction") { return st; } + read::reference(s, e, "elseAction", &mut *out) +} + +/// `IfActionUsage::ifArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_if_action_usage_if_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "IfActionUsage", "ifArgument") { return st; } + read::reference(s, e, "ifArgument", &mut *out) +} + +/// `IfActionUsage::thenAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_if_action_usage_then_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "IfActionUsage", "thenAction") { return st; } + read::reference(s, e, "thenAction", &mut *out) +} + +/// `Import::importOwningNamespace` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_import_import_owning_namespace(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Import", "importOwningNamespace") { return st; } + read::reference(s, e, "importOwningNamespace", &mut *out) +} + +/// `Import::importedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_import_imported_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Import", "importedElement") { return st; } + read::reference(s, e, "importedElement", &mut *out) +} + +/// `Import::isImportAll` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_import_is_import_all(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Import", "isImportAll") { return st; } + read::flag(s, e, "isImportAll", &mut *out) +} + +/// `Import::isRecursive` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_import_is_recursive(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Import", "isRecursive") { return st; } + read::flag(s, e, "isRecursive", &mut *out) +} + +/// `Import::visibility` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_import_visibility(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Import", "visibility") { return st; } + read::text(s, e, "visibility", &mut *out) +} + +/// `Import::importedMemberships` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_import_imported_memberships(s: *mut Session, h: Handle, excluded: *const Handles, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || excluded.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Import", "importedMemberships") { return st; } + let answer = ops::call(s, e, "Import", "importedMemberships", &[ops::Arg::Handles(&*excluded)]); + read::put_handles(s, "Import::importedMemberships()", answer, &mut *out) +} + +/// `IncludeUseCaseUsage::useCaseIncluded` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_include_use_case_usage_use_case_included(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "IncludeUseCaseUsage", "useCaseIncluded") { return st; } + read::reference(s, e, "useCaseIncluded", &mut *out) +} + +/// `InstantiationExpression::argument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_instantiation_expression_argument(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "InstantiationExpression", "argument") { return st; } + read::handles(s, e, "argument", &mut *out) +} + +/// `InstantiationExpression::instantiatedType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_instantiation_expression_instantiated_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "InstantiationExpression", "instantiatedType") { return st; } + read::reference(s, e, "instantiatedType", &mut *out) +} + +/// `InstantiationExpression::instantiatedType` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_instantiation_expression_instantiated_type_op(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "InstantiationExpression", "instantiatedType") { return st; } + let answer = ops::call(s, e, "InstantiationExpression", "instantiatedType", &[]); + read::put_reference(s, "InstantiationExpression::instantiatedType()", answer, &mut *out) +} + +/// `InterfaceDefinition::interfaceEnd` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_interface_definition_interface_end(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "InterfaceDefinition", "interfaceEnd") { return st; } + read::handles(s, e, "interfaceEnd", &mut *out) +} + +/// `InterfaceUsage::interfaceDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_interface_usage_interface_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "InterfaceUsage", "interfaceDefinition") { return st; } + read::handles(s, e, "interfaceDefinition", &mut *out) +} + +/// `Intersecting::intersectingType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_intersecting_intersecting_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Intersecting", "intersectingType") { return st; } + read::reference(s, e, "intersectingType", &mut *out) +} + +/// `Intersecting::typeIntersected` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_intersecting_type_intersected(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Intersecting", "typeIntersected") { return st; } + read::reference(s, e, "typeIntersected", &mut *out) +} + +/// `Invariant::isNegated` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_invariant_is_negated(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Invariant", "isNegated") { return st; } + read::flag(s, e, "isNegated", &mut *out) +} + +/// `ItemUsage::itemDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_item_usage_item_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ItemUsage", "itemDefinition") { return st; } + read::handles(s, e, "itemDefinition", &mut *out) +} + +/// `LibraryPackage::isStandard` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_library_package_is_standard(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "LibraryPackage", "isStandard") { return st; } + read::flag(s, e, "isStandard", &mut *out) +} + +/// `LiteralBoolean::value` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_literal_boolean_value(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "LiteralBoolean", "value") { return st; } + read::flag(s, e, "value", &mut *out) +} + +/// `LiteralInteger::value` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_literal_integer_value(s: *mut Session, h: Handle, out: *mut Int) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "LiteralInteger", "value") { return st; } + read::integer(s, e, "value", &mut *out) +} + +/// `LiteralRational::value` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_literal_rational_value(s: *mut Session, h: Handle, out: *mut Real) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "LiteralRational", "value") { return st; } + read::real(s, e, "value", &mut *out) +} + +/// `LiteralString::value` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_literal_string_value(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "LiteralString", "value") { return st; } + read::text(s, e, "value", &mut *out) +} + +/// `LoopActionUsage::bodyAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_loop_action_usage_body_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "LoopActionUsage", "bodyAction") { return st; } + read::reference(s, e, "bodyAction", &mut *out) +} + +/// `Membership::memberElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_member_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "memberElement") { return st; } + read::reference(s, e, "memberElement", &mut *out) +} + +/// `Membership::memberElementId` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_member_element_id(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "memberElementId") { return st; } + read::text(s, e, "memberElementId", &mut *out) +} + +/// `Membership::memberName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_member_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "memberName") { return st; } + read::text(s, e, "memberName", &mut *out) +} + +/// `Membership::memberShortName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_member_short_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "memberShortName") { return st; } + read::text(s, e, "memberShortName", &mut *out) +} + +/// `Membership::membershipOwningNamespace` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_membership_owning_namespace(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "membershipOwningNamespace") { return st; } + read::reference(s, e, "membershipOwningNamespace", &mut *out) +} + +/// `Membership::visibility` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_visibility(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "visibility") { return st; } + read::text(s, e, "visibility", &mut *out) +} + +/// `Membership::isDistinguishableFrom` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_is_distinguishable_from(s: *mut Session, h: Handle, other: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Membership", "isDistinguishableFrom") { return st; } + let answer = ops::call(s, e, "Membership", "isDistinguishableFrom", &[ops::Arg::Handle(other)]); + read::put_flag(s, "Membership::isDistinguishableFrom()", answer, &mut *out) +} + +/// `MembershipImport::importedMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_membership_import_imported_membership(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MembershipImport", "importedMembership") { return st; } + read::reference(s, e, "importedMembership", &mut *out) +} + +/// `MetadataAccessExpression::referencedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_access_expression_referenced_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataAccessExpression", "referencedElement") { return st; } + read::reference(s, e, "referencedElement", &mut *out) +} + +/// `MetadataAccessExpression::metaclassFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_access_expression_metaclass_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataAccessExpression", "metaclassFeature") { return st; } + let answer = ops::call(s, e, "MetadataAccessExpression", "metaclassFeature", &[]); + read::put_reference(s, "MetadataAccessExpression::metaclassFeature()", answer, &mut *out) +} + +/// `MetadataFeature::metaclass` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_feature_metaclass(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataFeature", "metaclass") { return st; } + read::reference(s, e, "metaclass", &mut *out) +} + +/// `MetadataFeature::evaluateFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_feature_evaluate_feature(s: *mut Session, h: Handle, base_feature: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataFeature", "evaluateFeature") { return st; } + let answer = ops::call(s, e, "MetadataFeature", "evaluateFeature", &[ops::Arg::Handle(base_feature)]); + read::put_handles(s, "MetadataFeature::evaluateFeature()", answer, &mut *out) +} + +/// `MetadataFeature::isSemantic` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_feature_is_semantic(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataFeature", "isSemantic") { return st; } + let answer = ops::call(s, e, "MetadataFeature", "isSemantic", &[]); + read::put_flag(s, "MetadataFeature::isSemantic()", answer, &mut *out) +} + +/// `MetadataFeature::isSyntactic` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_feature_is_syntactic(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataFeature", "isSyntactic") { return st; } + let answer = ops::call(s, e, "MetadataFeature", "isSyntactic", &[]); + read::put_flag(s, "MetadataFeature::isSyntactic()", answer, &mut *out) +} + +/// `MetadataFeature::syntaxElement` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_feature_syntax_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataFeature", "syntaxElement") { return st; } + let answer = ops::call(s, e, "MetadataFeature", "syntaxElement", &[]); + read::put_reference(s, "MetadataFeature::syntaxElement()", answer, &mut *out) +} + +/// `MetadataUsage::metadataDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metadata_usage_metadata_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MetadataUsage", "metadataDefinition") { return st; } + read::reference(s, e, "metadataDefinition", &mut *out) +} + +/// `MultiplicityRange::bound` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_multiplicity_range_bound(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MultiplicityRange", "bound") { return st; } + read::handles(s, e, "bound", &mut *out) +} + +/// `MultiplicityRange::lowerBound` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_multiplicity_range_lower_bound(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MultiplicityRange", "lowerBound") { return st; } + read::reference(s, e, "lowerBound", &mut *out) +} + +/// `MultiplicityRange::upperBound` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_multiplicity_range_upper_bound(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MultiplicityRange", "upperBound") { return st; } + read::reference(s, e, "upperBound", &mut *out) +} + +/// `MultiplicityRange::hasBounds` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_multiplicity_range_has_bounds(s: *mut Session, h: Handle, lower: *const Str, upper: *const Str, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() || lower.is_null() || upper.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MultiplicityRange", "hasBounds") { return st; } + let answer = ops::call(s, e, "MultiplicityRange", "hasBounds", &[ops::Arg::Str(&*lower), ops::Arg::Str(&*upper)]); + read::put_flag(s, "MultiplicityRange::hasBounds()", answer, &mut *out) +} + +/// `MultiplicityRange::valueOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_multiplicity_range_value_of(s: *mut Session, h: Handle, bound: Handle, out: *mut Int) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "MultiplicityRange", "valueOf") { return st; } + let answer = ops::call(s, e, "MultiplicityRange", "valueOf", &[ops::Arg::Handle(bound)]); + read::put_integer(s, "MultiplicityRange::valueOf()", answer, &mut *out) +} + +/// `Namespace::importedMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_imported_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "importedMembership") { return st; } + read::handles(s, e, "importedMembership", &mut *out) +} + +/// `Namespace::member` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_member(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "member") { return st; } + read::handles(s, e, "member", &mut *out) +} + +/// `Namespace::membership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "membership") { return st; } + read::handles(s, e, "membership", &mut *out) +} + +/// `Namespace::ownedImport` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_owned_import(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "ownedImport") { return st; } + read::handles(s, e, "ownedImport", &mut *out) +} + +/// `Namespace::ownedMember` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_owned_member(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "ownedMember") { return st; } + read::handles(s, e, "ownedMember", &mut *out) +} + +/// `Namespace::ownedMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_owned_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "ownedMembership") { return st; } + read::handles(s, e, "ownedMembership", &mut *out) +} + +/// `Namespace::importedMemberships` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_imported_memberships(s: *mut Session, h: Handle, excluded: *const Handles, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || excluded.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "importedMemberships") { return st; } + let answer = ops::call(s, e, "Namespace", "importedMemberships", &[ops::Arg::Handles(&*excluded)]); + read::put_handles(s, "Namespace::importedMemberships()", answer, &mut *out) +} + +/// `Namespace::membershipsOfVisibility` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_memberships_of_visibility(s: *mut Session, h: Handle, visibility: *const Str, excluded: *const Handles, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || visibility.is_null() || excluded.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "membershipsOfVisibility") { return st; } + let answer = ops::call(s, e, "Namespace", "membershipsOfVisibility", &[ops::Arg::Str(&*visibility), ops::Arg::Handles(&*excluded)]); + read::put_handles(s, "Namespace::membershipsOfVisibility()", answer, &mut *out) +} + +/// `Namespace::namesOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_names_of(s: *mut Session, h: Handle, element: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "namesOf") { return st; } + let answer = ops::call(s, e, "Namespace", "namesOf", &[ops::Arg::Handle(element)]); + read::put_text(s, "Namespace::namesOf()", answer, &mut *out) +} + +/// `Namespace::qualificationOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_qualification_of(s: *mut Session, h: Handle, qualified_name: *const Str, out: *mut Str) -> Status { + if s.is_null() || out.is_null() || qualified_name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "qualificationOf") { return st; } + let answer = ops::call(s, e, "Namespace", "qualificationOf", &[ops::Arg::Str(&*qualified_name)]); + read::put_text(s, "Namespace::qualificationOf()", answer, &mut *out) +} + +/// `Namespace::resolve` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_resolve(s: *mut Session, h: Handle, qualified_name: *const Str, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() || qualified_name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "resolve") { return st; } + let answer = ops::call(s, e, "Namespace", "resolve", &[ops::Arg::Str(&*qualified_name)]); + read::put_reference(s, "Namespace::resolve()", answer, &mut *out) +} + +/// `Namespace::resolveGlobal` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_resolve_global(s: *mut Session, h: Handle, qualified_name: *const Str, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() || qualified_name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "resolveGlobal") { return st; } + let answer = ops::call(s, e, "Namespace", "resolveGlobal", &[ops::Arg::Str(&*qualified_name)]); + read::put_reference(s, "Namespace::resolveGlobal()", answer, &mut *out) +} + +/// `Namespace::resolveLocal` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_resolve_local(s: *mut Session, h: Handle, name: *const Str, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() || name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "resolveLocal") { return st; } + let answer = ops::call(s, e, "Namespace", "resolveLocal", &[ops::Arg::Str(&*name)]); + read::put_reference(s, "Namespace::resolveLocal()", answer, &mut *out) +} + +/// `Namespace::resolveVisible` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_resolve_visible(s: *mut Session, h: Handle, name: *const Str, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() || name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "resolveVisible") { return st; } + let answer = ops::call(s, e, "Namespace", "resolveVisible", &[ops::Arg::Str(&*name)]); + read::put_reference(s, "Namespace::resolveVisible()", answer, &mut *out) +} + +/// `Namespace::unqualifiedNameOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_unqualified_name_of(s: *mut Session, h: Handle, qualified_name: *const Str, out: *mut Str) -> Status { + if s.is_null() || out.is_null() || qualified_name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "unqualifiedNameOf") { return st; } + let answer = ops::call(s, e, "Namespace", "unqualifiedNameOf", &[ops::Arg::Str(&*qualified_name)]); + read::put_text(s, "Namespace::unqualifiedNameOf()", answer, &mut *out) +} + +/// `Namespace::visibilityOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_visibility_of(s: *mut Session, h: Handle, mem: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "visibilityOf") { return st; } + let answer = ops::call(s, e, "Namespace", "visibilityOf", &[ops::Arg::Handle(mem)]); + read::put_text(s, "Namespace::visibilityOf()", answer, &mut *out) +} + +/// `Namespace::visibleMemberships` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_visible_memberships(s: *mut Session, h: Handle, excluded: *const Handles, is_recursive: bool, include_all: bool, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || excluded.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Namespace", "visibleMemberships") { return st; } + let answer = ops::call(s, e, "Namespace", "visibleMemberships", &[ops::Arg::Handles(&*excluded), ops::Arg::Bool(is_recursive), ops::Arg::Bool(include_all)]); + read::put_handles(s, "Namespace::visibleMemberships()", answer, &mut *out) +} + +/// `NamespaceImport::importedNamespace` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_namespace_import_imported_namespace(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "NamespaceImport", "importedNamespace") { return st; } + read::reference(s, e, "importedNamespace", &mut *out) +} + +/// `ObjectiveMembership::ownedObjectiveRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_objective_membership_owned_objective_requirement(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ObjectiveMembership", "ownedObjectiveRequirement") { return st; } + read::reference(s, e, "ownedObjectiveRequirement", &mut *out) +} + +/// `OccurrenceDefinition::isIndividual` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_occurrence_definition_is_individual(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OccurrenceDefinition", "isIndividual") { return st; } + read::flag(s, e, "isIndividual", &mut *out) +} + +/// `OccurrenceUsage::individualDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_occurrence_usage_individual_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OccurrenceUsage", "individualDefinition") { return st; } + read::reference(s, e, "individualDefinition", &mut *out) +} + +/// `OccurrenceUsage::isIndividual` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_occurrence_usage_is_individual(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OccurrenceUsage", "isIndividual") { return st; } + read::flag(s, e, "isIndividual", &mut *out) +} + +/// `OccurrenceUsage::occurrenceDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_occurrence_usage_occurrence_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OccurrenceUsage", "occurrenceDefinition") { return st; } + read::handles(s, e, "occurrenceDefinition", &mut *out) +} + +/// `OccurrenceUsage::portionKind` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_occurrence_usage_portion_kind(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OccurrenceUsage", "portionKind") { return st; } + read::text(s, e, "portionKind", &mut *out) +} + +/// `OperatorExpression::operator` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_operator_expression_operator(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OperatorExpression", "operator") { return st; } + read::text(s, e, "operator", &mut *out) +} + +/// `OwningMembership::ownedMemberElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_owning_membership_owned_member_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OwningMembership", "ownedMemberElement") { return st; } + read::reference(s, e, "ownedMemberElement", &mut *out) +} + +/// `OwningMembership::ownedMemberElementId` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_owning_membership_owned_member_element_id(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OwningMembership", "ownedMemberElementId") { return st; } + read::text(s, e, "ownedMemberElementId", &mut *out) +} + +/// `OwningMembership::ownedMemberName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_owning_membership_owned_member_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OwningMembership", "ownedMemberName") { return st; } + read::text(s, e, "ownedMemberName", &mut *out) +} + +/// `OwningMembership::ownedMemberShortName` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_owning_membership_owned_member_short_name(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "OwningMembership", "ownedMemberShortName") { return st; } + read::text(s, e, "ownedMemberShortName", &mut *out) +} + +/// `Package::filterCondition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_package_filter_condition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Package", "filterCondition") { return st; } + read::handles(s, e, "filterCondition", &mut *out) +} + +/// `Package::includeAsMember` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_package_include_as_member(s: *mut Session, h: Handle, element: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Package", "includeAsMember") { return st; } + let answer = ops::call(s, e, "Package", "includeAsMember", &[ops::Arg::Handle(element)]); + read::put_flag(s, "Package::includeAsMember()", answer, &mut *out) +} + +/// `ParameterMembership::ownedMemberParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_parameter_membership_owned_member_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ParameterMembership", "ownedMemberParameter") { return st; } + read::reference(s, e, "ownedMemberParameter", &mut *out) +} + +/// `ParameterMembership::parameterDirection` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_parameter_membership_parameter_direction(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ParameterMembership", "parameterDirection") { return st; } + let answer = ops::call(s, e, "ParameterMembership", "parameterDirection", &[]); + read::put_text(s, "ParameterMembership::parameterDirection()", answer, &mut *out) +} + +/// `PartUsage::partDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_part_usage_part_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "PartUsage", "partDefinition") { return st; } + read::handles(s, e, "partDefinition", &mut *out) +} + +/// `PerformActionUsage::performedAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_perform_action_usage_performed_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "PerformActionUsage", "performedAction") { return st; } + read::reference(s, e, "performedAction", &mut *out) +} + +/// `PortConjugation::conjugatedPortDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_port_conjugation_conjugated_port_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "PortConjugation", "conjugatedPortDefinition") { return st; } + read::reference(s, e, "conjugatedPortDefinition", &mut *out) +} + +/// `PortConjugation::originalPortDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_port_conjugation_original_port_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "PortConjugation", "originalPortDefinition") { return st; } + read::reference(s, e, "originalPortDefinition", &mut *out) +} + +/// `PortDefinition::conjugatedPortDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_port_definition_conjugated_port_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "PortDefinition", "conjugatedPortDefinition") { return st; } + read::reference(s, e, "conjugatedPortDefinition", &mut *out) +} + +/// `PortUsage::portDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_port_usage_port_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "PortUsage", "portDefinition") { return st; } + read::handles(s, e, "portDefinition", &mut *out) +} + +/// `Redefinition::redefinedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_redefinition_redefined_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Redefinition", "redefinedFeature") { return st; } + read::reference(s, e, "redefinedFeature", &mut *out) +} + +/// `Redefinition::redefiningFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_redefinition_redefining_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Redefinition", "redefiningFeature") { return st; } + read::reference(s, e, "redefiningFeature", &mut *out) +} + +/// `ReferenceSubsetting::referencedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_reference_subsetting_referenced_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ReferenceSubsetting", "referencedFeature") { return st; } + read::reference(s, e, "referencedFeature", &mut *out) +} + +/// `ReferenceSubsetting::referencingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_reference_subsetting_referencing_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ReferenceSubsetting", "referencingFeature") { return st; } + read::reference(s, e, "referencingFeature", &mut *out) +} + +/// `Relationship::isImplied` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_relationship_is_implied(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Relationship", "isImplied") { return st; } + read::flag(s, e, "isImplied", &mut *out) +} + +/// `Relationship::ownedRelatedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_relationship_owned_related_element(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Relationship", "ownedRelatedElement") { return st; } + read::handles(s, e, "ownedRelatedElement", &mut *out) +} + +/// `Relationship::owningRelatedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_relationship_owning_related_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Relationship", "owningRelatedElement") { return st; } + read::reference(s, e, "owningRelatedElement", &mut *out) +} + +/// `Relationship::relatedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_relationship_related_element(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Relationship", "relatedElement") { return st; } + read::handles(s, e, "relatedElement", &mut *out) +} + +/// `Relationship::source` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_relationship_source(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Relationship", "source") { return st; } + read::handles(s, e, "source", &mut *out) +} + +/// `Relationship::target` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_relationship_target(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Relationship", "target") { return st; } + read::handles(s, e, "target", &mut *out) +} + +/// `RenderingDefinition::rendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_rendering_definition_rendering(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RenderingDefinition", "rendering") { return st; } + read::handles(s, e, "rendering", &mut *out) +} + +/// `RenderingUsage::renderingDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_rendering_usage_rendering_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RenderingUsage", "renderingDefinition") { return st; } + read::reference(s, e, "renderingDefinition", &mut *out) +} + +/// `RequirementConstraintMembership::kind` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_constraint_membership_kind(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementConstraintMembership", "kind") { return st; } + read::text(s, e, "kind", &mut *out) +} + +/// `RequirementConstraintMembership::ownedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_constraint_membership_owned_constraint(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementConstraintMembership", "ownedConstraint") { return st; } + read::reference(s, e, "ownedConstraint", &mut *out) +} + +/// `RequirementConstraintMembership::referencedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_constraint_membership_referenced_constraint(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementConstraintMembership", "referencedConstraint") { return st; } + read::reference(s, e, "referencedConstraint", &mut *out) +} + +/// `RequirementDefinition::actorParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_actor_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "actorParameter") { return st; } + read::handles(s, e, "actorParameter", &mut *out) +} + +/// `RequirementDefinition::assumedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_assumed_constraint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "assumedConstraint") { return st; } + read::handles(s, e, "assumedConstraint", &mut *out) +} + +/// `RequirementDefinition::framedConcern` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_framed_concern(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "framedConcern") { return st; } + read::handles(s, e, "framedConcern", &mut *out) +} + +/// `RequirementDefinition::reqId` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_req_id(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "reqId") { return st; } + read::text(s, e, "reqId", &mut *out) +} + +/// `RequirementDefinition::requiredConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_required_constraint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "requiredConstraint") { return st; } + read::handles(s, e, "requiredConstraint", &mut *out) +} + +/// `RequirementDefinition::stakeholderParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_stakeholder_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "stakeholderParameter") { return st; } + read::handles(s, e, "stakeholderParameter", &mut *out) +} + +/// `RequirementDefinition::subjectParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_subject_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "subjectParameter") { return st; } + read::reference(s, e, "subjectParameter", &mut *out) +} + +/// `RequirementDefinition::text` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_definition_text(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementDefinition", "text") { return st; } + read::text(s, e, "text", &mut *out) +} + +/// `RequirementUsage::actorParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_actor_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "actorParameter") { return st; } + read::handles(s, e, "actorParameter", &mut *out) +} + +/// `RequirementUsage::assumedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_assumed_constraint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "assumedConstraint") { return st; } + read::handles(s, e, "assumedConstraint", &mut *out) +} + +/// `RequirementUsage::framedConcern` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_framed_concern(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "framedConcern") { return st; } + read::handles(s, e, "framedConcern", &mut *out) +} + +/// `RequirementUsage::reqId` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_req_id(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "reqId") { return st; } + read::text(s, e, "reqId", &mut *out) +} + +/// `RequirementUsage::requiredConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_required_constraint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "requiredConstraint") { return st; } + read::handles(s, e, "requiredConstraint", &mut *out) +} + +/// `RequirementUsage::requirementDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_requirement_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "requirementDefinition") { return st; } + read::reference(s, e, "requirementDefinition", &mut *out) +} + +/// `RequirementUsage::stakeholderParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_stakeholder_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "stakeholderParameter") { return st; } + read::handles(s, e, "stakeholderParameter", &mut *out) +} + +/// `RequirementUsage::subjectParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_subject_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "subjectParameter") { return st; } + read::reference(s, e, "subjectParameter", &mut *out) +} + +/// `RequirementUsage::text` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_usage_text(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementUsage", "text") { return st; } + read::text(s, e, "text", &mut *out) +} + +/// `RequirementVerificationMembership::ownedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_verification_membership_owned_requirement(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementVerificationMembership", "ownedRequirement") { return st; } + read::reference(s, e, "ownedRequirement", &mut *out) +} + +/// `RequirementVerificationMembership::verifiedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_requirement_verification_membership_verified_requirement(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "RequirementVerificationMembership", "verifiedRequirement") { return st; } + read::reference(s, e, "verifiedRequirement", &mut *out) +} + +/// `ResultExpressionMembership::ownedResultExpression` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_result_expression_membership_owned_result_expression(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ResultExpressionMembership", "ownedResultExpression") { return st; } + read::reference(s, e, "ownedResultExpression", &mut *out) +} + +/// `SatisfyRequirementUsage::satisfiedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_satisfy_requirement_usage_satisfied_requirement(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "SatisfyRequirementUsage", "satisfiedRequirement") { return st; } + read::reference(s, e, "satisfiedRequirement", &mut *out) +} + +/// `SatisfyRequirementUsage::satisfyingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_satisfy_requirement_usage_satisfying_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "SatisfyRequirementUsage", "satisfyingFeature") { return st; } + read::reference(s, e, "satisfyingFeature", &mut *out) +} + +/// `SendActionUsage::payloadArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_send_action_usage_payload_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "SendActionUsage", "payloadArgument") { return st; } + read::reference(s, e, "payloadArgument", &mut *out) +} + +/// `SendActionUsage::receiverArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_send_action_usage_receiver_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "SendActionUsage", "receiverArgument") { return st; } + read::reference(s, e, "receiverArgument", &mut *out) +} + +/// `SendActionUsage::senderArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_send_action_usage_sender_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "SendActionUsage", "senderArgument") { return st; } + read::reference(s, e, "senderArgument", &mut *out) +} + +/// `Specialization::general` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_specialization_general(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Specialization", "general") { return st; } + read::reference(s, e, "general", &mut *out) +} + +/// `Specialization::owningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_specialization_owning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Specialization", "owningType") { return st; } + read::reference(s, e, "owningType", &mut *out) +} + +/// `Specialization::specific` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_specialization_specific(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Specialization", "specific") { return st; } + read::reference(s, e, "specific", &mut *out) +} + +/// `StakeholderMembership::ownedStakeholderParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_stakeholder_membership_owned_stakeholder_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StakeholderMembership", "ownedStakeholderParameter") { return st; } + read::reference(s, e, "ownedStakeholderParameter", &mut *out) +} + +/// `StateDefinition::doAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_definition_do_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateDefinition", "doAction") { return st; } + read::reference(s, e, "doAction", &mut *out) +} + +/// `StateDefinition::entryAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_definition_entry_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateDefinition", "entryAction") { return st; } + read::reference(s, e, "entryAction", &mut *out) +} + +/// `StateDefinition::exitAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_definition_exit_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateDefinition", "exitAction") { return st; } + read::reference(s, e, "exitAction", &mut *out) +} + +/// `StateDefinition::isParallel` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_definition_is_parallel(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateDefinition", "isParallel") { return st; } + read::flag(s, e, "isParallel", &mut *out) +} + +/// `StateDefinition::state` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_definition_state(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateDefinition", "state") { return st; } + read::handles(s, e, "state", &mut *out) +} + +/// `StateSubactionMembership::action` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_subaction_membership_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateSubactionMembership", "action") { return st; } + read::reference(s, e, "action", &mut *out) +} + +/// `StateSubactionMembership::kind` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_subaction_membership_kind(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateSubactionMembership", "kind") { return st; } + read::text(s, e, "kind", &mut *out) +} + +/// `StateUsage::doAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_usage_do_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateUsage", "doAction") { return st; } + read::reference(s, e, "doAction", &mut *out) +} + +/// `StateUsage::entryAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_usage_entry_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateUsage", "entryAction") { return st; } + read::reference(s, e, "entryAction", &mut *out) +} + +/// `StateUsage::exitAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_usage_exit_action(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateUsage", "exitAction") { return st; } + read::reference(s, e, "exitAction", &mut *out) +} + +/// `StateUsage::isParallel` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_usage_is_parallel(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateUsage", "isParallel") { return st; } + read::flag(s, e, "isParallel", &mut *out) +} + +/// `StateUsage::stateDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_usage_state_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateUsage", "stateDefinition") { return st; } + read::handles(s, e, "stateDefinition", &mut *out) +} + +/// `StateUsage::isSubstateUsage` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_state_usage_is_substate_usage(s: *mut Session, h: Handle, is_parallel: bool, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "StateUsage", "isSubstateUsage") { return st; } + let answer = ops::call(s, e, "StateUsage", "isSubstateUsage", &[ops::Arg::Bool(is_parallel)]); + read::put_flag(s, "StateUsage::isSubstateUsage()", answer, &mut *out) +} + +/// `Step::behavior` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_step_behavior(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Step", "behavior") { return st; } + read::handles(s, e, "behavior", &mut *out) +} + +/// `Step::parameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_step_parameter(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Step", "parameter") { return st; } + read::handles(s, e, "parameter", &mut *out) +} + +/// `Subclassification::owningClassifier` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subclassification_owning_classifier(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Subclassification", "owningClassifier") { return st; } + read::reference(s, e, "owningClassifier", &mut *out) +} + +/// `Subclassification::subclassifier` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subclassification_subclassifier(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Subclassification", "subclassifier") { return st; } + read::reference(s, e, "subclassifier", &mut *out) +} + +/// `Subclassification::superclassifier` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subclassification_superclassifier(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Subclassification", "superclassifier") { return st; } + read::reference(s, e, "superclassifier", &mut *out) +} + +/// `SubjectMembership::ownedSubjectParameter` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subject_membership_owned_subject_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "SubjectMembership", "ownedSubjectParameter") { return st; } + read::reference(s, e, "ownedSubjectParameter", &mut *out) +} + +/// `Subsetting::owningFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subsetting_owning_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Subsetting", "owningFeature") { return st; } + read::reference(s, e, "owningFeature", &mut *out) +} + +/// `Subsetting::subsettedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subsetting_subsetted_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Subsetting", "subsettedFeature") { return st; } + read::reference(s, e, "subsettedFeature", &mut *out) +} + +/// `Subsetting::subsettingFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_subsetting_subsetting_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Subsetting", "subsettingFeature") { return st; } + read::reference(s, e, "subsettingFeature", &mut *out) +} + +/// `TerminateActionUsage::terminatedOccurrenceArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_terminate_action_usage_terminated_occurrence_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TerminateActionUsage", "terminatedOccurrenceArgument") { return st; } + read::reference(s, e, "terminatedOccurrenceArgument", &mut *out) +} + +/// `TextualRepresentation::body` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_textual_representation_body(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TextualRepresentation", "body") { return st; } + read::text(s, e, "body", &mut *out) +} + +/// `TextualRepresentation::language` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_textual_representation_language(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TextualRepresentation", "language") { return st; } + read::text(s, e, "language", &mut *out) +} + +/// `TextualRepresentation::representedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_textual_representation_represented_element(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TextualRepresentation", "representedElement") { return st; } + read::reference(s, e, "representedElement", &mut *out) +} + +/// `TransitionFeatureMembership::kind` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_feature_membership_kind(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionFeatureMembership", "kind") { return st; } + read::text(s, e, "kind", &mut *out) +} + +/// `TransitionFeatureMembership::transitionFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_feature_membership_transition_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionFeatureMembership", "transitionFeature") { return st; } + read::reference(s, e, "transitionFeature", &mut *out) +} + +/// `TransitionUsage::effectAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_effect_action(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "effectAction") { return st; } + read::handles(s, e, "effectAction", &mut *out) +} + +/// `TransitionUsage::guardExpression` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_guard_expression(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "guardExpression") { return st; } + read::handles(s, e, "guardExpression", &mut *out) +} + +/// `TransitionUsage::source` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_source(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "source") { return st; } + read::reference(s, e, "source", &mut *out) +} + +/// `TransitionUsage::succession` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_succession(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "succession") { return st; } + read::reference(s, e, "succession", &mut *out) +} + +/// `TransitionUsage::target` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_target(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "target") { return st; } + read::reference(s, e, "target", &mut *out) +} + +/// `TransitionUsage::triggerAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_trigger_action(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "triggerAction") { return st; } + read::handles(s, e, "triggerAction", &mut *out) +} + +/// `TransitionUsage::sourceFeature` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_source_feature(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "sourceFeature") { return st; } + let answer = ops::call(s, e, "TransitionUsage", "sourceFeature", &[]); + read::put_reference(s, "TransitionUsage::sourceFeature()", answer, &mut *out) +} + +/// `TransitionUsage::triggerPayloadParameter` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_transition_usage_trigger_payload_parameter(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TransitionUsage", "triggerPayloadParameter") { return st; } + let answer = ops::call(s, e, "TransitionUsage", "triggerPayloadParameter", &[]); + read::put_reference(s, "TransitionUsage::triggerPayloadParameter()", answer, &mut *out) +} + +/// `TriggerInvocationExpression::kind` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_trigger_invocation_expression_kind(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TriggerInvocationExpression", "kind") { return st; } + read::text(s, e, "kind", &mut *out) +} + +/// `Type::differencingType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_differencing_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "differencingType") { return st; } + read::handles(s, e, "differencingType", &mut *out) +} + +/// `Type::directedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_directed_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "directedFeature") { return st; } + read::handles(s, e, "directedFeature", &mut *out) +} + +/// `Type::endFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_end_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "endFeature") { return st; } + read::handles(s, e, "endFeature", &mut *out) +} + +/// `Type::feature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "feature") { return st; } + read::handles(s, e, "feature", &mut *out) +} + +/// `Type::featureMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_feature_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "featureMembership") { return st; } + read::handles(s, e, "featureMembership", &mut *out) +} + +/// `Type::inheritedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_inherited_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "inheritedFeature") { return st; } + read::handles(s, e, "inheritedFeature", &mut *out) +} + +/// `Type::inheritedMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_inherited_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "inheritedMembership") { return st; } + read::handles(s, e, "inheritedMembership", &mut *out) +} + +/// `Type::input` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_input(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "input") { return st; } + read::handles(s, e, "input", &mut *out) +} + +/// `Type::intersectingType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_intersecting_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "intersectingType") { return st; } + read::handles(s, e, "intersectingType", &mut *out) +} + +/// `Type::isAbstract` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_is_abstract(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "isAbstract") { return st; } + read::flag(s, e, "isAbstract", &mut *out) +} + +/// `Type::isConjugated` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_is_conjugated(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "isConjugated") { return st; } + read::flag(s, e, "isConjugated", &mut *out) +} + +/// `Type::isSufficient` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_is_sufficient(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "isSufficient") { return st; } + read::flag(s, e, "isSufficient", &mut *out) +} + +/// `Type::multiplicity` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_multiplicity(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "multiplicity") { return st; } + read::reference(s, e, "multiplicity", &mut *out) +} + +/// `Type::output` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_output(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "output") { return st; } + read::handles(s, e, "output", &mut *out) +} + +/// `Type::ownedConjugator` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_conjugator(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedConjugator") { return st; } + read::reference(s, e, "ownedConjugator", &mut *out) +} + +/// `Type::ownedDifferencing` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_differencing(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedDifferencing") { return st; } + read::handles(s, e, "ownedDifferencing", &mut *out) +} + +/// `Type::ownedDisjoining` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_disjoining(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedDisjoining") { return st; } + read::handles(s, e, "ownedDisjoining", &mut *out) +} + +/// `Type::ownedEndFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_end_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedEndFeature") { return st; } + read::handles(s, e, "ownedEndFeature", &mut *out) +} + +/// `Type::ownedFeature` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_feature(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedFeature") { return st; } + read::handles(s, e, "ownedFeature", &mut *out) +} + +/// `Type::ownedFeatureMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_feature_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedFeatureMembership") { return st; } + read::handles(s, e, "ownedFeatureMembership", &mut *out) +} + +/// `Type::ownedIntersecting` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_intersecting(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedIntersecting") { return st; } + read::handles(s, e, "ownedIntersecting", &mut *out) +} + +/// `Type::ownedSpecialization` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_specialization(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedSpecialization") { return st; } + read::handles(s, e, "ownedSpecialization", &mut *out) +} + +/// `Type::ownedUnioning` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_owned_unioning(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "ownedUnioning") { return st; } + read::handles(s, e, "ownedUnioning", &mut *out) +} + +/// `Type::unioningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_unioning_type(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "unioningType") { return st; } + read::handles(s, e, "unioningType", &mut *out) +} + +/// `Type::allRedefinedFeaturesOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_all_redefined_features_of(s: *mut Session, h: Handle, membership: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "allRedefinedFeaturesOf") { return st; } + let answer = ops::call(s, e, "Type", "allRedefinedFeaturesOf", &[ops::Arg::Handle(membership)]); + read::put_handles(s, "Type::allRedefinedFeaturesOf()", answer, &mut *out) +} + +/// `Type::allSupertypes` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_all_supertypes(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "allSupertypes") { return st; } + let answer = ops::call(s, e, "Type", "allSupertypes", &[]); + read::put_handles(s, "Type::allSupertypes()", answer, &mut *out) +} + +/// `Type::directionOf` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_direction_of(s: *mut Session, h: Handle, feature: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "directionOf") { return st; } + let answer = ops::call(s, e, "Type", "directionOf", &[ops::Arg::Handle(feature)]); + read::put_text(s, "Type::directionOf()", answer, &mut *out) +} + +/// `Type::directionOfExcluding` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_direction_of_excluding(s: *mut Session, h: Handle, feature: Handle, excluded: *const Handles, out: *mut Str) -> Status { + if s.is_null() || out.is_null() || excluded.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "directionOfExcluding") { return st; } + let answer = ops::call(s, e, "Type", "directionOfExcluding", &[ops::Arg::Handle(feature), ops::Arg::Handles(&*excluded)]); + read::put_text(s, "Type::directionOfExcluding()", answer, &mut *out) +} + +/// `Type::inheritableMemberships` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_inheritable_memberships(s: *mut Session, h: Handle, excluded_namespaces: *const Handles, excluded_types: *const Handles, exclude_implied: bool, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || excluded_namespaces.is_null() || excluded_types.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "inheritableMemberships") { return st; } + let answer = ops::call(s, e, "Type", "inheritableMemberships", &[ops::Arg::Handles(&*excluded_namespaces), ops::Arg::Handles(&*excluded_types), ops::Arg::Bool(exclude_implied)]); + read::put_handles(s, "Type::inheritableMemberships()", answer, &mut *out) +} + +/// `Type::inheritedMemberships` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_inherited_memberships(s: *mut Session, h: Handle, excluded_namespaces: *const Handles, excluded_types: *const Handles, exclude_implied: bool, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || excluded_namespaces.is_null() || excluded_types.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "inheritedMemberships") { return st; } + let answer = ops::call(s, e, "Type", "inheritedMemberships", &[ops::Arg::Handles(&*excluded_namespaces), ops::Arg::Handles(&*excluded_types), ops::Arg::Bool(exclude_implied)]); + read::put_handles(s, "Type::inheritedMemberships()", answer, &mut *out) +} + +/// `Type::isCompatibleWith` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_is_compatible_with(s: *mut Session, h: Handle, other_type: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "isCompatibleWith") { return st; } + let answer = ops::call(s, e, "Type", "isCompatibleWith", &[ops::Arg::Handle(other_type)]); + read::put_flag(s, "Type::isCompatibleWith()", answer, &mut *out) +} + +/// `Type::multiplicities` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_multiplicities(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "multiplicities") { return st; } + let answer = ops::call(s, e, "Type", "multiplicities", &[]); + read::put_handles(s, "Type::multiplicities()", answer, &mut *out) +} + +/// `Type::nonPrivateMemberships` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_non_private_memberships(s: *mut Session, h: Handle, excluded_namespaces: *const Handles, excluded_types: *const Handles, exclude_implied: bool, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || excluded_namespaces.is_null() || excluded_types.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "nonPrivateMemberships") { return st; } + let answer = ops::call(s, e, "Type", "nonPrivateMemberships", &[ops::Arg::Handles(&*excluded_namespaces), ops::Arg::Handles(&*excluded_types), ops::Arg::Bool(exclude_implied)]); + read::put_handles(s, "Type::nonPrivateMemberships()", answer, &mut *out) +} + +/// `Type::removeRedefinedFeatures` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_remove_redefined_features(s: *mut Session, h: Handle, memberships: *const Handles, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || memberships.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "removeRedefinedFeatures") { return st; } + let answer = ops::call(s, e, "Type", "removeRedefinedFeatures", &[ops::Arg::Handles(&*memberships)]); + read::put_handles(s, "Type::removeRedefinedFeatures()", answer, &mut *out) +} + +/// `Type::specializes` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_specializes(s: *mut Session, h: Handle, supertype: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "specializes") { return st; } + let answer = ops::call(s, e, "Type", "specializes", &[ops::Arg::Handle(supertype)]); + read::put_flag(s, "Type::specializes()", answer, &mut *out) +} + +/// `Type::specializesFromLibrary` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_specializes_from_library(s: *mut Session, h: Handle, library_type_name: *const Str, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() || library_type_name.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "specializesFromLibrary") { return st; } + let answer = ops::call(s, e, "Type", "specializesFromLibrary", &[ops::Arg::Str(&*library_type_name)]); + read::put_flag(s, "Type::specializesFromLibrary()", answer, &mut *out) +} + +/// `Type::supertypes` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_supertypes(s: *mut Session, h: Handle, exclude_implied: bool, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Type", "supertypes") { return st; } + let answer = ops::call(s, e, "Type", "supertypes", &[ops::Arg::Bool(exclude_implied)]); + read::put_handles(s, "Type::supertypes()", answer, &mut *out) +} + +/// `TypeFeaturing::featureOfType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_featuring_feature_of_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TypeFeaturing", "featureOfType") { return st; } + read::reference(s, e, "featureOfType", &mut *out) +} + +/// `TypeFeaturing::featuringType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_featuring_featuring_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TypeFeaturing", "featuringType") { return st; } + read::reference(s, e, "featuringType", &mut *out) +} + +/// `TypeFeaturing::owningFeatureOfType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_type_featuring_owning_feature_of_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "TypeFeaturing", "owningFeatureOfType") { return st; } + read::reference(s, e, "owningFeatureOfType", &mut *out) +} + +/// `Unioning::typeUnioned` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_unioning_type_unioned(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Unioning", "typeUnioned") { return st; } + read::reference(s, e, "typeUnioned", &mut *out) +} + +/// `Unioning::unioningType` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_unioning_unioning_type(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Unioning", "unioningType") { return st; } + read::reference(s, e, "unioningType", &mut *out) +} + +/// `Usage::definition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_definition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "definition") { return st; } + read::handles(s, e, "definition", &mut *out) +} + +/// `Usage::directedUsage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_directed_usage(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "directedUsage") { return st; } + read::handles(s, e, "directedUsage", &mut *out) +} + +/// `Usage::isReference` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_is_reference(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "isReference") { return st; } + read::flag(s, e, "isReference", &mut *out) +} + +/// `Usage::isVariation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_is_variation(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "isVariation") { return st; } + read::flag(s, e, "isVariation", &mut *out) +} + +/// `Usage::mayTimeVary` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_may_time_vary(s: *mut Session, h: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "mayTimeVary") { return st; } + read::flag(s, e, "mayTimeVary", &mut *out) +} + +/// `Usage::nestedAction` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_action(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedAction") { return st; } + read::handles(s, e, "nestedAction", &mut *out) +} + +/// `Usage::nestedAllocation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_allocation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedAllocation") { return st; } + read::handles(s, e, "nestedAllocation", &mut *out) +} + +/// `Usage::nestedAnalysisCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_analysis_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedAnalysisCase") { return st; } + read::handles(s, e, "nestedAnalysisCase", &mut *out) +} + +/// `Usage::nestedAttribute` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_attribute(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedAttribute") { return st; } + read::handles(s, e, "nestedAttribute", &mut *out) +} + +/// `Usage::nestedCalculation` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_calculation(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedCalculation") { return st; } + read::handles(s, e, "nestedCalculation", &mut *out) +} + +/// `Usage::nestedCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedCase") { return st; } + read::handles(s, e, "nestedCase", &mut *out) +} + +/// `Usage::nestedConcern` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_concern(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedConcern") { return st; } + read::handles(s, e, "nestedConcern", &mut *out) +} + +/// `Usage::nestedConnection` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_connection(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedConnection") { return st; } + read::handles(s, e, "nestedConnection", &mut *out) +} + +/// `Usage::nestedConstraint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_constraint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedConstraint") { return st; } + read::handles(s, e, "nestedConstraint", &mut *out) +} + +/// `Usage::nestedEnumeration` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_enumeration(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedEnumeration") { return st; } + read::handles(s, e, "nestedEnumeration", &mut *out) +} + +/// `Usage::nestedFlow` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_flow(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedFlow") { return st; } + read::handles(s, e, "nestedFlow", &mut *out) +} + +/// `Usage::nestedInterface` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_interface(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedInterface") { return st; } + read::handles(s, e, "nestedInterface", &mut *out) +} + +/// `Usage::nestedItem` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_item(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedItem") { return st; } + read::handles(s, e, "nestedItem", &mut *out) +} + +/// `Usage::nestedMetadata` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_metadata(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedMetadata") { return st; } + read::handles(s, e, "nestedMetadata", &mut *out) +} + +/// `Usage::nestedOccurrence` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_occurrence(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedOccurrence") { return st; } + read::handles(s, e, "nestedOccurrence", &mut *out) +} + +/// `Usage::nestedPart` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_part(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedPart") { return st; } + read::handles(s, e, "nestedPart", &mut *out) +} + +/// `Usage::nestedPort` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_port(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedPort") { return st; } + read::handles(s, e, "nestedPort", &mut *out) +} + +/// `Usage::nestedReference` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_reference(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedReference") { return st; } + read::handles(s, e, "nestedReference", &mut *out) +} + +/// `Usage::nestedRendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_rendering(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedRendering") { return st; } + read::handles(s, e, "nestedRendering", &mut *out) +} + +/// `Usage::nestedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_requirement(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedRequirement") { return st; } + read::handles(s, e, "nestedRequirement", &mut *out) +} + +/// `Usage::nestedState` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_state(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedState") { return st; } + read::handles(s, e, "nestedState", &mut *out) +} + +/// `Usage::nestedTransition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_transition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedTransition") { return st; } + read::handles(s, e, "nestedTransition", &mut *out) +} + +/// `Usage::nestedUsage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_usage(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedUsage") { return st; } + read::handles(s, e, "nestedUsage", &mut *out) +} + +/// `Usage::nestedUseCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_use_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedUseCase") { return st; } + read::handles(s, e, "nestedUseCase", &mut *out) +} + +/// `Usage::nestedVerificationCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_verification_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedVerificationCase") { return st; } + read::handles(s, e, "nestedVerificationCase", &mut *out) +} + +/// `Usage::nestedView` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_view(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedView") { return st; } + read::handles(s, e, "nestedView", &mut *out) +} + +/// `Usage::nestedViewpoint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_nested_viewpoint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "nestedViewpoint") { return st; } + read::handles(s, e, "nestedViewpoint", &mut *out) +} + +/// `Usage::owningDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_owning_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "owningDefinition") { return st; } + read::reference(s, e, "owningDefinition", &mut *out) +} + +/// `Usage::owningUsage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_owning_usage(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "owningUsage") { return st; } + read::reference(s, e, "owningUsage", &mut *out) +} + +/// `Usage::usage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_usage(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "usage") { return st; } + read::handles(s, e, "usage", &mut *out) +} + +/// `Usage::variant` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_variant(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "variant") { return st; } + read::handles(s, e, "variant", &mut *out) +} + +/// `Usage::variantMembership` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_variant_membership(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "variantMembership") { return st; } + read::handles(s, e, "variantMembership", &mut *out) +} + +/// `Usage::referencedFeatureTarget` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_usage_referenced_feature_target(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "Usage", "referencedFeatureTarget") { return st; } + let answer = ops::call(s, e, "Usage", "referencedFeatureTarget", &[]); + read::put_reference(s, "Usage::referencedFeatureTarget()", answer, &mut *out) +} + +/// `UseCaseDefinition::includedUseCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_use_case_definition_included_use_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "UseCaseDefinition", "includedUseCase") { return st; } + read::handles(s, e, "includedUseCase", &mut *out) +} + +/// `UseCaseUsage::includedUseCase` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_use_case_usage_included_use_case(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "UseCaseUsage", "includedUseCase") { return st; } + read::handles(s, e, "includedUseCase", &mut *out) +} + +/// `UseCaseUsage::useCaseDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_use_case_usage_use_case_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "UseCaseUsage", "useCaseDefinition") { return st; } + read::reference(s, e, "useCaseDefinition", &mut *out) +} + +/// `VariantMembership::ownedVariantUsage` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_variant_membership_owned_variant_usage(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "VariantMembership", "ownedVariantUsage") { return st; } + read::reference(s, e, "ownedVariantUsage", &mut *out) +} + +/// `VerificationCaseDefinition::verifiedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_verification_case_definition_verified_requirement(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "VerificationCaseDefinition", "verifiedRequirement") { return st; } + read::handles(s, e, "verifiedRequirement", &mut *out) +} + +/// `VerificationCaseUsage::verificationCaseDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_verification_case_usage_verification_case_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "VerificationCaseUsage", "verificationCaseDefinition") { return st; } + read::reference(s, e, "verificationCaseDefinition", &mut *out) +} + +/// `VerificationCaseUsage::verifiedRequirement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_verification_case_usage_verified_requirement(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "VerificationCaseUsage", "verifiedRequirement") { return st; } + read::handles(s, e, "verifiedRequirement", &mut *out) +} + +/// `ViewDefinition::satisfiedViewpoint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_definition_satisfied_viewpoint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewDefinition", "satisfiedViewpoint") { return st; } + read::handles(s, e, "satisfiedViewpoint", &mut *out) +} + +/// `ViewDefinition::view` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_definition_view(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewDefinition", "view") { return st; } + read::handles(s, e, "view", &mut *out) +} + +/// `ViewDefinition::viewCondition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_definition_view_condition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewDefinition", "viewCondition") { return st; } + read::handles(s, e, "viewCondition", &mut *out) +} + +/// `ViewDefinition::viewRendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_definition_view_rendering(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewDefinition", "viewRendering") { return st; } + read::reference(s, e, "viewRendering", &mut *out) +} + +/// `ViewRenderingMembership::ownedRendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_rendering_membership_owned_rendering(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewRenderingMembership", "ownedRendering") { return st; } + read::reference(s, e, "ownedRendering", &mut *out) +} + +/// `ViewRenderingMembership::referencedRendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_rendering_membership_referenced_rendering(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewRenderingMembership", "referencedRendering") { return st; } + read::reference(s, e, "referencedRendering", &mut *out) +} + +/// `ViewUsage::exposedElement` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_usage_exposed_element(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewUsage", "exposedElement") { return st; } + read::handles(s, e, "exposedElement", &mut *out) +} + +/// `ViewUsage::satisfiedViewpoint` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_usage_satisfied_viewpoint(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewUsage", "satisfiedViewpoint") { return st; } + read::handles(s, e, "satisfiedViewpoint", &mut *out) +} + +/// `ViewUsage::viewCondition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_usage_view_condition(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewUsage", "viewCondition") { return st; } + read::handles(s, e, "viewCondition", &mut *out) +} + +/// `ViewUsage::viewDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_usage_view_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewUsage", "viewDefinition") { return st; } + read::reference(s, e, "viewDefinition", &mut *out) +} + +/// `ViewUsage::viewRendering` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_usage_view_rendering(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewUsage", "viewRendering") { return st; } + read::reference(s, e, "viewRendering", &mut *out) +} + +/// `ViewUsage::includeAsExposed` (operation). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_view_usage_include_as_exposed(s: *mut Session, h: Handle, element: Handle, out: *mut Bool) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewUsage", "includeAsExposed") { return st; } + let answer = ops::call(s, e, "ViewUsage", "includeAsExposed", &[ops::Arg::Handle(element)]); + read::put_flag(s, "ViewUsage::includeAsExposed()", answer, &mut *out) +} + +/// `ViewpointDefinition::viewpointStakeholder` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_viewpoint_definition_viewpoint_stakeholder(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewpointDefinition", "viewpointStakeholder") { return st; } + read::handles(s, e, "viewpointStakeholder", &mut *out) +} + +/// `ViewpointUsage::viewpointDefinition` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_viewpoint_usage_viewpoint_definition(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewpointUsage", "viewpointDefinition") { return st; } + read::reference(s, e, "viewpointDefinition", &mut *out) +} + +/// `ViewpointUsage::viewpointStakeholder` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_viewpoint_usage_viewpoint_stakeholder(s: *mut Session, h: Handle, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "ViewpointUsage", "viewpointStakeholder") { return st; } + read::handles(s, e, "viewpointStakeholder", &mut *out) +} + +/// `WhileLoopActionUsage::untilArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_while_loop_action_usage_until_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "WhileLoopActionUsage", "untilArgument") { return st; } + read::reference(s, e, "untilArgument", &mut *out) +} + +/// `WhileLoopActionUsage::whileArgument` (property). +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_while_loop_action_usage_while_argument(s: *mut Session, h: Handle, out: *mut Ref) -> Status { + if s.is_null() || out.is_null() { return Status::InvalidArg; } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + if let Err(st) = crate::applicable(s, e, "WhileLoopActionUsage", "whileArgument") { return st; } + read::reference(s, e, "whileArgument", &mut *out) +} + +/// Every concrete metaclass with its ancestors, from metamodel.json; the unit test in lib.rs +/// checks the SysML Toolkit's `metaclass_conforms` against it. +#[cfg(test)] +pub static HIERARCHY: &[(&str, &[&str])] = &[ + ("AcceptActionUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("ActionDefinition", &["Behavior", "Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Type"]), + ("ActionUsage", &["Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("ActorMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"]), + ("AllocationDefinition", &["Association", "AssociationStructure", "Class", "Classifier", "ConnectionDefinition", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"]), + ("AllocationUsage", &["ConnectionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"]), + ("AnalysisCaseDefinition", &["ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"]), + ("AnalysisCaseUsage", &["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("AnnotatingElement", &["Element"]), + ("Annotation", &["Element", "Relationship"]), + ("AssertConstraintUsage", &["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Invariant", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("AssignmentActionUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("Association", &["Classifier", "Element", "Namespace", "Relationship", "Type"]), + ("AssociationStructure", &["Association", "Class", "Classifier", "Element", "Namespace", "Relationship", "Structure", "Type"]), + ("AttributeDefinition", &["Classifier", "DataType", "Definition", "Element", "Namespace", "Type"]), + ("AttributeUsage", &["Element", "Feature", "Namespace", "Type", "Usage"]), + ("Behavior", &["Class", "Classifier", "Element", "Namespace", "Type"]), + ("BindingConnector", &["Connector", "Element", "Feature", "Namespace", "Relationship", "Type"]), + ("BindingConnectorAsUsage", &["BindingConnector", "Connector", "ConnectorAsUsage", "Element", "Feature", "Namespace", "Relationship", "Type", "Usage"]), + ("BooleanExpression", &["Element", "Expression", "Feature", "Namespace", "Step", "Type"]), + ("CalculationDefinition", &["ActionDefinition", "Behavior", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"]), + ("CalculationUsage", &["ActionUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("CaseDefinition", &["ActionDefinition", "Behavior", "CalculationDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"]), + ("CaseUsage", &["ActionUsage", "CalculationUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("Class", &["Classifier", "Element", "Namespace", "Type"]), + ("Classifier", &["Element", "Namespace", "Type"]), + ("CollectExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"]), + ("Comment", &["AnnotatingElement", "Element"]), + ("ConcernDefinition", &["Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "RequirementDefinition", "Type"]), + ("ConcernUsage", &["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"]), + ("ConjugatedPortDefinition", &["Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "PortDefinition", "Structure", "Type"]), + ("ConjugatedPortTyping", &["Element", "FeatureTyping", "Relationship", "Specialization"]), + ("Conjugation", &["Element", "Relationship"]), + ("ConnectionDefinition", &["Association", "AssociationStructure", "Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"]), + ("ConnectionUsage", &["Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"]), + ("Connector", &["Element", "Feature", "Namespace", "Relationship", "Type"]), + ("ConstraintDefinition", &["Behavior", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "Type"]), + ("ConstraintUsage", &["BooleanExpression", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("ConstructorExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "Namespace", "Step", "Type"]), + ("CrossSubsetting", &["Element", "Relationship", "Specialization", "Subsetting"]), + ("DataType", &["Classifier", "Element", "Namespace", "Type"]), + ("DecisionNode", &["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("Definition", &["Classifier", "Element", "Namespace", "Type"]), + ("Dependency", &["Element", "Relationship"]), + ("Differencing", &["Element", "Relationship"]), + ("Disjoining", &["Element", "Relationship"]), + ("Documentation", &["AnnotatingElement", "Comment", "Element"]), + ("ElementFilterMembership", &["Element", "Membership", "OwningMembership", "Relationship"]), + ("EndFeatureMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("EnumerationDefinition", &["AttributeDefinition", "Classifier", "DataType", "Definition", "Element", "Namespace", "Type"]), + ("EnumerationUsage", &["AttributeUsage", "Element", "Feature", "Namespace", "Type", "Usage"]), + ("EventOccurrenceUsage", &["Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"]), + ("ExhibitStateUsage", &["ActionUsage", "Element", "EventOccurrenceUsage", "Feature", "Namespace", "OccurrenceUsage", "PerformActionUsage", "StateUsage", "Step", "Type", "Usage"]), + ("Expression", &["Element", "Feature", "Namespace", "Step", "Type"]), + ("Feature", &["Element", "Namespace", "Type"]), + ("FeatureChainExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"]), + ("FeatureChaining", &["Element", "Relationship"]), + ("FeatureInverting", &["Element", "Relationship"]), + ("FeatureMembership", &["Element", "Membership", "OwningMembership", "Relationship"]), + ("FeatureReferenceExpression", &["Element", "Expression", "Feature", "Namespace", "Step", "Type"]), + ("FeatureTyping", &["Element", "Relationship", "Specialization"]), + ("FeatureValue", &["Element", "Membership", "OwningMembership", "Relationship"]), + ("Flow", &["Connector", "Element", "Feature", "Namespace", "Relationship", "Step", "Type"]), + ("FlowDefinition", &["ActionDefinition", "Association", "Behavior", "Class", "Classifier", "Definition", "Element", "Interaction", "Namespace", "OccurrenceDefinition", "Relationship", "Type"]), + ("FlowEnd", &["Element", "Feature", "Namespace", "Type"]), + ("FlowUsage", &["ActionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "Flow", "Namespace", "OccurrenceUsage", "Relationship", "Step", "Type", "Usage"]), + ("ForLoopActionUsage", &["ActionUsage", "Element", "Feature", "LoopActionUsage", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("ForkNode", &["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("FramedConcernMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship", "RequirementConstraintMembership"]), + ("Function", &["Behavior", "Class", "Classifier", "Element", "Namespace", "Type"]), + ("IfActionUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("IncludeUseCaseUsage", &["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "EventOccurrenceUsage", "Expression", "Feature", "Namespace", "OccurrenceUsage", "PerformActionUsage", "Step", "Type", "Usage", "UseCaseUsage"]), + ("IndexExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"]), + ("Interaction", &["Association", "Behavior", "Class", "Classifier", "Element", "Namespace", "Relationship", "Type"]), + ("InterfaceDefinition", &["Association", "AssociationStructure", "Class", "Classifier", "ConnectionDefinition", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"]), + ("InterfaceUsage", &["ConnectionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"]), + ("Intersecting", &["Element", "Relationship"]), + ("Invariant", &["BooleanExpression", "Element", "Expression", "Feature", "Namespace", "Step", "Type"]), + ("InvocationExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "Namespace", "Step", "Type"]), + ("ItemDefinition", &["Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Structure", "Type"]), + ("ItemUsage", &["Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"]), + ("JoinNode", &["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("LibraryPackage", &["Element", "Namespace", "Package"]), + ("LiteralBoolean", &["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"]), + ("LiteralExpression", &["Element", "Expression", "Feature", "Namespace", "Step", "Type"]), + ("LiteralInfinity", &["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"]), + ("LiteralInteger", &["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"]), + ("LiteralRational", &["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"]), + ("LiteralString", &["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"]), + ("Membership", &["Element", "Relationship"]), + ("MembershipExpose", &["Element", "Expose", "Import", "MembershipImport", "Relationship"]), + ("MembershipImport", &["Element", "Import", "Relationship"]), + ("MergeNode", &["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("Metaclass", &["Class", "Classifier", "Element", "Namespace", "Structure", "Type"]), + ("MetadataAccessExpression", &["Element", "Expression", "Feature", "Namespace", "Step", "Type"]), + ("MetadataDefinition", &["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Metaclass", "Namespace", "OccurrenceDefinition", "Structure", "Type"]), + ("MetadataFeature", &["AnnotatingElement", "Element", "Feature", "Namespace", "Type"]), + ("MetadataUsage", &["AnnotatingElement", "Element", "Feature", "ItemUsage", "MetadataFeature", "Namespace", "OccurrenceUsage", "Type", "Usage"]), + ("Multiplicity", &["Element", "Feature", "Namespace", "Type"]), + ("MultiplicityRange", &["Element", "Feature", "Multiplicity", "Namespace", "Type"]), + ("Namespace", &["Element"]), + ("NamespaceExpose", &["Element", "Expose", "Import", "NamespaceImport", "Relationship"]), + ("NamespaceImport", &["Element", "Import", "Relationship"]), + ("NullExpression", &["Element", "Expression", "Feature", "Namespace", "Step", "Type"]), + ("ObjectiveMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("OccurrenceDefinition", &["Class", "Classifier", "Definition", "Element", "Namespace", "Type"]), + ("OccurrenceUsage", &["Element", "Feature", "Namespace", "Type", "Usage"]), + ("OperatorExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "Step", "Type"]), + ("OwningMembership", &["Element", "Membership", "Relationship"]), + ("Package", &["Element", "Namespace"]), + ("ParameterMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("PartDefinition", &["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "Structure", "Type"]), + ("PartUsage", &["Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "Type", "Usage"]), + ("PayloadFeature", &["Element", "Feature", "Namespace", "Type"]), + ("PerformActionUsage", &["ActionUsage", "Element", "EventOccurrenceUsage", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("PortConjugation", &["Conjugation", "Element", "Relationship"]), + ("PortDefinition", &["Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Structure", "Type"]), + ("PortUsage", &["Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"]), + ("Predicate", &["Behavior", "Class", "Classifier", "Element", "Function", "Namespace", "Type"]), + ("Redefinition", &["Element", "Relationship", "Specialization", "Subsetting"]), + ("ReferenceSubsetting", &["Element", "Relationship", "Specialization", "Subsetting"]), + ("ReferenceUsage", &["Element", "Feature", "Namespace", "Type", "Usage"]), + ("RenderingDefinition", &["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Structure", "Type"]), + ("RenderingUsage", &["Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Type", "Usage"]), + ("RequirementConstraintMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("RequirementDefinition", &["Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "Type"]), + ("RequirementUsage", &["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("RequirementVerificationMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship", "RequirementConstraintMembership"]), + ("ResultExpressionMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("ReturnParameterMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"]), + ("SatisfyRequirementUsage", &["AssertConstraintUsage", "BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Invariant", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"]), + ("SelectExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"]), + ("SendActionUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("Specialization", &["Element", "Relationship"]), + ("StakeholderMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"]), + ("StateDefinition", &["ActionDefinition", "Behavior", "Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Type"]), + ("StateSubactionMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("StateUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("Step", &["Element", "Feature", "Namespace", "Type"]), + ("Structure", &["Class", "Classifier", "Element", "Namespace", "Type"]), + ("Subclassification", &["Element", "Relationship", "Specialization"]), + ("SubjectMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"]), + ("Subsetting", &["Element", "Relationship", "Specialization"]), + ("Succession", &["Connector", "Element", "Feature", "Namespace", "Relationship", "Type"]), + ("SuccessionAsUsage", &["Connector", "ConnectorAsUsage", "Element", "Feature", "Namespace", "Relationship", "Succession", "Type", "Usage"]), + ("SuccessionFlow", &["Connector", "Element", "Feature", "Flow", "Namespace", "Relationship", "Step", "Succession", "Type"]), + ("SuccessionFlowUsage", &["ActionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "Flow", "FlowUsage", "Namespace", "OccurrenceUsage", "Relationship", "Step", "Succession", "SuccessionFlow", "Type", "Usage"]), + ("TerminateActionUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("TextualRepresentation", &["AnnotatingElement", "Element"]), + ("TransitionFeatureMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("TransitionUsage", &["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("TriggerInvocationExpression", &["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "Step", "Type"]), + ("Type", &["Element", "Namespace"]), + ("TypeFeaturing", &["Element", "Relationship"]), + ("Unioning", &["Element", "Relationship"]), + ("Usage", &["Element", "Feature", "Namespace", "Type"]), + ("UseCaseDefinition", &["ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"]), + ("UseCaseUsage", &["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("VariantMembership", &["Element", "Membership", "OwningMembership", "Relationship"]), + ("VerificationCaseDefinition", &["ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"]), + ("VerificationCaseUsage", &["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), + ("ViewDefinition", &["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Structure", "Type"]), + ("ViewRenderingMembership", &["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"]), + ("ViewUsage", &["Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Type", "Usage"]), + ("ViewpointDefinition", &["Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "RequirementDefinition", "Type"]), + ("ViewpointUsage", &["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"]), + ("WhileLoopActionUsage", &["ActionUsage", "Element", "Feature", "LoopActionUsage", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]), +]; diff --git a/abi/src/lib.rs b/abi/src/lib.rs new file mode 100644 index 0000000..214b3ae --- /dev/null +++ b/abi/src/lib.rs @@ -0,0 +1,525 @@ +//! C ABI over the SysML Toolkit, read-only. +//! +//! One exported function per specification member (see `generated.rs`, produced by +//! `tools/gen_abi.py` from the naming table), plus this hand-written core: sessions, the +//! handle table, result buffers, diagnostics and versioning. Every member function answers +//! `NOT_APPLICABLE` for an element whose metaclass does not have the member. +//! +//! Handles. `ElementRef` has a crate-private field, so this library cannot rebuild one from an +//! integer it receives from C. Every session therefore keeps a table of the `ElementRef`s it +//! has handed out; a handle is an index into that table. Looking a handle up is bounds-checked, +//! which is how `INVALID_HANDLE` is detected today. When the SysML Toolkit settles identity +//! across edits, this table is where a generation or session tag is added. + +#![allow(clippy::missing_safety_doc)] + +use std::collections::HashMap; +use std::ffi::c_void; +use std::path::PathBuf; + +use sysmlv2_model::full::{resolved_to_full_json, EmissionPolicy}; +use sysmlv2_model::json::{metaclass_conforms, ClosurePolicy, ElementRef, ResolvedModel}; +use sysmlv2_transform::{Library, Session as ToolkitSession}; + +pub mod ops; +pub mod generated; +pub mod read; + +pub const ABI_VERSION: u32 = 1; +/// SHA-256 of the naming table this build was generated from; set by the generator. +pub use generated::NAMES_DIGEST; + +// ---------------------------------------------------------------- status and results + +#[repr(C)] +#[derive(Clone, Copy, PartialEq, Eq, Debug)] +pub enum Status { + Ok = 0, + NotImplemented = 1, + NotApplicable = 2, + InvalidHandle = 3, + InvalidArg = 4, + LoadFailed = 5, + Internal = 6, + /// A reference in the model did not resolve; the message carries its spelling. + Unresolved = 7, +} + +pub type Handle = u64; + +#[repr(C)] +pub struct Handles { + pub items: *const Handle, + pub len: usize, + pub owner: *mut c_void, +} + +#[repr(C)] +pub struct Str { + pub ptr: *const u8, + pub len: usize, + pub present: bool, + pub owner: *mut c_void, +} + +#[repr(C)] +pub struct Bool { + pub present: bool, + pub value: bool, +} + +#[repr(C)] +pub struct Int { + pub present: bool, + pub value: i64, +} + +#[repr(C)] +pub struct Real { + pub present: bool, + pub value: f64, +} + +#[repr(C)] +pub struct Ref { + pub present: bool, + pub value: Handle, +} + +impl Handles { + pub const EMPTY: Handles = Handles { items: std::ptr::null(), len: 0, owner: std::ptr::null_mut() }; +} +impl Str { + pub const ABSENT: Str = Str { ptr: std::ptr::null(), len: 0, present: false, owner: std::ptr::null_mut() }; +} +impl Bool { + pub const ABSENT: Bool = Bool { present: false, value: false }; +} +impl Int { + pub const ABSENT: Int = Int { present: false, value: 0 }; +} +impl Real { + pub const ABSENT: Real = Real { present: false, value: 0.0 }; +} +impl Ref { + pub const ABSENT: Ref = Ref { present: false, value: 0 }; +} + +/// Release a buffer handed out by any function in this library. Null is a no-op. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_free(owner: *mut c_void) { + if owner.is_null() { + return; + } + // Every allocation token is a leaked `Box>` or `Box>`; both are + // dropped through the same erased pointer via the length-prefixed layout below. + drop(Box::from_raw(owner as *mut Owned)); +} + +/// The one allocation shape behind every `owner` token. The payload is only ever held so +/// that dropping the box frees it; nothing reads it back. +#[allow(dead_code)] +enum Owned { + Bytes(Vec), + Handles(Vec), +} + +fn own_bytes(v: Vec) -> (*const u8, usize, *mut c_void) { + let ptr = v.as_ptr(); + let len = v.len(); + let owner = Box::into_raw(Box::new(Owned::Bytes(v))) as *mut c_void; + (ptr, len, owner) +} + +fn own_handles(v: Vec) -> Handles { + let items = v.as_ptr(); + let len = v.len(); + let owner = Box::into_raw(Box::new(Owned::Handles(v))) as *mut c_void; + Handles { items, len, owner } +} + +pub fn str_of>(s: S) -> Str { + let (ptr, len, owner) = own_bytes(s.as_ref().as_bytes().to_vec()); + Str { ptr, len, present: true, owner } +} + +pub fn str_opt>(s: Option) -> Str { + match s { + Some(s) => str_of(s), + None => Str::ABSENT, + } +} + +// ---------------------------------------------------------------- session + +pub struct Session { + inner: ToolkitSession, + handles: Vec, + index: HashMap, + last_error: String, +} + +impl Session { + pub fn model(&mut self) -> &mut ResolvedModel { + self.inner.resolved() + } + + /// The handle for an element, minting one on first sight. + pub fn mint(&mut self, e: ElementRef) -> Handle { + if let Some(h) = self.index.get(&e) { + return *h; + } + let h = self.handles.len() as Handle; + self.handles.push(e); + self.index.insert(e, h); + h + } + + pub fn mint_all(&mut self, es: Vec) -> Handles { + let v: Vec = es.into_iter().map(|e| self.mint(e)).collect(); + own_handles(v) + } + + pub fn mint_opt(&mut self, e: Option) -> Ref { + match e { + Some(e) => Ref { present: true, value: self.mint(e) }, + None => Ref::ABSENT, + } + } + + /// Resolve a handle, or record the error and report `InvalidHandle`. + pub fn elem(&mut self, h: Handle) -> Result { + match self.handles.get(h as usize) { + Some(e) => Ok(*e), + None => { + self.last_error = format!("invalid handle {h}: this session minted {} handles", self.handles.len()); + Err(Status::InvalidHandle) + } + } + } + + pub fn fail(&mut self, status: Status, msg: impl Into) -> Status { + self.last_error = msg.into(); + status + } +} + +/// Load options: either file paths or in-memory `(unit name, text)` sources, plus an optional +/// standard-library directory. Strings are UTF-8 with explicit lengths. +#[repr(C)] +pub struct LoadOptions { + pub paths: *const Str, + pub paths_len: usize, + pub source_names: *const Str, + pub source_texts: *const Str, + pub sources_len: usize, + pub library_dir: Str, +} + +pub(crate) unsafe fn read_str(s: &Str) -> Result { + if s.ptr.is_null() { + return Ok(String::new()); + } + let bytes = std::slice::from_raw_parts(s.ptr, s.len); + String::from_utf8(bytes.to_vec()).map_err(|_| Status::InvalidArg) +} + +/// Whether `e`'s metaclass has the members of `class`; otherwise records why and gives the status +/// to return. Every generated member function calls this first. +pub fn applicable(s: &mut Session, e: ElementRef, class: &str, member: &str) -> Result<(), Status> { + let mc = s.model().element_type(e).to_string(); + if metaclass_conforms(&mc, class) { + Ok(()) + } else { + Err(s.fail(Status::NotApplicable, format!("{class}::{member} does not apply to a {mc}"))) + } +} + +/// Open a session. On failure `*out` is null and the return code says why; there is no session +/// to ask for the message, so it is written to stderr in that one case. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_session_open(opts: *const LoadOptions, out: *mut *mut Session) -> Status { + open_session(opts, None, out) +} + +/// Open a session whose standard library is given as in-memory `(unit name, text)` sources, for +/// hosts without a file system (the WebAssembly build): `library_len` units, in load order. The +/// library is a library, as if read from a directory: its elements are not among the user +/// elements and report `isLibraryElement`. `opts.library_dir` is ignored. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_session_open_with_library_sources( + opts: *const LoadOptions, + library_names: *const Str, + library_texts: *const Str, + library_len: usize, + out: *mut *mut Session, +) -> Status { + if library_len > 0 && (library_names.is_null() || library_texts.is_null()) { + return Status::InvalidArg; + } + let units = match read_units(library_names, library_texts, library_len) { + Ok(u) => u, + Err(st) => return st, + }; + open_session(opts, Some(Library::sources(units)), out) +} + +unsafe fn read_units(names: *const Str, texts: *const Str, len: usize) -> Result, Status> { + let mut units = Vec::with_capacity(len); + for i in 0..len { + units.push((read_str(&*names.add(i))?, read_str(&*texts.add(i))?)); + } + Ok(units) +} + +unsafe fn open_session(opts: *const LoadOptions, library: Option, out: *mut *mut Session) -> Status { + if opts.is_null() || out.is_null() { + return Status::InvalidArg; + } + *out = std::ptr::null_mut(); + let o = &*opts; + + let inner = if o.sources_len > 0 { + let sources = match read_units(o.source_names, o.source_texts, o.sources_len) { + Ok(u) => u, + Err(st) => return st, + }; + // One build resolves the sources against the library together. + ToolkitSession::from_sources_with_library(sources, library.clone()) + } else { + let mut paths = Vec::with_capacity(o.paths_len); + for i in 0..o.paths_len { + match read_str(&*o.paths.add(i)) { + Ok(p) => paths.push(PathBuf::from(p)), + Err(st) => return st, + } + } + if let Some(missing) = paths.iter().find(|p| !p.is_file()) { + eprintln!("sysmlv2-abi: model file not found: {}", missing.display()); + return Status::LoadFailed; + } + ToolkitSession::open(&paths).and_then(|mut s| match library.clone() { + Some(lib) => s.load_library_from(lib).map(|_| s), + None => Ok(s), + }) + }; + let mut inner = match inner { + Ok(s) => s, + Err(e) => { + eprintln!("sysmlv2-abi: load failed: {e}"); + return Status::LoadFailed; + } + }; + if library.is_none() && o.library_dir.ptr != std::ptr::null() && o.library_dir.len > 0 { + let dir = match read_str(&o.library_dir) { Ok(s) => s, Err(st) => return st }; + let dir = std::path::Path::new(&dir); + if !dir.is_dir() { + eprintln!("sysmlv2-abi: library directory not found: {}", dir.display()); + return Status::LoadFailed; + } + if let Err(e) = inner.load_library(dir) { + eprintln!("sysmlv2-abi: library load failed ({}): {e}", dir.display()); + return Status::LoadFailed; + } + } + // Answer derived properties as the specification defines them, over the inheritance and + // import closures and the implied library heritage, rather than the owned side only. + inner.resolved().set_closure_policy(ClosurePolicy::Closure { include_implied: true }); + let session = Box::new(Session { inner, handles: Vec::new(), index: HashMap::new(), last_error: String::new() }); + *out = Box::into_raw(session); + Status::Ok +} + +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_session_close(s: *mut Session) { + if !s.is_null() { + drop(Box::from_raw(s)); + } +} + +/// The user-unit document roots: elements with no owner, libraries excluded. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_session_roots(s: *mut Session, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { + return Status::InvalidArg; + } + let s = &mut *s; + let all: Vec = s.model().user_elements().collect(); + let mut roots = Vec::new(); + for e in all { + if s.model().owner(e).is_none() { + roots.push(e); + } + } + *out = s.mint_all(roots); + Status::Ok +} + +/// Human-readable message for the last non-OK status on this session. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_last_error(s: *mut Session, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { + return Status::InvalidArg; + } + *out = str_of(&(*s).last_error); + Status::Ok +} + +// ---------------------------------------------------------------- helpers the SDK needs + +/// The element a `::`-separated qualified name (quoted segments allowed) names, looked up from +/// the model's root namespace; absent when nothing has that name. This is the SDK's own lookup, +/// not the specification operation `Namespace::resolve`, which answers a Membership relative to +/// a namespace. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_session_resolve(s: *mut Session, name: *const Str, out: *mut Ref) -> Status { + if s.is_null() || name.is_null() || out.is_null() { + return Status::InvalidArg; + } + let s = &mut *s; + let name = match read_str(&*name) { + Ok(n) => n, + Err(st) => return s.fail(st, "qualified name is not UTF-8"), + }; + let r = s.model().resolve_qualified(&name); + *out = s.mint_opt(r); + Status::Ok +} + +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_metaclass(s: *mut Session, h: Handle, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { + return Status::InvalidArg; + } + let s = &mut *s; + let e = match s.elem(h) { Ok(e) => e, Err(st) => return st }; + *out = str_of(s.model().element_type(e)); + Status::Ok +} + +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_all_of_metaclass(s: *mut Session, mc: *const u8, mc_len: usize, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() || mc.is_null() { + return Status::InvalidArg; + } + let s = &mut *s; + let name = match std::str::from_utf8(std::slice::from_raw_parts(mc, mc_len)) { + Ok(n) => n.to_string(), + Err(_) => return s.fail(Status::InvalidArg, "metaclass name is not UTF-8"), + }; + let es = s.model().elements_of_metaclass(&name); + *out = s.mint_all(es); + Status::Ok +} + +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_user_elements(s: *mut Session, out: *mut Handles) -> Status { + if s.is_null() || out.is_null() { + return Status::InvalidArg; + } + let s = &mut *s; + let es: Vec = s.model().user_elements().collect(); + *out = s.mint_all(es); + Status::Ok +} + +// ---------------------------------------------------------------- interchange + +/// The session's model as full-form interchange JSON, from the SysML Toolkit's own emitter. +/// +/// `level` 1 writes the specification's values of the inheritance-aware properties, over the +/// inherited and imported memberships and the implied library heritage, and the four closure +/// names (`inheritedMembership`, `inheritedFeature`, `importedMembership`, `featuringType`). +/// `level` 0 writes their owned side only and leaves the closure names empty, as the +/// SysML Toolkit's command-line export does. Unresolved references carry the SysML Toolkit's +/// recovery annotations at either level. +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_session_full_json(s: *mut Session, level: u32, out: *mut Str) -> Status { + if s.is_null() || out.is_null() { + return Status::InvalidArg; + } + let s = &mut *s; + let value = match level { + 0 => s.inner.to_full_json(), + 1 => { + if s.inner.has_explicit_ids() { + return s.fail(Status::NotImplemented, "a closure-level export of a model loaded with explicit ids"); + } + // The session's resolved model is borrowed apart from its model, so the emission + // resolves a second time; the ids agree, since both come from the same model. + let result = { + let model = s.inner.model(); + let mut resolved = ResolvedModel::build(model); + let policy = EmissionPolicy { closures: ClosurePolicy::Closure { include_implied: true }, ..Default::default() }; + resolved_to_full_json(&mut resolved, model, policy) + }; + match result { + Ok(v) => v, + Err(e) => return s.fail(Status::Internal, e.to_string()), + } + } + _ => return s.fail(Status::InvalidArg, format!("export level {level}: 0 for the owned side, 1 for the closures")), + }; + *out = str_of(value.to_string()); + Status::Ok +} + +// ---------------------------------------------------------------- caller-side buffers + +/// Allocate `size` bytes the caller may write into, for example to pass source text or a +/// qualified name. Needed by callers that share our address space but cannot allocate in it +/// themselves, such as JavaScript talking to the WebAssembly build. Release with +/// `sysmlv2_dealloc`; never with `sysmlv2_free`, which is for results we allocated. +#[no_mangle] +pub extern "C" fn sysmlv2_alloc(size: usize) -> *mut u8 { + let mut v: Vec = Vec::with_capacity(size.max(1)); + let p = v.as_mut_ptr(); + std::mem::forget(v); + p +} + +#[no_mangle] +pub unsafe extern "C" fn sysmlv2_dealloc(ptr: *mut u8, size: usize) { + if !ptr.is_null() { + drop(Vec::from_raw_parts(ptr, 0, size.max(1))); + } +} + +// ---------------------------------------------------------------- versioning + +#[no_mangle] +pub extern "C" fn sysmlv2_abi_version() -> u32 { + ABI_VERSION +} + +/// SHA-256 hex of the naming table this library was generated from. Static, never freed. +#[no_mangle] +pub extern "C" fn sysmlv2_names_digest() -> *const u8 { + NAMES_DIGEST.as_ptr() +} + +#[no_mangle] +pub extern "C" fn sysmlv2_names_digest_len() -> usize { + NAMES_DIGEST.len() +} + +#[cfg(test)] +mod tests { + use super::*; + + /// The SysML Toolkit's metaclass hierarchy, which the applicability check relies on, agrees + /// with the metamodel the SDK is generated from: every concrete metaclass conforms to itself + /// and to each of its ancestors. + #[test] + fn toolkit_hierarchy_agrees_with_the_metamodel() { + let mut missing = Vec::new(); + for (class, ancestors) in generated::HIERARCHY { + for general in std::iter::once(class).chain(ancestors.iter()) { + if !metaclass_conforms(class, general) { + missing.push(format!("{class} < {general}")); + } + } + } + assert!(missing.is_empty(), "the SysML Toolkit does not know: {missing:?}"); + } +} diff --git a/abi/src/ops.rs b/abi/src/ops.rs new file mode 100644 index 0000000..d157f8c --- /dev/null +++ b/abi/src/ops.rs @@ -0,0 +1,117 @@ +//! Specification operations, every one through the SysML Toolkit's operation entry point, +//! `ResolvedModel::invoke_operation`, by the operation's declaration identity. +//! +//! The generated wrapper of an operation passes its arguments in the order the metamodel declares +//! them, with the operation's declaring class and name. This module finds that declaration in the +//! SysML Toolkit's catalog (`metamodel::operations`), converts each argument to the value the +//! SysML Toolkit's parameter type takes, orders them as the SysML Toolkit's execution signature +//! lists its inputs, and converts the result with the property readers' conversions. What the +//! SysML Toolkit cannot run as the specification defines it (no body yet, an unsupported +//! configuration, incomplete evidence), it refuses, and so does this module, with +//! `NOT_IMPLEMENTED` and the SysML Toolkit's reason. + +use sysmlv2_model::json::{operation_execution_signature, DerivedValue, ElementRef, OperationError}; +use sysmlv2_model::metamodel::{self, ParameterSpec}; + +use crate::read::{self, Answer}; +use crate::{read_str, Handle, Handles, Session, Status, Str}; + +/// One argument as the C wrapper received it. +pub enum Arg<'a> { + Str(&'a Str), + Handle(Handle), + Handles(&'a Handles), + Bool(bool), +} + +/// The declaration's parameters without its result. The metamodel marks no directions; the result +/// is the unnamed parameter, else the one named `result` (as the SDK's metamodel extraction reads +/// it), so that the count matches the wrapper's arguments. +fn inputs(parameters: &'static [ParameterSpec], wrapper_args: usize) -> Vec<&'static ParameterSpec> { + let mut named: Vec<_> = parameters.iter().filter(|p| !p.name.is_empty()).collect(); + if named.len() == wrapper_args + 1 { + if let Some(i) = named.iter().position(|p| p.name == "result") { + named.remove(i); + } + } + named +} + +fn value(s: &mut Session, name: &str, arg: &Arg, param: &ParameterSpec) -> Result { + Ok(match arg { + Arg::Bool(b) => DerivedValue::Bool(*b), + Arg::Handle(h) => DerivedValue::Element(s.elem(*h)?), + Arg::Handles(hs) => { + let items: &[Handle] = + if hs.items.is_null() || hs.len == 0 { &[] } else { unsafe { std::slice::from_raw_parts(hs.items, hs.len) } }; + let mut all: Vec = Vec::with_capacity(items.len()); + for &h in items { + all.push(s.elem(h)?); + } + DerivedValue::Elements(all) + } + Arg::Str(text) => { + if !text.present { + DerivedValue::Null + } else { + let t = match unsafe { read_str(text) } { + Ok(t) => t, + Err(st) => return Err(s.fail(st, format!("{name}: argument {} is not UTF-8", param.name))), + }; + match param.target { + "Boolean" => match t.as_str() { + "true" | "True" => DerivedValue::Bool(true), + "false" | "False" => DerivedValue::Bool(false), + _ => return Err(s.fail(Status::InvalidArg, format!("{name}: argument {} is not a Boolean", param.name))), + }, + _ => DerivedValue::Str(t), + } + } + } + }) +} + +/// Invoke the operation `member` declared on `class` on the element `e`. +pub fn call(s: &mut Session, e: ElementRef, class: &str, member: &str, args: &[Arg]) -> Result { + let name = format!("{class}::{member}()"); + let Some(spec) = metamodel::operations().iter().find(|op| op.declaring_metaclass == class && op.name == member) else { + return Err(s.fail(Status::NotImplemented, format!("{name}: the SysML Toolkit's catalog has no such declaration"))); + }; + let params = inputs(spec.parameters, args.len()); + if params.len() != args.len() { + return Err(s.fail( + Status::Internal, + format!("{name}: the SysML Toolkit declares {} parameters, the wrapper passed {}", params.len(), args.len()), + )); + } + let mut values = Vec::with_capacity(args.len()); + for (arg, param) in args.iter().zip(¶ms) { + values.push((param.id, value(s, &name, arg, param)?)); + } + // The SysML Toolkit takes the arguments in its execution signature's order, where it has one; + // without one it will refuse the operation before reading them. + if let Some(signature) = operation_execution_signature(spec.id) { + let mut ordered = Vec::with_capacity(values.len()); + for input in signature.inputs { + match values.iter().position(|(id, _)| id == input) { + Some(i) => ordered.push(values.swap_remove(i)), + None => return Err(s.fail(Status::Internal, format!("{name}: no argument for the SysML Toolkit's input {input}"))), + } + } + values = ordered; + } + let values: Vec = values.into_iter().map(|(_, v)| v).collect(); + match s.model().invoke_operation(e, spec.id, &values) { + Ok(result) => read::from_derived(s, &name, result.value), + Err(err) => Err(match err { + OperationError::InvalidArgument { .. } | OperationError::ArgumentCount { .. } => { + s.fail(Status::InvalidArg, format!("{name}: {err}")) + } + OperationError::UnknownOperation | OperationError::InvalidReceiver => { + s.fail(Status::Internal, format!("{name}: {err}")) + } + OperationError::WrongReceiver { .. } => s.fail(Status::NotApplicable, format!("{name}: {err}")), + _ => s.fail(Status::NotImplemented, format!("{name} is not answered by the SysML Toolkit: {err}")), + }), + } +} diff --git a/abi/src/read.rs b/abi/src/read.rs new file mode 100644 index 0000000..c9f5d6d --- /dev/null +++ b/abi/src/read.rs @@ -0,0 +1,216 @@ +//! Property reads, one generic reader per ABI result shape. +//! +//! Every property row of the naming table is answered the same way, so the generated wrappers +//! call these with the specification name and nothing is hand-written per member: the +//! SysML Toolkit's checked reader, `ResolvedModel::property(e, name)`, reads the property by its +//! specification name, owned or derived, following the metamodel's redefinitions (`general` on a +//! `FeatureTyping` is its `type`, `memberName` on an `OwningMembership` its `ownedMemberName`). +//! Its value is converted to the ABI shape. +//! +//! Where the SysML Toolkit cannot stand behind a value (not computed, an incomplete derivation, +//! an incomplete type projection, ...) it refuses, and so does this reader, with `NOT_IMPLEMENTED` +//! and the SysML Toolkit's reason. A reference that does not resolve, or resolves to an element +//! this session has not loaded, is reported with `UNRESOLVED`. Nothing is guessed or dropped +//! silently. + +use serde_json::Value; +use sysmlv2_model::json::{DerivedValue, ElementRef, PropertyError, Reference}; + +use crate::{str_of, Bool, Handles, Int, Real, Ref, Session, Status, Str}; + +/// What a read produced before conversion to a specific ABI shape. +pub enum Answer { + Absent, + Elements(Vec), + Element(ElementRef), + Text(String), + Texts(Vec), + Flag(bool), + Integer(i64), + Number(f64), +} + +fn unresolved(s: &mut Session, name: &str, spelling: &str) -> Status { + s.fail(Status::Unresolved, format!("{name}: reference '{spelling}' did not resolve")) +} + +fn outside(s: &mut Session, name: &str, id: &str) -> Status { + s.fail(Status::Unresolved, format!("{name}: reference to element {id}, which this session has not loaded")) +} + +/// The answer for `name` on `e`, or the status to return. +fn answer(s: &mut Session, e: ElementRef, name: &str) -> Result { + match s.model().property(e, name) { + Ok(v) => from_json(s, name, v), + Err(PropertyError::UnresolvedReference(spelling)) => Err(unresolved(s, name, &spelling)), + Err(why) => Err(s.fail(Status::NotImplemented, format!("{name} is not answered by the SysML Toolkit: {why}"))), + } +} + +fn from_json(s: &mut Session, name: &str, v: Value) -> Result { + Ok(match v { + Value::Null => Answer::Absent, + Value::Bool(b) => Answer::Flag(b), + Value::String(t) => Answer::Text(t), + Value::Number(n) => match n.as_i64() { + Some(i) => Answer::Integer(i), + None => Answer::Number(n.as_f64().unwrap_or(f64::NAN)), + }, + Value::Object(_) => match id_ref(s, name, &v)? { + Some(x) => Answer::Element(x), + None => Answer::Absent, + }, + Value::Array(items) => { + if items.iter().all(|i| i.is_string()) && !items.is_empty() { + Answer::Texts(items.into_iter().filter_map(|i| i.as_str().map(str::to_string)).collect()) + } else { + let mut all = Vec::with_capacity(items.len()); + for i in &items { + if let Some(x) = id_ref(s, name, i)? { + all.push(x); + } + } + Answer::Elements(all) + } + } + }) +} + +/// `{"@id": uuid}` to an element of the model; `{"@ref": spelling}` is an unresolved reference, +/// and an id this session has not loaded is reported the same way. +fn id_ref(s: &mut Session, name: &str, v: &Value) -> Result, Status> { + if let Some(id) = v.get("@id").and_then(Value::as_str) { + return match s.model().element_by_id(id) { + Some(x) => Ok(Some(x)), + None => Err(outside(s, name, id)), + }; + } + if let Some(sp) = v.get("@ref").and_then(Value::as_str) { + return Err(unresolved(s, name, sp)); + } + Ok(None) +} + +/// A value the SysML Toolkit computed in its own value shape (an operation's result), as an answer. +pub fn from_derived(s: &mut Session, name: &str, v: DerivedValue) -> Result { + fn element(s: &mut Session, name: &str, r: Reference) -> Result { + match r { + Reference::Element(x) => Ok(x), + Reference::Unresolved(sp) => Err(unresolved(s, name, &sp)), + Reference::External(id) => Err(outside(s, name, &id.to_string())), + _ => Err(s.fail(Status::Internal, format!("{name}: a kind of reference this library does not know"))), + } + } + Ok(match v { + DerivedValue::Null => Answer::Absent, + DerivedValue::Bool(b) => Answer::Flag(b), + DerivedValue::Str(t) => Answer::Text(t), + DerivedValue::Strings(ts) => Answer::Texts(ts), + DerivedValue::Element(x) => Answer::Element(x), + DerivedValue::Elements(xs) => Answer::Elements(xs), + DerivedValue::Reference(r) => Answer::Element(element(s, name, r)?), + DerivedValue::References(rs) => { + let mut all = Vec::with_capacity(rs.len()); + for r in rs { + all.push(element(s, name, r)?); + } + Answer::Elements(all) + } + _ => return Err(s.fail(Status::Internal, format!("{name}: a kind of value this library does not know"))), + }) +} + +// ---------------------------------------------------------------- one reader per ABI shape + +pub fn handles(s: &mut Session, e: ElementRef, name: &str, out: &mut Handles) -> Status { + let answer = answer(s, e, name); + put_handles(s, name, answer, out) +} + +pub fn put_handles(s: &mut Session, name: &str, answer: Result, out: &mut Handles) -> Status { + match answer { + Err(st) => st, + Ok(Answer::Elements(xs)) => { *out = s.mint_all(xs); Status::Ok } + Ok(Answer::Element(x)) => { *out = s.mint_all(vec![x]); Status::Ok } + Ok(Answer::Absent) => { *out = s.mint_all(Vec::new()); Status::Ok } + Ok(_) => s.fail(Status::Internal, format!("{name}: a collection was expected")), + } +} + +pub fn reference(s: &mut Session, e: ElementRef, name: &str, out: &mut Ref) -> Status { + let answer = answer(s, e, name); + put_reference(s, name, answer, out) +} + +pub fn put_reference(s: &mut Session, name: &str, answer: Result, out: &mut Ref) -> Status { + match answer { + Err(st) => st, + Ok(Answer::Element(x)) => { *out = s.mint_opt(Some(x)); Status::Ok } + Ok(Answer::Elements(mut xs)) if xs.len() <= 1 => { *out = s.mint_opt(xs.pop()); Status::Ok } + Ok(Answer::Absent) => { *out = Ref::ABSENT; Status::Ok } + Ok(_) => s.fail(Status::Internal, format!("{name}: a single reference was expected")), + } +} + +pub fn text(s: &mut Session, e: ElementRef, name: &str, out: &mut Str) -> Status { + let answer = answer(s, e, name); + put_text(s, name, answer, out) +} + +pub fn put_text(s: &mut Session, name: &str, answer: Result, out: &mut Str) -> Status { + match answer { + Err(st) => st, + Ok(Answer::Text(t)) => { *out = str_of(t); Status::Ok } + Ok(Answer::Texts(ts)) => { *out = str_of(serde_json::to_string(&ts).unwrap_or_default()); Status::Ok } + // An empty list of strings (aliasIds, text): the SysML Toolkit writes it as an empty array. + Ok(Answer::Elements(xs)) if xs.is_empty() => { *out = str_of("[]".to_string()); Status::Ok } + Ok(Answer::Integer(i)) => { *out = str_of(i.to_string()); Status::Ok } + Ok(Answer::Number(n)) => { *out = str_of(n.to_string()); Status::Ok } + Ok(Answer::Flag(b)) => { *out = str_of(b.to_string()); Status::Ok } + Ok(Answer::Absent) => { *out = Str::ABSENT; Status::Ok } + Ok(_) => s.fail(Status::Internal, format!("{name}: a text value was expected")), + } +} + +pub fn flag(s: &mut Session, e: ElementRef, name: &str, out: &mut Bool) -> Status { + let answer = answer(s, e, name); + put_flag(s, name, answer, out) +} + +pub fn put_flag(s: &mut Session, name: &str, answer: Result, out: &mut Bool) -> Status { + match answer { + Err(st) => st, + Ok(Answer::Flag(b)) => { *out = Bool { present: true, value: b }; Status::Ok } + Ok(Answer::Absent) => { *out = Bool::ABSENT; Status::Ok } + Ok(_) => s.fail(Status::Internal, format!("{name}: a boolean was expected")), + } +} + +pub fn integer(s: &mut Session, e: ElementRef, name: &str, out: &mut Int) -> Status { + let answer = answer(s, e, name); + put_integer(s, name, answer, out) +} + +pub fn put_integer(s: &mut Session, name: &str, answer: Result, out: &mut Int) -> Status { + match answer { + Err(st) => st, + Ok(Answer::Integer(i)) => { *out = Int { present: true, value: i }; Status::Ok } + Ok(Answer::Absent) => { *out = Int::ABSENT; Status::Ok } + Ok(_) => s.fail(Status::Internal, format!("{name}: an integer was expected")), + } +} + +pub fn real(s: &mut Session, e: ElementRef, name: &str, out: &mut Real) -> Status { + let answer = answer(s, e, name); + put_real(s, name, answer, out) +} + +pub fn put_real(s: &mut Session, name: &str, answer: Result, out: &mut Real) -> Status { + match answer { + Err(st) => st, + Ok(Answer::Number(n)) => { *out = Real { present: true, value: n }; Status::Ok } + Ok(Answer::Integer(i)) => { *out = Real { present: true, value: i as f64 }; Status::Ok } + Ok(Answer::Absent) => { *out = Real::ABSENT; Status::Ok } + Ok(_) => s.fail(Status::Internal, format!("{name}: a number was expected")), + } +} diff --git a/cpp/checks/checks.cpp b/cpp/checks/checks.cpp new file mode 100644 index 0000000..5ea67eb --- /dev/null +++ b/cpp/checks/checks.cpp @@ -0,0 +1,238 @@ +// Smoke test + conformance runner for the C++ SDK backend. +// Mirrors ../../demo.py; any failure throws and exits non-zero. + +#include +#include +#include +#include +#include +#include + +#include + +namespace checks { +void run_conformance(const std::string& metamodel_path); +} + +namespace { + +using namespace sysml; +namespace fs = std::filesystem; + +void check(bool cond, const std::string& what) { + if (!cond) + throw std::runtime_error("FAILED: " + what); +} + +fs::path find_repo_root() { + fs::path d = fs::current_path(); + while (true) { + if (fs::exists(d / "metamodel.json")) + return d; + if (d == d.root_path()) + throw std::runtime_error("metamodel.json not found above cwd"); + d = d.parent_path(); + } +} + +std::string read_file(const fs::path& p) { + std::ifstream in(p, std::ios::binary); + check(in.good(), "cannot open " + p.string()); + std::ostringstream buf; + buf << in.rdbuf(); + return buf.str(); +} + +Feature find_feature(const std::vector& feats, const std::string& name) { + for (const Feature& f : feats) + if (f.getDeclaredName() == name) + return f; + throw std::runtime_error("FAILED: no feature named " + name); +} + +void run_smoke(const std::string& payload) { + Model m = Model::from_full_json(payload); + + // --- typed resolution and hierarchy ----------------------------------- + Element vehicle = m.resolve("Demo::Vehicle").value(); + std::cout << "resolve: " << vehicle.to_string() << "\n"; + check(vehicle.is_a(), "PartDefinition"); + check(vehicle.is_a() && vehicle.is_a() && + vehicle.is_a() && vehicle.is_a(), + "hierarchy chain"); + check(!vehicle.is_a(), "not Feature"); + std::cout << "is_a chain: PartDefinition < Definition < Classifier < Type " + "< Namespace OK\n"; + + // wrong-kind cast throws + try { + (void)vehicle.as(); + check(false, "expected wrong_kind"); + } catch (const wrong_kind&) { + std::cout << "as() on a PartDefinition -> wrong_kind (as designed)\n"; + } + + // --- navigation (typed getters, table 0.5.0) --------------------------- + auto pd = vehicle.as(); + const std::vector feats = pd.getOwnedFeature(); + std::cout << "ownedFeature:"; + for (const Feature& f : feats) + std::cout << " " << f.metaclass_name() << ":" + << f.getDeclaredName().value_or("?"); + std::cout << "\n"; + check(feats.size() == 7, "7 features"); + Feature wheel = find_feature(feats, "wheel"); + check(wheel.metaclass_name() == "PartUsage", "wheel is PartUsage"); + check(wheel.getOwner().value() == vehicle, "owner identity"); + check(wheel.getIsComposite().value(), "isComposite"); + check(pd.getQualifiedName() == "Demo::Vehicle", "qualifiedName"); + + Element base_def = m.resolve("Demo::Base").value(); + const std::vector sub = pd.getOwnedSubclassification(); + check(sub.size() == 1 && sub[0].getSuperclassifier().value() == base_def, + "ownedSubclassification -> Base"); + + auto v_usage = m.resolve("Demo::v").value().as(); + const std::vector defs = v_usage.getDefinition(); + check(defs.size() == 1 && defs[0] == vehicle, "v.definition"); + std::cout << "v.definition -> Vehicle OK\n"; + + // --- reads pass the backend value through unchanged --------------------- + // (no client-side check: a member the SysML Toolkit does not implement says so itself) + check(pd.getOwnedPart().empty(), "ownedPart == []"); + check(vehicle.as().getInheritedFeature().empty(), "inheritedFeature == []"); + std::cout << "unimplemented derivations -> [] (backend value, no " + "second-guessing)\n"; + + // --- operation stubs are honest ---------------------------------------- + try { + (void)vehicle.as().specializes(base_def.as()); + check(false, "expected not_implemented_in_toolkit"); + } catch (const not_implemented_in_toolkit&) { + std::cout << "Type.specializes() -> not_implemented_in_toolkit (as designed)\n"; + } + + // (read-only guard is compile-time in C++: no setters are generated) + + // --- model-wide queries ------------------------------------------------- + int parts = 0, usages = 0; + for (const Element& el : m.all()) { + if (el.is_a()) + parts++; + if (el.is_a()) + usages++; + } + std::cout << "PartUsage: " << parts << ", all Usage subtypes: " << usages + << "\n"; + check(usages > parts, "subtype counts"); + + Element calc = m.resolve("Demo::Vehicle::K").value(); + check(calc.is_a(), "K is CalculationDefinition"); + const std::vector inputs = calc.as().getInput(); + check(inputs.size() == 1 && inputs[0].getDeclaredName() == "x", "K.input"); + std::cout << "K.input -> [x] OK\n"; + + // --- collision rule: MetadataUsage.metaclass is the SPEC member -------- + const std::string meta_payload = R"json([ + {"@id": "mc1", "@type": "Metaclass", "declaredName": "Safety", + "qualifiedName": "M::Safety"}, + {"@id": "m1", "@type": "MetadataUsage", "qualifiedName": "M::stubbed", + "metaclass": null}, + {"@id": "m2", "@type": "MetadataUsage", "qualifiedName": "M::filled", + "metaclass": {"@id": "mc1"}} + ])json"; + Model mm = Model::from_full_json(meta_payload); + auto mu = mm.element("m1").as(); + check(mu.metaclass_name() == "MetadataUsage", "runtime accessor (snake_case)"); + check(!mu.getMetaclass().has_value(), "spec member: backend value passed through"); + check(mm.element("m2").as().getMetaclass().value() == + mm.element("mc1"), + "filled metaclass re-check"); + std::cout << "MetadataUsage: .metaclass_name() (runtime) vs .getMetaclass() " + "(spec) OK\n"; + + // Elements come in document order; an id given twice keeps its first place + // and its last element. + Model ordered = Model::from_full_json(R"json([ + {"@id": "z", "@type": "Package", "declaredName": "first"}, + {"@id": "a", "@type": "Package", "declaredName": "A"}, + {"@id": "z", "@type": "Package", "declaredName": "second"} + ])json"); + std::vector ids; + for (const Element& e : ordered.all()) + ids.push_back(e.element_id()); + check(ids == std::vector{"z", "a"}, "document order"); + check(ordered.element("z").getDeclaredName() == std::optional("second"), + "the last element of an id"); + std::cout << "payload elements in document order OK\n"; +} + +template +bool throws_unresolved(Read read) { + try { + read(); + } catch (const unresolved_reference&) { + return true; + } + return false; +} + +std::vector ids_of(const std::vector& elements) { + std::vector ids; + for (const Element& e : elements) + ids.push_back(e.element_id()); + return ids; +} + +// A payload model with a library: references the model does not hold resolve in the library, +// the library's elements are not the model's, the model wins an id or name both have, and a +// reference in neither still throws. The same checks run in every language. +void check_payload_library() { + auto library = PayloadLibrary::parse(R"json([ + {"@id": "lib", "@type": "LibraryPackage", "qualifiedName": "ScalarValues", "isLibraryElement": true}, + {"@id": "real", "@type": "DataType", "qualifiedName": "ScalarValues::Real", "declaredName": "Real", + "owner": {"@id": "lib"}, "isLibraryElement": true}, + {"@id": "clash", "@type": "Package", "declaredName": "from the library"}, + {"@id": "libP", "@type": "Package", "qualifiedName": "P"} + ])json"); + const std::string model = R"json([ + {"@id": "pkg", "@type": "Package", "qualifiedName": "P", "declaredName": "P"}, + {"@id": "mass", "@type": "AttributeUsage", "qualifiedName": "P::mass", "owner": {"@id": "pkg"}, + "type": [{"@id": "real"}], "definition": [{"@id": "gone"}]}, + {"@id": "clash", "@type": "Package", "declaredName": "from the model"} + ])json"; + Model with_library = Model::from_full_json(model, library); + AttributeUsage mass = with_library.element("mass").as(); + Type real = mass.getType().at(0); + check(real.getDeclaredName() == std::optional("Real") && real.getIsLibraryElement() == true, + "library element"); + check(real.getOwner()->getQualifiedName() == std::optional("ScalarValues"), "library owner"); + check(with_library.resolve("ScalarValues::Real") == std::optional(real), "resolve into the library"); + check(ids_of(with_library.all()) == std::vector{"pkg", "mass", "clash"}, "all() lists the library"); + check(ids_of(with_library.roots()) == std::vector{"pkg", "clash"}, "roots() lists the library"); + check(with_library.element("clash").getDeclaredName() == std::optional("from the model"), + "the model's id wins"); + check(with_library.resolve("P")->element_id() == "pkg", "the model's name wins"); + check(throws_unresolved([&] { (void)mass.getDefinition(); }), "a reference in neither"); + Model without_library = Model::from_full_json(model); + check(throws_unresolved([&] { (void)without_library.element("mass").as().getType(); }), + "no library, no resolution"); + check(!without_library.resolve("ScalarValues::Real"), "no library, no name"); + std::cout << "payload model with a library OK\n"; +} + +} // namespace + +int main() { + try { + const fs::path root = find_repo_root(); + checks::run_conformance((root / "metamodel.json").string()); + run_smoke(read_file(root / "data" / "bigger.full.json")); + check_payload_library(); + std::cout << "\nALL C++-BACKEND SMOKE TESTS PASSED\n"; + return 0; + } catch (const std::exception& e) { + std::cerr << e.what() << "\n"; + return 1; + } +} diff --git a/cpp/checks/conformance.g.cpp b/cpp/checks/conformance.g.cpp new file mode 100644 index 0000000..52179b9 --- /dev/null +++ b/cpp/checks/conformance.g.cpp @@ -0,0 +1,20371 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_conformance.py. +// +// Anti-drift: TABLE_SHA256 pins the table this file was generated +// from; the checks are UNROLLED per-class assertions (C++ has no +// reflection). Invoked by checks.cpp. +#include +#include +#include +#include +#include + +#include + +#include "sha256.hpp" + +namespace checks { + +using namespace sysml; + +static const char* const TABLE_SHA256 = "17644f3a5d70189d76b5ecb95c2089aeda1f93b6705f8bce5eeae1faf023758b"; + +static void require(bool cond, const std::string& what) { + if (!cond) + throw std::runtime_error("conformance FAILED: " + what); +} + +#define EXPECT_NIK(expr, what) \ + do { \ + bool threw_ = false; \ + try { \ + (void)(expr); \ + } catch (const ::sysml::not_implemented_in_toolkit&) { \ + threw_ = true; \ + } \ + require(threw_, std::string(what) + ": op must throw"); \ + } while (0) + +static void check_AcceptActionUsage(const Model& m) { + Element e = m.element("e-AcceptActionUsage"); + require(e.metaclass_name() == "AcceptActionUsage", "AcceptActionUsage: metaclass"); + require(e.element_id() == "e-AcceptActionUsage", "AcceptActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "AcceptActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "AcceptActionUsage !< Element"); + require(e.is_kind("Feature"), "AcceptActionUsage !< Feature"); + require(e.is_kind("Namespace"), "AcceptActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "AcceptActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "AcceptActionUsage !< Step"); + require(e.is_kind("Type"), "AcceptActionUsage !< Type"); + require(e.is_kind("Usage"), "AcceptActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPayloadArgument(); + (void)t.getPayloadParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getReceiverArgument(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "AcceptActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AcceptActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AcceptActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "AcceptActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "AcceptActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "AcceptActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "AcceptActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "AcceptActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AcceptActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AcceptActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AcceptActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AcceptActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AcceptActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AcceptActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AcceptActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "AcceptActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "AcceptActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "AcceptActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "AcceptActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "AcceptActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "AcceptActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "AcceptActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "AcceptActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.isTriggerAction(), "AcceptActionUsage.isTriggerAction()"); + EXPECT_NIK(t.libraryNamespace(), "AcceptActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AcceptActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AcceptActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AcceptActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "AcceptActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AcceptActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "AcceptActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "AcceptActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "AcceptActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "AcceptActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "AcceptActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "AcceptActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AcceptActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AcceptActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AcceptActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AcceptActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AcceptActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AcceptActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AcceptActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "AcceptActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "AcceptActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "AcceptActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AcceptActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AcceptActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AcceptActionUsage.visibleMemberships()"); +} + +static void check_ActionDefinition(const Model& m) { + Element e = m.element("e-ActionDefinition"); + require(e.metaclass_name() == "ActionDefinition", "ActionDefinition: metaclass"); + require(e.element_id() == "e-ActionDefinition", "ActionDefinition: element_id"); + require(e.is_kind("Behavior"), "ActionDefinition !< Behavior"); + require(e.is_kind("Class"), "ActionDefinition !< Class"); + require(e.is_kind("Classifier"), "ActionDefinition !< Classifier"); + require(e.is_kind("Definition"), "ActionDefinition !< Definition"); + require(e.is_kind("Element"), "ActionDefinition !< Element"); + require(e.is_kind("Namespace"), "ActionDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ActionDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "ActionDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ActionDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ActionDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ActionDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ActionDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ActionDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ActionDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ActionDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ActionDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ActionDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ActionDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ActionDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ActionDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ActionDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ActionDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ActionDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ActionDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ActionDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ActionDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ActionDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ActionDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ActionDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ActionDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ActionDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ActionDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ActionDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ActionDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ActionDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ActionDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ActionDefinition.visibleMemberships()"); +} + +static void check_ActionUsage(const Model& m) { + Element e = m.element("e-ActionUsage"); + require(e.metaclass_name() == "ActionUsage", "ActionUsage: metaclass"); + require(e.element_id() == "e-ActionUsage", "ActionUsage: element_id"); + require(e.is_kind("Element"), "ActionUsage !< Element"); + require(e.is_kind("Feature"), "ActionUsage !< Feature"); + require(e.is_kind("Namespace"), "ActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "ActionUsage !< Step"); + require(e.is_kind("Type"), "ActionUsage !< Type"); + require(e.is_kind("Usage"), "ActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "ActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "ActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "ActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "ActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "ActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "ActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "ActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ActionUsage.visibleMemberships()"); +} + +static void check_ActorMembership(const Model& m) { + Element e = m.element("e-ActorMembership"); + require(e.metaclass_name() == "ActorMembership", "ActorMembership: metaclass"); + require(e.element_id() == "e-ActorMembership", "ActorMembership: element_id"); + require(e.is_kind("Element"), "ActorMembership !< Element"); + require(e.is_kind("FeatureMembership"), "ActorMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "ActorMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ActorMembership !< OwningMembership"); + require(e.is_kind("ParameterMembership"), "ActorMembership !< ParameterMembership"); + require(e.is_kind("Relationship"), "ActorMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedActorParameter(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberParameter(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ActorMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ActorMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ActorMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ActorMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ActorMembership.libraryNamespace()"); + EXPECT_NIK(t.parameterDirection(), "ActorMembership.parameterDirection()"); + EXPECT_NIK(t.path(), "ActorMembership.path()"); +} + +static void check_AllocationDefinition(const Model& m) { + Element e = m.element("e-AllocationDefinition"); + require(e.metaclass_name() == "AllocationDefinition", "AllocationDefinition: metaclass"); + require(e.element_id() == "e-AllocationDefinition", "AllocationDefinition: element_id"); + require(e.is_kind("Association"), "AllocationDefinition !< Association"); + require(e.is_kind("AssociationStructure"), "AllocationDefinition !< AssociationStructure"); + require(e.is_kind("Class"), "AllocationDefinition !< Class"); + require(e.is_kind("Classifier"), "AllocationDefinition !< Classifier"); + require(e.is_kind("ConnectionDefinition"), "AllocationDefinition !< ConnectionDefinition"); + require(e.is_kind("Definition"), "AllocationDefinition !< Definition"); + require(e.is_kind("Element"), "AllocationDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "AllocationDefinition !< ItemDefinition"); + require(e.is_kind("Namespace"), "AllocationDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "AllocationDefinition !< OccurrenceDefinition"); + require(e.is_kind("PartDefinition"), "AllocationDefinition !< PartDefinition"); + require(e.is_kind("Relationship"), "AllocationDefinition !< Relationship"); + require(e.is_kind("Structure"), "AllocationDefinition !< Structure"); + require(e.is_kind("Type"), "AllocationDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAllocation(); + (void)t.getAssociationEnd(); + (void)t.getConnectionEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AllocationDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AllocationDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "AllocationDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AllocationDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AllocationDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AllocationDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AllocationDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AllocationDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AllocationDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AllocationDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "AllocationDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "AllocationDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AllocationDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AllocationDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AllocationDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AllocationDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "AllocationDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "AllocationDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AllocationDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AllocationDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AllocationDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AllocationDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AllocationDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AllocationDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AllocationDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "AllocationDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AllocationDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AllocationDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AllocationDefinition.visibleMemberships()"); +} + +static void check_AllocationUsage(const Model& m) { + Element e = m.element("e-AllocationUsage"); + require(e.metaclass_name() == "AllocationUsage", "AllocationUsage: metaclass"); + require(e.element_id() == "e-AllocationUsage", "AllocationUsage: element_id"); + require(e.is_kind("ConnectionUsage"), "AllocationUsage !< ConnectionUsage"); + require(e.is_kind("Connector"), "AllocationUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "AllocationUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "AllocationUsage !< Element"); + require(e.is_kind("Feature"), "AllocationUsage !< Feature"); + require(e.is_kind("ItemUsage"), "AllocationUsage !< ItemUsage"); + require(e.is_kind("Namespace"), "AllocationUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "AllocationUsage !< OccurrenceUsage"); + require(e.is_kind("PartUsage"), "AllocationUsage !< PartUsage"); + require(e.is_kind("Relationship"), "AllocationUsage !< Relationship"); + require(e.is_kind("Type"), "AllocationUsage !< Type"); + require(e.is_kind("Usage"), "AllocationUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAllocationDefinition(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectionDefinition(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPartDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "AllocationUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AllocationUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AllocationUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "AllocationUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "AllocationUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "AllocationUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "AllocationUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AllocationUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AllocationUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AllocationUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AllocationUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AllocationUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AllocationUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AllocationUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "AllocationUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "AllocationUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "AllocationUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "AllocationUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "AllocationUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "AllocationUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AllocationUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AllocationUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AllocationUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "AllocationUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AllocationUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "AllocationUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "AllocationUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "AllocationUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "AllocationUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "AllocationUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "AllocationUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AllocationUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AllocationUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AllocationUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AllocationUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AllocationUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AllocationUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AllocationUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "AllocationUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "AllocationUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "AllocationUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AllocationUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AllocationUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AllocationUsage.visibleMemberships()"); +} + +static void check_AnalysisCaseDefinition(const Model& m) { + Element e = m.element("e-AnalysisCaseDefinition"); + require(e.metaclass_name() == "AnalysisCaseDefinition", "AnalysisCaseDefinition: metaclass"); + require(e.element_id() == "e-AnalysisCaseDefinition", "AnalysisCaseDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "AnalysisCaseDefinition !< ActionDefinition"); + require(e.is_kind("Behavior"), "AnalysisCaseDefinition !< Behavior"); + require(e.is_kind("CalculationDefinition"), "AnalysisCaseDefinition !< CalculationDefinition"); + require(e.is_kind("CaseDefinition"), "AnalysisCaseDefinition !< CaseDefinition"); + require(e.is_kind("Class"), "AnalysisCaseDefinition !< Class"); + require(e.is_kind("Classifier"), "AnalysisCaseDefinition !< Classifier"); + require(e.is_kind("Definition"), "AnalysisCaseDefinition !< Definition"); + require(e.is_kind("Element"), "AnalysisCaseDefinition !< Element"); + require(e.is_kind("Function"), "AnalysisCaseDefinition !< Function"); + require(e.is_kind("Namespace"), "AnalysisCaseDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "AnalysisCaseDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "AnalysisCaseDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getCalculation(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getObjectiveRequirement(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getResultExpression(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AnalysisCaseDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AnalysisCaseDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "AnalysisCaseDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AnalysisCaseDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AnalysisCaseDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AnalysisCaseDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AnalysisCaseDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AnalysisCaseDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AnalysisCaseDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AnalysisCaseDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "AnalysisCaseDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "AnalysisCaseDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AnalysisCaseDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AnalysisCaseDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AnalysisCaseDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AnalysisCaseDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "AnalysisCaseDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "AnalysisCaseDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AnalysisCaseDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AnalysisCaseDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AnalysisCaseDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AnalysisCaseDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AnalysisCaseDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AnalysisCaseDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AnalysisCaseDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "AnalysisCaseDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AnalysisCaseDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AnalysisCaseDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AnalysisCaseDefinition.visibleMemberships()"); +} + +static void check_AnalysisCaseUsage(const Model& m) { + Element e = m.element("e-AnalysisCaseUsage"); + require(e.metaclass_name() == "AnalysisCaseUsage", "AnalysisCaseUsage: metaclass"); + require(e.element_id() == "e-AnalysisCaseUsage", "AnalysisCaseUsage: element_id"); + require(e.is_kind("ActionUsage"), "AnalysisCaseUsage !< ActionUsage"); + require(e.is_kind("CalculationUsage"), "AnalysisCaseUsage !< CalculationUsage"); + require(e.is_kind("CaseUsage"), "AnalysisCaseUsage !< CaseUsage"); + require(e.is_kind("Element"), "AnalysisCaseUsage !< Element"); + require(e.is_kind("Expression"), "AnalysisCaseUsage !< Expression"); + require(e.is_kind("Feature"), "AnalysisCaseUsage !< Feature"); + require(e.is_kind("Namespace"), "AnalysisCaseUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "AnalysisCaseUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "AnalysisCaseUsage !< Step"); + require(e.is_kind("Type"), "AnalysisCaseUsage !< Type"); + require(e.is_kind("Usage"), "AnalysisCaseUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAnalysisCaseDefinition(); + (void)t.getBehavior(); + (void)t.getCalculationDefinition(); + (void)t.getCaseDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getObjectiveRequirement(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getResultExpression(); + (void)t.getShortName(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "AnalysisCaseUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AnalysisCaseUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AnalysisCaseUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "AnalysisCaseUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "AnalysisCaseUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "AnalysisCaseUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "AnalysisCaseUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "AnalysisCaseUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "AnalysisCaseUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AnalysisCaseUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AnalysisCaseUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AnalysisCaseUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AnalysisCaseUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "AnalysisCaseUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "AnalysisCaseUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AnalysisCaseUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AnalysisCaseUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "AnalysisCaseUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "AnalysisCaseUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "AnalysisCaseUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "AnalysisCaseUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "AnalysisCaseUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "AnalysisCaseUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "AnalysisCaseUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "AnalysisCaseUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "AnalysisCaseUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AnalysisCaseUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "AnalysisCaseUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "AnalysisCaseUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AnalysisCaseUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "AnalysisCaseUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AnalysisCaseUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "AnalysisCaseUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "AnalysisCaseUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "AnalysisCaseUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "AnalysisCaseUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "AnalysisCaseUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "AnalysisCaseUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AnalysisCaseUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AnalysisCaseUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AnalysisCaseUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AnalysisCaseUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AnalysisCaseUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AnalysisCaseUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AnalysisCaseUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "AnalysisCaseUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "AnalysisCaseUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "AnalysisCaseUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AnalysisCaseUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AnalysisCaseUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AnalysisCaseUsage.visibleMemberships()"); +} + +static void check_AnnotatingElement(const Model& m) { + Element e = m.element("e-AnnotatingElement"); + require(e.metaclass_name() == "AnnotatingElement", "AnnotatingElement: metaclass"); + require(e.element_id() == "e-AnnotatingElement", "AnnotatingElement: element_id"); + require(e.is_kind("Element"), "AnnotatingElement !< Element"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotation(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotatingRelationship(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningAnnotatingRelationship(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "AnnotatingElement.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AnnotatingElement.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AnnotatingElement.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "AnnotatingElement.libraryNamespace()"); + EXPECT_NIK(t.path(), "AnnotatingElement.path()"); +} + +static void check_Annotation(const Model& m) { + Element e = m.element("e-Annotation"); + require(e.metaclass_name() == "Annotation", "Annotation: metaclass"); + require(e.element_id() == "e-Annotation", "Annotation: element_id"); + require(e.is_kind("Element"), "Annotation !< Element"); + require(e.is_kind("Relationship"), "Annotation !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotatingElement(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotatingElement(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningAnnotatedElement(); + (void)t.getOwningAnnotatingElement(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Annotation.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Annotation.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Annotation.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Annotation.libraryNamespace()"); + EXPECT_NIK(t.path(), "Annotation.path()"); +} + +static void check_AssertConstraintUsage(const Model& m) { + Element e = m.element("e-AssertConstraintUsage"); + require(e.metaclass_name() == "AssertConstraintUsage", "AssertConstraintUsage: metaclass"); + require(e.element_id() == "e-AssertConstraintUsage", "AssertConstraintUsage: element_id"); + require(e.is_kind("BooleanExpression"), "AssertConstraintUsage !< BooleanExpression"); + require(e.is_kind("ConstraintUsage"), "AssertConstraintUsage !< ConstraintUsage"); + require(e.is_kind("Element"), "AssertConstraintUsage !< Element"); + require(e.is_kind("Expression"), "AssertConstraintUsage !< Expression"); + require(e.is_kind("Feature"), "AssertConstraintUsage !< Feature"); + require(e.is_kind("Invariant"), "AssertConstraintUsage !< Invariant"); + require(e.is_kind("Namespace"), "AssertConstraintUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "AssertConstraintUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "AssertConstraintUsage !< Step"); + require(e.is_kind("Type"), "AssertConstraintUsage !< Type"); + require(e.is_kind("Usage"), "AssertConstraintUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssertedConstraint(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConstraintDefinition(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsNegated(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "AssertConstraintUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AssertConstraintUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AssertConstraintUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "AssertConstraintUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "AssertConstraintUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "AssertConstraintUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "AssertConstraintUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "AssertConstraintUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AssertConstraintUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AssertConstraintUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AssertConstraintUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AssertConstraintUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "AssertConstraintUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "AssertConstraintUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AssertConstraintUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AssertConstraintUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "AssertConstraintUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "AssertConstraintUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "AssertConstraintUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "AssertConstraintUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "AssertConstraintUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "AssertConstraintUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AssertConstraintUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "AssertConstraintUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "AssertConstraintUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AssertConstraintUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "AssertConstraintUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AssertConstraintUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "AssertConstraintUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "AssertConstraintUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "AssertConstraintUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "AssertConstraintUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "AssertConstraintUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "AssertConstraintUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AssertConstraintUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AssertConstraintUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AssertConstraintUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AssertConstraintUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AssertConstraintUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AssertConstraintUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AssertConstraintUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "AssertConstraintUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "AssertConstraintUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "AssertConstraintUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AssertConstraintUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AssertConstraintUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AssertConstraintUsage.visibleMemberships()"); +} + +static void check_AssignmentActionUsage(const Model& m) { + Element e = m.element("e-AssignmentActionUsage"); + require(e.metaclass_name() == "AssignmentActionUsage", "AssignmentActionUsage: metaclass"); + require(e.element_id() == "e-AssignmentActionUsage", "AssignmentActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "AssignmentActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "AssignmentActionUsage !< Element"); + require(e.is_kind("Feature"), "AssignmentActionUsage !< Feature"); + require(e.is_kind("Namespace"), "AssignmentActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "AssignmentActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "AssignmentActionUsage !< Step"); + require(e.is_kind("Type"), "AssignmentActionUsage !< Type"); + require(e.is_kind("Usage"), "AssignmentActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getReferent(); + (void)t.getShortName(); + (void)t.getTargetArgument(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getValueExpression(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "AssignmentActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AssignmentActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AssignmentActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "AssignmentActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "AssignmentActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "AssignmentActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "AssignmentActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "AssignmentActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AssignmentActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AssignmentActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AssignmentActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AssignmentActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AssignmentActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AssignmentActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AssignmentActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "AssignmentActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "AssignmentActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "AssignmentActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "AssignmentActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "AssignmentActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "AssignmentActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "AssignmentActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "AssignmentActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "AssignmentActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AssignmentActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AssignmentActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AssignmentActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "AssignmentActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AssignmentActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "AssignmentActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "AssignmentActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "AssignmentActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "AssignmentActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "AssignmentActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "AssignmentActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AssignmentActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AssignmentActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AssignmentActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AssignmentActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AssignmentActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AssignmentActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AssignmentActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "AssignmentActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "AssignmentActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "AssignmentActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AssignmentActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AssignmentActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AssignmentActionUsage.visibleMemberships()"); +} + +static void check_Association(const Model& m) { + Element e = m.element("e-Association"); + require(e.metaclass_name() == "Association", "Association: metaclass"); + require(e.element_id() == "e-Association", "Association: element_id"); + require(e.is_kind("Classifier"), "Association !< Classifier"); + require(e.is_kind("Element"), "Association !< Element"); + require(e.is_kind("Namespace"), "Association !< Namespace"); + require(e.is_kind("Relationship"), "Association !< Relationship"); + require(e.is_kind("Type"), "Association !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociationEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Association.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Association.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Association.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Association.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Association.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Association.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Association.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Association.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Association.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Association.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Association.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Association.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Association.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Association.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Association.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Association.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Association.path()"); + EXPECT_NIK(t.qualificationOf({}), "Association.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Association.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Association.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Association.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Association.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Association.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Association.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Association.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Association.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Association.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Association.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Association.visibleMemberships()"); +} + +static void check_AssociationStructure(const Model& m) { + Element e = m.element("e-AssociationStructure"); + require(e.metaclass_name() == "AssociationStructure", "AssociationStructure: metaclass"); + require(e.element_id() == "e-AssociationStructure", "AssociationStructure: element_id"); + require(e.is_kind("Association"), "AssociationStructure !< Association"); + require(e.is_kind("Class"), "AssociationStructure !< Class"); + require(e.is_kind("Classifier"), "AssociationStructure !< Classifier"); + require(e.is_kind("Element"), "AssociationStructure !< Element"); + require(e.is_kind("Namespace"), "AssociationStructure !< Namespace"); + require(e.is_kind("Relationship"), "AssociationStructure !< Relationship"); + require(e.is_kind("Structure"), "AssociationStructure !< Structure"); + require(e.is_kind("Type"), "AssociationStructure !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociationEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AssociationStructure.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AssociationStructure.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "AssociationStructure.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AssociationStructure.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AssociationStructure.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AssociationStructure.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AssociationStructure.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AssociationStructure.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AssociationStructure.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AssociationStructure.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "AssociationStructure.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "AssociationStructure.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AssociationStructure.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AssociationStructure.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AssociationStructure.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AssociationStructure.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "AssociationStructure.path()"); + EXPECT_NIK(t.qualificationOf({}), "AssociationStructure.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AssociationStructure.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AssociationStructure.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AssociationStructure.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AssociationStructure.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AssociationStructure.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AssociationStructure.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AssociationStructure.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "AssociationStructure.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AssociationStructure.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AssociationStructure.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AssociationStructure.visibleMemberships()"); +} + +static void check_AttributeDefinition(const Model& m) { + Element e = m.element("e-AttributeDefinition"); + require(e.metaclass_name() == "AttributeDefinition", "AttributeDefinition: metaclass"); + require(e.element_id() == "e-AttributeDefinition", "AttributeDefinition: element_id"); + require(e.is_kind("Classifier"), "AttributeDefinition !< Classifier"); + require(e.is_kind("DataType"), "AttributeDefinition !< DataType"); + require(e.is_kind("Definition"), "AttributeDefinition !< Definition"); + require(e.is_kind("Element"), "AttributeDefinition !< Element"); + require(e.is_kind("Namespace"), "AttributeDefinition !< Namespace"); + require(e.is_kind("Type"), "AttributeDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AttributeDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AttributeDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "AttributeDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AttributeDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AttributeDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AttributeDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AttributeDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AttributeDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AttributeDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AttributeDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "AttributeDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "AttributeDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AttributeDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AttributeDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AttributeDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AttributeDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "AttributeDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "AttributeDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AttributeDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AttributeDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AttributeDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AttributeDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AttributeDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AttributeDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AttributeDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "AttributeDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AttributeDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AttributeDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AttributeDefinition.visibleMemberships()"); +} + +static void check_AttributeUsage(const Model& m) { + Element e = m.element("e-AttributeUsage"); + require(e.metaclass_name() == "AttributeUsage", "AttributeUsage: metaclass"); + require(e.element_id() == "e-AttributeUsage", "AttributeUsage: element_id"); + require(e.is_kind("Element"), "AttributeUsage !< Element"); + require(e.is_kind("Feature"), "AttributeUsage !< Feature"); + require(e.is_kind("Namespace"), "AttributeUsage !< Namespace"); + require(e.is_kind("Type"), "AttributeUsage !< Type"); + require(e.is_kind("Usage"), "AttributeUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAttributeDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "AttributeUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "AttributeUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "AttributeUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "AttributeUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "AttributeUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "AttributeUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "AttributeUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "AttributeUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "AttributeUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "AttributeUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "AttributeUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "AttributeUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "AttributeUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "AttributeUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "AttributeUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "AttributeUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "AttributeUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "AttributeUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "AttributeUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "AttributeUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "AttributeUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "AttributeUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "AttributeUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "AttributeUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "AttributeUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "AttributeUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "AttributeUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "AttributeUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "AttributeUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "AttributeUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "AttributeUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "AttributeUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "AttributeUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "AttributeUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "AttributeUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "AttributeUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "AttributeUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "AttributeUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "AttributeUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "AttributeUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "AttributeUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "AttributeUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "AttributeUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "AttributeUsage.visibleMemberships()"); +} + +static void check_Behavior(const Model& m) { + Element e = m.element("e-Behavior"); + require(e.metaclass_name() == "Behavior", "Behavior: metaclass"); + require(e.element_id() == "e-Behavior", "Behavior: element_id"); + require(e.is_kind("Class"), "Behavior !< Class"); + require(e.is_kind("Classifier"), "Behavior !< Classifier"); + require(e.is_kind("Element"), "Behavior !< Element"); + require(e.is_kind("Namespace"), "Behavior !< Namespace"); + require(e.is_kind("Type"), "Behavior !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Behavior.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Behavior.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Behavior.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Behavior.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Behavior.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Behavior.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Behavior.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Behavior.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Behavior.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Behavior.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Behavior.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Behavior.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Behavior.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Behavior.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Behavior.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Behavior.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Behavior.path()"); + EXPECT_NIK(t.qualificationOf({}), "Behavior.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Behavior.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Behavior.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Behavior.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Behavior.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Behavior.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Behavior.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Behavior.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Behavior.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Behavior.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Behavior.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Behavior.visibleMemberships()"); +} + +static void check_BindingConnector(const Model& m) { + Element e = m.element("e-BindingConnector"); + require(e.metaclass_name() == "BindingConnector", "BindingConnector: metaclass"); + require(e.element_id() == "e-BindingConnector", "BindingConnector: element_id"); + require(e.is_kind("Connector"), "BindingConnector !< Connector"); + require(e.is_kind("Element"), "BindingConnector !< Element"); + require(e.is_kind("Feature"), "BindingConnector !< Feature"); + require(e.is_kind("Namespace"), "BindingConnector !< Namespace"); + require(e.is_kind("Relationship"), "BindingConnector !< Relationship"); + require(e.is_kind("Type"), "BindingConnector !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "BindingConnector.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "BindingConnector.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "BindingConnector.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "BindingConnector.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "BindingConnector.canAccess()"); + EXPECT_NIK(t.directionFor({}), "BindingConnector.directionFor()"); + EXPECT_NIK(t.directionOf({}), "BindingConnector.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "BindingConnector.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "BindingConnector.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "BindingConnector.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "BindingConnector.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "BindingConnector.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "BindingConnector.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "BindingConnector.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "BindingConnector.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "BindingConnector.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "BindingConnector.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "BindingConnector.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "BindingConnector.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "BindingConnector.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "BindingConnector.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "BindingConnector.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "BindingConnector.namesOf()"); + EXPECT_NIK(t.namingFeature(), "BindingConnector.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "BindingConnector.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "BindingConnector.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "BindingConnector.path()"); + EXPECT_NIK(t.qualificationOf({}), "BindingConnector.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "BindingConnector.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "BindingConnector.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "BindingConnector.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "BindingConnector.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "BindingConnector.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "BindingConnector.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "BindingConnector.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "BindingConnector.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "BindingConnector.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "BindingConnector.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "BindingConnector.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "BindingConnector.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "BindingConnector.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "BindingConnector.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "BindingConnector.visibleMemberships()"); +} + +static void check_BindingConnectorAsUsage(const Model& m) { + Element e = m.element("e-BindingConnectorAsUsage"); + require(e.metaclass_name() == "BindingConnectorAsUsage", "BindingConnectorAsUsage: metaclass"); + require(e.element_id() == "e-BindingConnectorAsUsage", "BindingConnectorAsUsage: element_id"); + require(e.is_kind("BindingConnector"), "BindingConnectorAsUsage !< BindingConnector"); + require(e.is_kind("Connector"), "BindingConnectorAsUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "BindingConnectorAsUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "BindingConnectorAsUsage !< Element"); + require(e.is_kind("Feature"), "BindingConnectorAsUsage !< Feature"); + require(e.is_kind("Namespace"), "BindingConnectorAsUsage !< Namespace"); + require(e.is_kind("Relationship"), "BindingConnectorAsUsage !< Relationship"); + require(e.is_kind("Type"), "BindingConnectorAsUsage !< Type"); + require(e.is_kind("Usage"), "BindingConnectorAsUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "BindingConnectorAsUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "BindingConnectorAsUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "BindingConnectorAsUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "BindingConnectorAsUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "BindingConnectorAsUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "BindingConnectorAsUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "BindingConnectorAsUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "BindingConnectorAsUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "BindingConnectorAsUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "BindingConnectorAsUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "BindingConnectorAsUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "BindingConnectorAsUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "BindingConnectorAsUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "BindingConnectorAsUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "BindingConnectorAsUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "BindingConnectorAsUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "BindingConnectorAsUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "BindingConnectorAsUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "BindingConnectorAsUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "BindingConnectorAsUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "BindingConnectorAsUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "BindingConnectorAsUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "BindingConnectorAsUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "BindingConnectorAsUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "BindingConnectorAsUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "BindingConnectorAsUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "BindingConnectorAsUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "BindingConnectorAsUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "BindingConnectorAsUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "BindingConnectorAsUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "BindingConnectorAsUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "BindingConnectorAsUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "BindingConnectorAsUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "BindingConnectorAsUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "BindingConnectorAsUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "BindingConnectorAsUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "BindingConnectorAsUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "BindingConnectorAsUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "BindingConnectorAsUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "BindingConnectorAsUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "BindingConnectorAsUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "BindingConnectorAsUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "BindingConnectorAsUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "BindingConnectorAsUsage.visibleMemberships()"); +} + +static void check_BooleanExpression(const Model& m) { + Element e = m.element("e-BooleanExpression"); + require(e.metaclass_name() == "BooleanExpression", "BooleanExpression: metaclass"); + require(e.element_id() == "e-BooleanExpression", "BooleanExpression: element_id"); + require(e.is_kind("Element"), "BooleanExpression !< Element"); + require(e.is_kind("Expression"), "BooleanExpression !< Expression"); + require(e.is_kind("Feature"), "BooleanExpression !< Feature"); + require(e.is_kind("Namespace"), "BooleanExpression !< Namespace"); + require(e.is_kind("Step"), "BooleanExpression !< Step"); + require(e.is_kind("Type"), "BooleanExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "BooleanExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "BooleanExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "BooleanExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "BooleanExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "BooleanExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "BooleanExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "BooleanExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "BooleanExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "BooleanExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "BooleanExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "BooleanExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "BooleanExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "BooleanExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "BooleanExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "BooleanExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "BooleanExpression.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "BooleanExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "BooleanExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "BooleanExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "BooleanExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "BooleanExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "BooleanExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "BooleanExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "BooleanExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "BooleanExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "BooleanExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "BooleanExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "BooleanExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "BooleanExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "BooleanExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "BooleanExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "BooleanExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "BooleanExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "BooleanExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "BooleanExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "BooleanExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "BooleanExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "BooleanExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "BooleanExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "BooleanExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "BooleanExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "BooleanExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "BooleanExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "BooleanExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "BooleanExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "BooleanExpression.visibleMemberships()"); +} + +static void check_CalculationDefinition(const Model& m) { + Element e = m.element("e-CalculationDefinition"); + require(e.metaclass_name() == "CalculationDefinition", "CalculationDefinition: metaclass"); + require(e.element_id() == "e-CalculationDefinition", "CalculationDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "CalculationDefinition !< ActionDefinition"); + require(e.is_kind("Behavior"), "CalculationDefinition !< Behavior"); + require(e.is_kind("Class"), "CalculationDefinition !< Class"); + require(e.is_kind("Classifier"), "CalculationDefinition !< Classifier"); + require(e.is_kind("Definition"), "CalculationDefinition !< Definition"); + require(e.is_kind("Element"), "CalculationDefinition !< Element"); + require(e.is_kind("Function"), "CalculationDefinition !< Function"); + require(e.is_kind("Namespace"), "CalculationDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "CalculationDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "CalculationDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getAliasIds(); + (void)t.getCalculation(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "CalculationDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "CalculationDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "CalculationDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "CalculationDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "CalculationDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "CalculationDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "CalculationDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "CalculationDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "CalculationDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "CalculationDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "CalculationDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "CalculationDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "CalculationDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "CalculationDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "CalculationDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "CalculationDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "CalculationDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "CalculationDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "CalculationDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "CalculationDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "CalculationDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "CalculationDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "CalculationDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "CalculationDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "CalculationDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "CalculationDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "CalculationDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "CalculationDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "CalculationDefinition.visibleMemberships()"); +} + +static void check_CalculationUsage(const Model& m) { + Element e = m.element("e-CalculationUsage"); + require(e.metaclass_name() == "CalculationUsage", "CalculationUsage: metaclass"); + require(e.element_id() == "e-CalculationUsage", "CalculationUsage: element_id"); + require(e.is_kind("ActionUsage"), "CalculationUsage !< ActionUsage"); + require(e.is_kind("Element"), "CalculationUsage !< Element"); + require(e.is_kind("Expression"), "CalculationUsage !< Expression"); + require(e.is_kind("Feature"), "CalculationUsage !< Feature"); + require(e.is_kind("Namespace"), "CalculationUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "CalculationUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "CalculationUsage !< Step"); + require(e.is_kind("Type"), "CalculationUsage !< Type"); + require(e.is_kind("Usage"), "CalculationUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getCalculationDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "CalculationUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "CalculationUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "CalculationUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "CalculationUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "CalculationUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "CalculationUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "CalculationUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "CalculationUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "CalculationUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "CalculationUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "CalculationUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "CalculationUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "CalculationUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "CalculationUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "CalculationUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "CalculationUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "CalculationUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "CalculationUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "CalculationUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "CalculationUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "CalculationUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "CalculationUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "CalculationUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "CalculationUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "CalculationUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "CalculationUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "CalculationUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "CalculationUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "CalculationUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "CalculationUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "CalculationUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "CalculationUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "CalculationUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "CalculationUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "CalculationUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "CalculationUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "CalculationUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "CalculationUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "CalculationUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "CalculationUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "CalculationUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "CalculationUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "CalculationUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "CalculationUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "CalculationUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "CalculationUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "CalculationUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "CalculationUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "CalculationUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "CalculationUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "CalculationUsage.visibleMemberships()"); +} + +static void check_CaseDefinition(const Model& m) { + Element e = m.element("e-CaseDefinition"); + require(e.metaclass_name() == "CaseDefinition", "CaseDefinition: metaclass"); + require(e.element_id() == "e-CaseDefinition", "CaseDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "CaseDefinition !< ActionDefinition"); + require(e.is_kind("Behavior"), "CaseDefinition !< Behavior"); + require(e.is_kind("CalculationDefinition"), "CaseDefinition !< CalculationDefinition"); + require(e.is_kind("Class"), "CaseDefinition !< Class"); + require(e.is_kind("Classifier"), "CaseDefinition !< Classifier"); + require(e.is_kind("Definition"), "CaseDefinition !< Definition"); + require(e.is_kind("Element"), "CaseDefinition !< Element"); + require(e.is_kind("Function"), "CaseDefinition !< Function"); + require(e.is_kind("Namespace"), "CaseDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "CaseDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "CaseDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getCalculation(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getObjectiveRequirement(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "CaseDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "CaseDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "CaseDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "CaseDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "CaseDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "CaseDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "CaseDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "CaseDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "CaseDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "CaseDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "CaseDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "CaseDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "CaseDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "CaseDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "CaseDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "CaseDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "CaseDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "CaseDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "CaseDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "CaseDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "CaseDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "CaseDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "CaseDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "CaseDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "CaseDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "CaseDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "CaseDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "CaseDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "CaseDefinition.visibleMemberships()"); +} + +static void check_CaseUsage(const Model& m) { + Element e = m.element("e-CaseUsage"); + require(e.metaclass_name() == "CaseUsage", "CaseUsage: metaclass"); + require(e.element_id() == "e-CaseUsage", "CaseUsage: element_id"); + require(e.is_kind("ActionUsage"), "CaseUsage !< ActionUsage"); + require(e.is_kind("CalculationUsage"), "CaseUsage !< CalculationUsage"); + require(e.is_kind("Element"), "CaseUsage !< Element"); + require(e.is_kind("Expression"), "CaseUsage !< Expression"); + require(e.is_kind("Feature"), "CaseUsage !< Feature"); + require(e.is_kind("Namespace"), "CaseUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "CaseUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "CaseUsage !< Step"); + require(e.is_kind("Type"), "CaseUsage !< Type"); + require(e.is_kind("Usage"), "CaseUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getCalculationDefinition(); + (void)t.getCaseDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getObjectiveRequirement(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "CaseUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "CaseUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "CaseUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "CaseUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "CaseUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "CaseUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "CaseUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "CaseUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "CaseUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "CaseUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "CaseUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "CaseUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "CaseUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "CaseUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "CaseUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "CaseUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "CaseUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "CaseUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "CaseUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "CaseUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "CaseUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "CaseUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "CaseUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "CaseUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "CaseUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "CaseUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "CaseUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "CaseUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "CaseUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "CaseUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "CaseUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "CaseUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "CaseUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "CaseUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "CaseUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "CaseUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "CaseUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "CaseUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "CaseUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "CaseUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "CaseUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "CaseUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "CaseUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "CaseUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "CaseUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "CaseUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "CaseUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "CaseUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "CaseUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "CaseUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "CaseUsage.visibleMemberships()"); +} + +static void check_Class(const Model& m) { + Element e = m.element("e-Class"); + require(e.metaclass_name() == "Class", "Class: metaclass"); + require(e.element_id() == "e-Class", "Class: element_id"); + require(e.is_kind("Classifier"), "Class !< Classifier"); + require(e.is_kind("Element"), "Class !< Element"); + require(e.is_kind("Namespace"), "Class !< Namespace"); + require(e.is_kind("Type"), "Class !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Class.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Class.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Class.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Class.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Class.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Class.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Class.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Class.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Class.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Class.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Class.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Class.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Class.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Class.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Class.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Class.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Class.path()"); + EXPECT_NIK(t.qualificationOf({}), "Class.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Class.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Class.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Class.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Class.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Class.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Class.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Class.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Class.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Class.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Class.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Class.visibleMemberships()"); +} + +static void check_Classifier(const Model& m) { + Element e = m.element("e-Classifier"); + require(e.metaclass_name() == "Classifier", "Classifier: metaclass"); + require(e.element_id() == "e-Classifier", "Classifier: element_id"); + require(e.is_kind("Element"), "Classifier !< Element"); + require(e.is_kind("Namespace"), "Classifier !< Namespace"); + require(e.is_kind("Type"), "Classifier !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Classifier.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Classifier.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Classifier.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Classifier.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Classifier.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Classifier.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Classifier.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Classifier.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Classifier.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Classifier.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Classifier.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Classifier.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Classifier.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Classifier.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Classifier.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Classifier.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Classifier.path()"); + EXPECT_NIK(t.qualificationOf({}), "Classifier.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Classifier.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Classifier.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Classifier.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Classifier.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Classifier.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Classifier.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Classifier.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Classifier.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Classifier.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Classifier.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Classifier.visibleMemberships()"); +} + +static void check_CollectExpression(const Model& m) { + Element e = m.element("e-CollectExpression"); + require(e.metaclass_name() == "CollectExpression", "CollectExpression: metaclass"); + require(e.element_id() == "e-CollectExpression", "CollectExpression: element_id"); + require(e.is_kind("Element"), "CollectExpression !< Element"); + require(e.is_kind("Expression"), "CollectExpression !< Expression"); + require(e.is_kind("Feature"), "CollectExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "CollectExpression !< InstantiationExpression"); + require(e.is_kind("InvocationExpression"), "CollectExpression !< InvocationExpression"); + require(e.is_kind("Namespace"), "CollectExpression !< Namespace"); + require(e.is_kind("OperatorExpression"), "CollectExpression !< OperatorExpression"); + require(e.is_kind("Step"), "CollectExpression !< Step"); + require(e.is_kind("Type"), "CollectExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOperator(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "CollectExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "CollectExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "CollectExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "CollectExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "CollectExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "CollectExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "CollectExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "CollectExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "CollectExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "CollectExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "CollectExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "CollectExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "CollectExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "CollectExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "CollectExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "CollectExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "CollectExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "CollectExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "CollectExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "CollectExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "CollectExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "CollectExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "CollectExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "CollectExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "CollectExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "CollectExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "CollectExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "CollectExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "CollectExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "CollectExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "CollectExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "CollectExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "CollectExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "CollectExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "CollectExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "CollectExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "CollectExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "CollectExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "CollectExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "CollectExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "CollectExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "CollectExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "CollectExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "CollectExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "CollectExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "CollectExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "CollectExpression.visibleMemberships()"); +} + +static void check_Comment(const Model& m) { + Element e = m.element("e-Comment"); + require(e.metaclass_name() == "Comment", "Comment: metaclass"); + require(e.element_id() == "e-Comment", "Comment: element_id"); + require(e.is_kind("AnnotatingElement"), "Comment !< AnnotatingElement"); + require(e.is_kind("Element"), "Comment !< Element"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotation(); + (void)t.getBody(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getLocale(); + (void)t.getName(); + (void)t.getOwnedAnnotatingRelationship(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningAnnotatingRelationship(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Comment.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Comment.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Comment.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Comment.libraryNamespace()"); + EXPECT_NIK(t.path(), "Comment.path()"); +} + +static void check_ConcernDefinition(const Model& m) { + Element e = m.element("e-ConcernDefinition"); + require(e.metaclass_name() == "ConcernDefinition", "ConcernDefinition: metaclass"); + require(e.element_id() == "e-ConcernDefinition", "ConcernDefinition: element_id"); + require(e.is_kind("Behavior"), "ConcernDefinition !< Behavior"); + require(e.is_kind("Class"), "ConcernDefinition !< Class"); + require(e.is_kind("Classifier"), "ConcernDefinition !< Classifier"); + require(e.is_kind("ConstraintDefinition"), "ConcernDefinition !< ConstraintDefinition"); + require(e.is_kind("Definition"), "ConcernDefinition !< Definition"); + require(e.is_kind("Element"), "ConcernDefinition !< Element"); + require(e.is_kind("Function"), "ConcernDefinition !< Function"); + require(e.is_kind("Namespace"), "ConcernDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ConcernDefinition !< OccurrenceDefinition"); + require(e.is_kind("Predicate"), "ConcernDefinition !< Predicate"); + require(e.is_kind("RequirementDefinition"), "ConcernDefinition !< RequirementDefinition"); + require(e.is_kind("Type"), "ConcernDefinition !< Type"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssumedConstraint(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFramedConcern(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConcernDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConcernDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ConcernDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConcernDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConcernDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConcernDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConcernDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ConcernDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConcernDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConcernDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConcernDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ConcernDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConcernDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ConcernDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConcernDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConcernDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ConcernDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConcernDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConcernDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConcernDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConcernDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConcernDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConcernDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConcernDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConcernDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ConcernDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConcernDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConcernDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConcernDefinition.visibleMemberships()"); +} + +static void check_ConcernUsage(const Model& m) { + Element e = m.element("e-ConcernUsage"); + require(e.metaclass_name() == "ConcernUsage", "ConcernUsage: metaclass"); + require(e.element_id() == "e-ConcernUsage", "ConcernUsage: element_id"); + require(e.is_kind("BooleanExpression"), "ConcernUsage !< BooleanExpression"); + require(e.is_kind("ConstraintUsage"), "ConcernUsage !< ConstraintUsage"); + require(e.is_kind("Element"), "ConcernUsage !< Element"); + require(e.is_kind("Expression"), "ConcernUsage !< Expression"); + require(e.is_kind("Feature"), "ConcernUsage !< Feature"); + require(e.is_kind("Namespace"), "ConcernUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ConcernUsage !< OccurrenceUsage"); + require(e.is_kind("RequirementUsage"), "ConcernUsage !< RequirementUsage"); + require(e.is_kind("Step"), "ConcernUsage !< Step"); + require(e.is_kind("Type"), "ConcernUsage !< Type"); + require(e.is_kind("Usage"), "ConcernUsage !< Usage"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssumedConstraint(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConcernDefinition(); + (void)t.getConstraintDefinition(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFramedConcern(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getRequirementDefinition(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ConcernUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConcernUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConcernUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ConcernUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ConcernUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "ConcernUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "ConcernUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ConcernUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConcernUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConcernUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConcernUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConcernUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "ConcernUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "ConcernUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConcernUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConcernUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ConcernUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConcernUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ConcernUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ConcernUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ConcernUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ConcernUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConcernUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "ConcernUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "ConcernUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConcernUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ConcernUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConcernUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ConcernUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ConcernUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConcernUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ConcernUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ConcernUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ConcernUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConcernUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConcernUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConcernUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConcernUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConcernUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConcernUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConcernUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ConcernUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ConcernUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ConcernUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConcernUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConcernUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConcernUsage.visibleMemberships()"); +} + +static void check_ConjugatedPortDefinition(const Model& m) { + Element e = m.element("e-ConjugatedPortDefinition"); + require(e.metaclass_name() == "ConjugatedPortDefinition", "ConjugatedPortDefinition: metaclass"); + require(e.element_id() == "e-ConjugatedPortDefinition", "ConjugatedPortDefinition: element_id"); + require(e.is_kind("Class"), "ConjugatedPortDefinition !< Class"); + require(e.is_kind("Classifier"), "ConjugatedPortDefinition !< Classifier"); + require(e.is_kind("Definition"), "ConjugatedPortDefinition !< Definition"); + require(e.is_kind("Element"), "ConjugatedPortDefinition !< Element"); + require(e.is_kind("Namespace"), "ConjugatedPortDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ConjugatedPortDefinition !< OccurrenceDefinition"); + require(e.is_kind("PortDefinition"), "ConjugatedPortDefinition !< PortDefinition"); + require(e.is_kind("Structure"), "ConjugatedPortDefinition !< Structure"); + require(e.is_kind("Type"), "ConjugatedPortDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getConjugatedPortDefinition(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOriginalPortDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedPortConjugator(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConjugatedPortDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConjugatedPortDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ConjugatedPortDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConjugatedPortDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConjugatedPortDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConjugatedPortDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConjugatedPortDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ConjugatedPortDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConjugatedPortDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConjugatedPortDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConjugatedPortDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ConjugatedPortDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConjugatedPortDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ConjugatedPortDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConjugatedPortDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConjugatedPortDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ConjugatedPortDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConjugatedPortDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConjugatedPortDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConjugatedPortDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConjugatedPortDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConjugatedPortDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConjugatedPortDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConjugatedPortDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConjugatedPortDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ConjugatedPortDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConjugatedPortDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConjugatedPortDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConjugatedPortDefinition.visibleMemberships()"); +} + +static void check_ConjugatedPortTyping(const Model& m) { + Element e = m.element("e-ConjugatedPortTyping"); + require(e.metaclass_name() == "ConjugatedPortTyping", "ConjugatedPortTyping: metaclass"); + require(e.element_id() == "e-ConjugatedPortTyping", "ConjugatedPortTyping: element_id"); + require(e.is_kind("Element"), "ConjugatedPortTyping !< Element"); + require(e.is_kind("FeatureTyping"), "ConjugatedPortTyping !< FeatureTyping"); + require(e.is_kind("Relationship"), "ConjugatedPortTyping !< Relationship"); + require(e.is_kind("Specialization"), "ConjugatedPortTyping !< Specialization"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getConjugatedPortDefinition(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getPortDefinition(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getTypedFeature(); + EXPECT_NIK(t.effectiveName(), "ConjugatedPortTyping.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConjugatedPortTyping.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConjugatedPortTyping.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "ConjugatedPortTyping.libraryNamespace()"); + EXPECT_NIK(t.path(), "ConjugatedPortTyping.path()"); +} + +static void check_Conjugation(const Model& m) { + Element e = m.element("e-Conjugation"); + require(e.metaclass_name() == "Conjugation", "Conjugation: metaclass"); + require(e.element_id() == "e-Conjugation", "Conjugation: element_id"); + require(e.is_kind("Element"), "Conjugation !< Element"); + require(e.is_kind("Relationship"), "Conjugation !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getConjugatedType(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOriginalType(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Conjugation.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Conjugation.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Conjugation.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Conjugation.libraryNamespace()"); + EXPECT_NIK(t.path(), "Conjugation.path()"); +} + +static void check_ConnectionDefinition(const Model& m) { + Element e = m.element("e-ConnectionDefinition"); + require(e.metaclass_name() == "ConnectionDefinition", "ConnectionDefinition: metaclass"); + require(e.element_id() == "e-ConnectionDefinition", "ConnectionDefinition: element_id"); + require(e.is_kind("Association"), "ConnectionDefinition !< Association"); + require(e.is_kind("AssociationStructure"), "ConnectionDefinition !< AssociationStructure"); + require(e.is_kind("Class"), "ConnectionDefinition !< Class"); + require(e.is_kind("Classifier"), "ConnectionDefinition !< Classifier"); + require(e.is_kind("Definition"), "ConnectionDefinition !< Definition"); + require(e.is_kind("Element"), "ConnectionDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "ConnectionDefinition !< ItemDefinition"); + require(e.is_kind("Namespace"), "ConnectionDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ConnectionDefinition !< OccurrenceDefinition"); + require(e.is_kind("PartDefinition"), "ConnectionDefinition !< PartDefinition"); + require(e.is_kind("Relationship"), "ConnectionDefinition !< Relationship"); + require(e.is_kind("Structure"), "ConnectionDefinition !< Structure"); + require(e.is_kind("Type"), "ConnectionDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociationEnd(); + (void)t.getConnectionEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConnectionDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConnectionDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ConnectionDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConnectionDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConnectionDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConnectionDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConnectionDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ConnectionDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConnectionDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConnectionDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConnectionDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ConnectionDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConnectionDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ConnectionDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConnectionDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConnectionDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ConnectionDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConnectionDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConnectionDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConnectionDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConnectionDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConnectionDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConnectionDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConnectionDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConnectionDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ConnectionDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConnectionDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConnectionDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConnectionDefinition.visibleMemberships()"); +} + +static void check_ConnectionUsage(const Model& m) { + Element e = m.element("e-ConnectionUsage"); + require(e.metaclass_name() == "ConnectionUsage", "ConnectionUsage: metaclass"); + require(e.element_id() == "e-ConnectionUsage", "ConnectionUsage: element_id"); + require(e.is_kind("Connector"), "ConnectionUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "ConnectionUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "ConnectionUsage !< Element"); + require(e.is_kind("Feature"), "ConnectionUsage !< Feature"); + require(e.is_kind("ItemUsage"), "ConnectionUsage !< ItemUsage"); + require(e.is_kind("Namespace"), "ConnectionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ConnectionUsage !< OccurrenceUsage"); + require(e.is_kind("PartUsage"), "ConnectionUsage !< PartUsage"); + require(e.is_kind("Relationship"), "ConnectionUsage !< Relationship"); + require(e.is_kind("Type"), "ConnectionUsage !< Type"); + require(e.is_kind("Usage"), "ConnectionUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectionDefinition(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPartDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ConnectionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConnectionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConnectionUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ConnectionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ConnectionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ConnectionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ConnectionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConnectionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConnectionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConnectionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConnectionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ConnectionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConnectionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConnectionUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ConnectionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConnectionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ConnectionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ConnectionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ConnectionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ConnectionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConnectionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ConnectionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConnectionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ConnectionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConnectionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ConnectionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ConnectionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConnectionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ConnectionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ConnectionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ConnectionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConnectionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConnectionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConnectionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConnectionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConnectionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConnectionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConnectionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ConnectionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ConnectionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ConnectionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConnectionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConnectionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConnectionUsage.visibleMemberships()"); +} + +static void check_Connector(const Model& m) { + Element e = m.element("e-Connector"); + require(e.metaclass_name() == "Connector", "Connector: metaclass"); + require(e.element_id() == "e-Connector", "Connector: element_id"); + require(e.is_kind("Element"), "Connector !< Element"); + require(e.is_kind("Feature"), "Connector !< Feature"); + require(e.is_kind("Namespace"), "Connector !< Namespace"); + require(e.is_kind("Relationship"), "Connector !< Relationship"); + require(e.is_kind("Type"), "Connector !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Connector.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Connector.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Connector.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Connector.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Connector.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Connector.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Connector.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Connector.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Connector.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Connector.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Connector.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Connector.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Connector.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Connector.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Connector.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Connector.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Connector.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Connector.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Connector.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Connector.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Connector.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Connector.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Connector.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Connector.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Connector.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Connector.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Connector.path()"); + EXPECT_NIK(t.qualificationOf({}), "Connector.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Connector.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Connector.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Connector.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Connector.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Connector.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Connector.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Connector.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Connector.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Connector.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Connector.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Connector.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Connector.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Connector.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Connector.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Connector.visibleMemberships()"); +} + +static void check_ConstraintDefinition(const Model& m) { + Element e = m.element("e-ConstraintDefinition"); + require(e.metaclass_name() == "ConstraintDefinition", "ConstraintDefinition: metaclass"); + require(e.element_id() == "e-ConstraintDefinition", "ConstraintDefinition: element_id"); + require(e.is_kind("Behavior"), "ConstraintDefinition !< Behavior"); + require(e.is_kind("Class"), "ConstraintDefinition !< Class"); + require(e.is_kind("Classifier"), "ConstraintDefinition !< Classifier"); + require(e.is_kind("Definition"), "ConstraintDefinition !< Definition"); + require(e.is_kind("Element"), "ConstraintDefinition !< Element"); + require(e.is_kind("Function"), "ConstraintDefinition !< Function"); + require(e.is_kind("Namespace"), "ConstraintDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ConstraintDefinition !< OccurrenceDefinition"); + require(e.is_kind("Predicate"), "ConstraintDefinition !< Predicate"); + require(e.is_kind("Type"), "ConstraintDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConstraintDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConstraintDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ConstraintDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConstraintDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConstraintDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConstraintDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConstraintDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ConstraintDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConstraintDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConstraintDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConstraintDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ConstraintDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConstraintDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ConstraintDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConstraintDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConstraintDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ConstraintDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConstraintDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConstraintDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConstraintDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConstraintDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConstraintDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConstraintDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConstraintDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConstraintDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ConstraintDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConstraintDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConstraintDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConstraintDefinition.visibleMemberships()"); +} + +static void check_ConstraintUsage(const Model& m) { + Element e = m.element("e-ConstraintUsage"); + require(e.metaclass_name() == "ConstraintUsage", "ConstraintUsage: metaclass"); + require(e.element_id() == "e-ConstraintUsage", "ConstraintUsage: element_id"); + require(e.is_kind("BooleanExpression"), "ConstraintUsage !< BooleanExpression"); + require(e.is_kind("Element"), "ConstraintUsage !< Element"); + require(e.is_kind("Expression"), "ConstraintUsage !< Expression"); + require(e.is_kind("Feature"), "ConstraintUsage !< Feature"); + require(e.is_kind("Namespace"), "ConstraintUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ConstraintUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "ConstraintUsage !< Step"); + require(e.is_kind("Type"), "ConstraintUsage !< Type"); + require(e.is_kind("Usage"), "ConstraintUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConstraintDefinition(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ConstraintUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConstraintUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConstraintUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ConstraintUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ConstraintUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "ConstraintUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "ConstraintUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ConstraintUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConstraintUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConstraintUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConstraintUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConstraintUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "ConstraintUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "ConstraintUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConstraintUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConstraintUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ConstraintUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConstraintUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ConstraintUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ConstraintUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ConstraintUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ConstraintUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConstraintUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "ConstraintUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "ConstraintUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConstraintUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ConstraintUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConstraintUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ConstraintUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ConstraintUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConstraintUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ConstraintUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ConstraintUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ConstraintUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConstraintUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConstraintUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConstraintUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConstraintUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConstraintUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConstraintUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConstraintUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ConstraintUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ConstraintUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ConstraintUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConstraintUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConstraintUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConstraintUsage.visibleMemberships()"); +} + +static void check_ConstructorExpression(const Model& m) { + Element e = m.element("e-ConstructorExpression"); + require(e.metaclass_name() == "ConstructorExpression", "ConstructorExpression: metaclass"); + require(e.element_id() == "e-ConstructorExpression", "ConstructorExpression: element_id"); + require(e.is_kind("Element"), "ConstructorExpression !< Element"); + require(e.is_kind("Expression"), "ConstructorExpression !< Expression"); + require(e.is_kind("Feature"), "ConstructorExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "ConstructorExpression !< InstantiationExpression"); + require(e.is_kind("Namespace"), "ConstructorExpression !< Namespace"); + require(e.is_kind("Step"), "ConstructorExpression !< Step"); + require(e.is_kind("Type"), "ConstructorExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "ConstructorExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ConstructorExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ConstructorExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ConstructorExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ConstructorExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "ConstructorExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "ConstructorExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ConstructorExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ConstructorExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ConstructorExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ConstructorExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ConstructorExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "ConstructorExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "ConstructorExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ConstructorExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ConstructorExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "ConstructorExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "ConstructorExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ConstructorExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ConstructorExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ConstructorExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ConstructorExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ConstructorExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ConstructorExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "ConstructorExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "ConstructorExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ConstructorExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ConstructorExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ConstructorExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ConstructorExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ConstructorExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "ConstructorExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ConstructorExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ConstructorExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ConstructorExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ConstructorExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ConstructorExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ConstructorExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ConstructorExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ConstructorExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ConstructorExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ConstructorExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ConstructorExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ConstructorExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ConstructorExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ConstructorExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ConstructorExpression.visibleMemberships()"); +} + +static void check_CrossSubsetting(const Model& m) { + Element e = m.element("e-CrossSubsetting"); + require(e.metaclass_name() == "CrossSubsetting", "CrossSubsetting: metaclass"); + require(e.element_id() == "e-CrossSubsetting", "CrossSubsetting: element_id"); + require(e.is_kind("Element"), "CrossSubsetting !< Element"); + require(e.is_kind("Relationship"), "CrossSubsetting !< Relationship"); + require(e.is_kind("Specialization"), "CrossSubsetting !< Specialization"); + require(e.is_kind("Subsetting"), "CrossSubsetting !< Subsetting"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getCrossedFeature(); + (void)t.getCrossingFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getSubsettedFeature(); + (void)t.getSubsettingFeature(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "CrossSubsetting.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "CrossSubsetting.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "CrossSubsetting.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "CrossSubsetting.libraryNamespace()"); + EXPECT_NIK(t.path(), "CrossSubsetting.path()"); +} + +static void check_DataType(const Model& m) { + Element e = m.element("e-DataType"); + require(e.metaclass_name() == "DataType", "DataType: metaclass"); + require(e.element_id() == "e-DataType", "DataType: element_id"); + require(e.is_kind("Classifier"), "DataType !< Classifier"); + require(e.is_kind("Element"), "DataType !< Element"); + require(e.is_kind("Namespace"), "DataType !< Namespace"); + require(e.is_kind("Type"), "DataType !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "DataType.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "DataType.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "DataType.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "DataType.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "DataType.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "DataType.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "DataType.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "DataType.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "DataType.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "DataType.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "DataType.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "DataType.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "DataType.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "DataType.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "DataType.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "DataType.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "DataType.path()"); + EXPECT_NIK(t.qualificationOf({}), "DataType.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "DataType.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "DataType.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "DataType.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "DataType.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "DataType.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "DataType.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "DataType.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "DataType.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "DataType.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "DataType.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "DataType.visibleMemberships()"); +} + +static void check_DecisionNode(const Model& m) { + Element e = m.element("e-DecisionNode"); + require(e.metaclass_name() == "DecisionNode", "DecisionNode: metaclass"); + require(e.element_id() == "e-DecisionNode", "DecisionNode: element_id"); + require(e.is_kind("ActionUsage"), "DecisionNode !< ActionUsage"); + require(e.is_kind("ControlNode"), "DecisionNode !< ControlNode"); + require(e.is_kind("Element"), "DecisionNode !< Element"); + require(e.is_kind("Feature"), "DecisionNode !< Feature"); + require(e.is_kind("Namespace"), "DecisionNode !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "DecisionNode !< OccurrenceUsage"); + require(e.is_kind("Step"), "DecisionNode !< Step"); + require(e.is_kind("Type"), "DecisionNode !< Type"); + require(e.is_kind("Usage"), "DecisionNode !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "DecisionNode.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "DecisionNode.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "DecisionNode.allSupertypes()"); + EXPECT_NIK(t.argument({}), "DecisionNode.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "DecisionNode.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "DecisionNode.canAccess()"); + EXPECT_NIK(t.directionFor({}), "DecisionNode.directionFor()"); + EXPECT_NIK(t.directionOf({}), "DecisionNode.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "DecisionNode.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "DecisionNode.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "DecisionNode.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "DecisionNode.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "DecisionNode.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "DecisionNode.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "DecisionNode.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "DecisionNode.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "DecisionNode.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "DecisionNode.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "DecisionNode.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "DecisionNode.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "DecisionNode.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "DecisionNode.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "DecisionNode.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "DecisionNode.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "DecisionNode.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "DecisionNode.multiplicities()"); + EXPECT_NIK(t.multiplicityHasBounds({}, {}, {}), "DecisionNode.multiplicityHasBounds()"); + EXPECT_NIK(t.namesOf({}), "DecisionNode.namesOf()"); + EXPECT_NIK(t.namingFeature(), "DecisionNode.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "DecisionNode.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "DecisionNode.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "DecisionNode.path()"); + EXPECT_NIK(t.qualificationOf({}), "DecisionNode.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "DecisionNode.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "DecisionNode.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "DecisionNode.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "DecisionNode.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "DecisionNode.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "DecisionNode.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "DecisionNode.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "DecisionNode.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "DecisionNode.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "DecisionNode.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "DecisionNode.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "DecisionNode.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "DecisionNode.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "DecisionNode.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "DecisionNode.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "DecisionNode.visibleMemberships()"); +} + +static void check_Definition(const Model& m) { + Element e = m.element("e-Definition"); + require(e.metaclass_name() == "Definition", "Definition: metaclass"); + require(e.element_id() == "e-Definition", "Definition: element_id"); + require(e.is_kind("Classifier"), "Definition !< Classifier"); + require(e.is_kind("Element"), "Definition !< Element"); + require(e.is_kind("Namespace"), "Definition !< Namespace"); + require(e.is_kind("Type"), "Definition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Definition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Definition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Definition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Definition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Definition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Definition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Definition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Definition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Definition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Definition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Definition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Definition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Definition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Definition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Definition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Definition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Definition.path()"); + EXPECT_NIK(t.qualificationOf({}), "Definition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Definition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Definition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Definition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Definition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Definition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Definition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Definition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Definition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Definition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Definition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Definition.visibleMemberships()"); +} + +static void check_Dependency(const Model& m) { + Element e = m.element("e-Dependency"); + require(e.metaclass_name() == "Dependency", "Dependency: metaclass"); + require(e.element_id() == "e-Dependency", "Dependency: element_id"); + require(e.is_kind("Element"), "Dependency !< Element"); + require(e.is_kind("Relationship"), "Dependency !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getClient(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSupplier(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Dependency.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Dependency.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Dependency.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Dependency.libraryNamespace()"); + EXPECT_NIK(t.path(), "Dependency.path()"); +} + +static void check_Differencing(const Model& m) { + Element e = m.element("e-Differencing"); + require(e.metaclass_name() == "Differencing", "Differencing: metaclass"); + require(e.element_id() == "e-Differencing", "Differencing: element_id"); + require(e.is_kind("Element"), "Differencing !< Element"); + require(e.is_kind("Relationship"), "Differencing !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getTypeDifferenced(); + EXPECT_NIK(t.effectiveName(), "Differencing.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Differencing.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Differencing.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Differencing.libraryNamespace()"); + EXPECT_NIK(t.path(), "Differencing.path()"); +} + +static void check_Disjoining(const Model& m) { + Element e = m.element("e-Disjoining"); + require(e.metaclass_name() == "Disjoining", "Disjoining: metaclass"); + require(e.element_id() == "e-Disjoining", "Disjoining: element_id"); + require(e.is_kind("Element"), "Disjoining !< Element"); + require(e.is_kind("Relationship"), "Disjoining !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDisjoiningType(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getTypeDisjoined(); + EXPECT_NIK(t.effectiveName(), "Disjoining.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Disjoining.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Disjoining.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Disjoining.libraryNamespace()"); + EXPECT_NIK(t.path(), "Disjoining.path()"); +} + +static void check_Documentation(const Model& m) { + Element e = m.element("e-Documentation"); + require(e.metaclass_name() == "Documentation", "Documentation: metaclass"); + require(e.element_id() == "e-Documentation", "Documentation: element_id"); + require(e.is_kind("AnnotatingElement"), "Documentation !< AnnotatingElement"); + require(e.is_kind("Comment"), "Documentation !< Comment"); + require(e.is_kind("Element"), "Documentation !< Element"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotation(); + (void)t.getBody(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getDocumentedElement(); + (void)t.getElementId(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getLocale(); + (void)t.getName(); + (void)t.getOwnedAnnotatingRelationship(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningAnnotatingRelationship(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Documentation.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Documentation.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Documentation.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Documentation.libraryNamespace()"); + EXPECT_NIK(t.path(), "Documentation.path()"); +} + +static void check_ElementFilterMembership(const Model& m) { + Element e = m.element("e-ElementFilterMembership"); + require(e.metaclass_name() == "ElementFilterMembership", "ElementFilterMembership: metaclass"); + require(e.element_id() == "e-ElementFilterMembership", "ElementFilterMembership: element_id"); + require(e.is_kind("Element"), "ElementFilterMembership !< Element"); + require(e.is_kind("Membership"), "ElementFilterMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ElementFilterMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "ElementFilterMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getCondition(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ElementFilterMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ElementFilterMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ElementFilterMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ElementFilterMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ElementFilterMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "ElementFilterMembership.path()"); +} + +static void check_EndFeatureMembership(const Model& m) { + Element e = m.element("e-EndFeatureMembership"); + require(e.metaclass_name() == "EndFeatureMembership", "EndFeatureMembership: metaclass"); + require(e.element_id() == "e-EndFeatureMembership", "EndFeatureMembership: element_id"); + require(e.is_kind("Element"), "EndFeatureMembership !< Element"); + require(e.is_kind("FeatureMembership"), "EndFeatureMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "EndFeatureMembership !< Membership"); + require(e.is_kind("OwningMembership"), "EndFeatureMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "EndFeatureMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "EndFeatureMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "EndFeatureMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "EndFeatureMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "EndFeatureMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "EndFeatureMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "EndFeatureMembership.path()"); +} + +static void check_EnumerationDefinition(const Model& m) { + Element e = m.element("e-EnumerationDefinition"); + require(e.metaclass_name() == "EnumerationDefinition", "EnumerationDefinition: metaclass"); + require(e.element_id() == "e-EnumerationDefinition", "EnumerationDefinition: element_id"); + require(e.is_kind("AttributeDefinition"), "EnumerationDefinition !< AttributeDefinition"); + require(e.is_kind("Classifier"), "EnumerationDefinition !< Classifier"); + require(e.is_kind("DataType"), "EnumerationDefinition !< DataType"); + require(e.is_kind("Definition"), "EnumerationDefinition !< Definition"); + require(e.is_kind("Element"), "EnumerationDefinition !< Element"); + require(e.is_kind("Namespace"), "EnumerationDefinition !< Namespace"); + require(e.is_kind("Type"), "EnumerationDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEnumeratedValue(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "EnumerationDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "EnumerationDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "EnumerationDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "EnumerationDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "EnumerationDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "EnumerationDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "EnumerationDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "EnumerationDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "EnumerationDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "EnumerationDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "EnumerationDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "EnumerationDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "EnumerationDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "EnumerationDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "EnumerationDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "EnumerationDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "EnumerationDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "EnumerationDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "EnumerationDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "EnumerationDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "EnumerationDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "EnumerationDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "EnumerationDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "EnumerationDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "EnumerationDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "EnumerationDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "EnumerationDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "EnumerationDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "EnumerationDefinition.visibleMemberships()"); +} + +static void check_EnumerationUsage(const Model& m) { + Element e = m.element("e-EnumerationUsage"); + require(e.metaclass_name() == "EnumerationUsage", "EnumerationUsage: metaclass"); + require(e.element_id() == "e-EnumerationUsage", "EnumerationUsage: element_id"); + require(e.is_kind("AttributeUsage"), "EnumerationUsage !< AttributeUsage"); + require(e.is_kind("Element"), "EnumerationUsage !< Element"); + require(e.is_kind("Feature"), "EnumerationUsage !< Feature"); + require(e.is_kind("Namespace"), "EnumerationUsage !< Namespace"); + require(e.is_kind("Type"), "EnumerationUsage !< Type"); + require(e.is_kind("Usage"), "EnumerationUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAttributeDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getEnumerationDefinition(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "EnumerationUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "EnumerationUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "EnumerationUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "EnumerationUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "EnumerationUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "EnumerationUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "EnumerationUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "EnumerationUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "EnumerationUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "EnumerationUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "EnumerationUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "EnumerationUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "EnumerationUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "EnumerationUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "EnumerationUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "EnumerationUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "EnumerationUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "EnumerationUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "EnumerationUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "EnumerationUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "EnumerationUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "EnumerationUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "EnumerationUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "EnumerationUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "EnumerationUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "EnumerationUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "EnumerationUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "EnumerationUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "EnumerationUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "EnumerationUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "EnumerationUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "EnumerationUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "EnumerationUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "EnumerationUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "EnumerationUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "EnumerationUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "EnumerationUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "EnumerationUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "EnumerationUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "EnumerationUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "EnumerationUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "EnumerationUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "EnumerationUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "EnumerationUsage.visibleMemberships()"); +} + +static void check_EventOccurrenceUsage(const Model& m) { + Element e = m.element("e-EventOccurrenceUsage"); + require(e.metaclass_name() == "EventOccurrenceUsage", "EventOccurrenceUsage: metaclass"); + require(e.element_id() == "e-EventOccurrenceUsage", "EventOccurrenceUsage: element_id"); + require(e.is_kind("Element"), "EventOccurrenceUsage !< Element"); + require(e.is_kind("Feature"), "EventOccurrenceUsage !< Feature"); + require(e.is_kind("Namespace"), "EventOccurrenceUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "EventOccurrenceUsage !< OccurrenceUsage"); + require(e.is_kind("Type"), "EventOccurrenceUsage !< Type"); + require(e.is_kind("Usage"), "EventOccurrenceUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getEventOccurrence(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "EventOccurrenceUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "EventOccurrenceUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "EventOccurrenceUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "EventOccurrenceUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "EventOccurrenceUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "EventOccurrenceUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "EventOccurrenceUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "EventOccurrenceUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "EventOccurrenceUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "EventOccurrenceUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "EventOccurrenceUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "EventOccurrenceUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "EventOccurrenceUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "EventOccurrenceUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "EventOccurrenceUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "EventOccurrenceUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "EventOccurrenceUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "EventOccurrenceUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "EventOccurrenceUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "EventOccurrenceUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "EventOccurrenceUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "EventOccurrenceUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "EventOccurrenceUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "EventOccurrenceUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "EventOccurrenceUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "EventOccurrenceUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "EventOccurrenceUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "EventOccurrenceUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "EventOccurrenceUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "EventOccurrenceUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "EventOccurrenceUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "EventOccurrenceUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "EventOccurrenceUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "EventOccurrenceUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "EventOccurrenceUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "EventOccurrenceUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "EventOccurrenceUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "EventOccurrenceUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "EventOccurrenceUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "EventOccurrenceUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "EventOccurrenceUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "EventOccurrenceUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "EventOccurrenceUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "EventOccurrenceUsage.visibleMemberships()"); +} + +static void check_ExhibitStateUsage(const Model& m) { + Element e = m.element("e-ExhibitStateUsage"); + require(e.metaclass_name() == "ExhibitStateUsage", "ExhibitStateUsage: metaclass"); + require(e.element_id() == "e-ExhibitStateUsage", "ExhibitStateUsage: element_id"); + require(e.is_kind("ActionUsage"), "ExhibitStateUsage !< ActionUsage"); + require(e.is_kind("Element"), "ExhibitStateUsage !< Element"); + require(e.is_kind("EventOccurrenceUsage"), "ExhibitStateUsage !< EventOccurrenceUsage"); + require(e.is_kind("Feature"), "ExhibitStateUsage !< Feature"); + require(e.is_kind("Namespace"), "ExhibitStateUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ExhibitStateUsage !< OccurrenceUsage"); + require(e.is_kind("PerformActionUsage"), "ExhibitStateUsage !< PerformActionUsage"); + require(e.is_kind("StateUsage"), "ExhibitStateUsage !< StateUsage"); + require(e.is_kind("Step"), "ExhibitStateUsage !< Step"); + require(e.is_kind("Type"), "ExhibitStateUsage !< Type"); + require(e.is_kind("Usage"), "ExhibitStateUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDoAction(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getEntryAction(); + (void)t.getEventOccurrence(); + (void)t.getExhibitedState(); + (void)t.getExitAction(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsParallel(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPerformedAction(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getStateDefinition(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ExhibitStateUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ExhibitStateUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ExhibitStateUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "ExhibitStateUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "ExhibitStateUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ExhibitStateUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ExhibitStateUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ExhibitStateUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ExhibitStateUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ExhibitStateUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ExhibitStateUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ExhibitStateUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ExhibitStateUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ExhibitStateUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ExhibitStateUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "ExhibitStateUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "ExhibitStateUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "ExhibitStateUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ExhibitStateUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ExhibitStateUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ExhibitStateUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ExhibitStateUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "ExhibitStateUsage.isSubactionUsage()"); + EXPECT_NIK(t.isSubstateUsage({}), "ExhibitStateUsage.isSubstateUsage()"); + EXPECT_NIK(t.libraryNamespace(), "ExhibitStateUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ExhibitStateUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ExhibitStateUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ExhibitStateUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ExhibitStateUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ExhibitStateUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ExhibitStateUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ExhibitStateUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ExhibitStateUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ExhibitStateUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ExhibitStateUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ExhibitStateUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ExhibitStateUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ExhibitStateUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ExhibitStateUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ExhibitStateUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ExhibitStateUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ExhibitStateUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ExhibitStateUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ExhibitStateUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ExhibitStateUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ExhibitStateUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ExhibitStateUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ExhibitStateUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ExhibitStateUsage.visibleMemberships()"); +} + +static void check_Expression(const Model& m) { + Element e = m.element("e-Expression"); + require(e.metaclass_name() == "Expression", "Expression: metaclass"); + require(e.element_id() == "e-Expression", "Expression: element_id"); + require(e.is_kind("Element"), "Expression !< Element"); + require(e.is_kind("Feature"), "Expression !< Feature"); + require(e.is_kind("Namespace"), "Expression !< Namespace"); + require(e.is_kind("Step"), "Expression !< Step"); + require(e.is_kind("Type"), "Expression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Expression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Expression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Expression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Expression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Expression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "Expression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "Expression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Expression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Expression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Expression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Expression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Expression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "Expression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "Expression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Expression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Expression.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Expression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Expression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Expression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Expression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Expression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Expression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Expression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "Expression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "Expression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Expression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Expression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Expression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Expression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Expression.path()"); + EXPECT_NIK(t.qualificationOf({}), "Expression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Expression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Expression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Expression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Expression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Expression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Expression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Expression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Expression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Expression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Expression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Expression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Expression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Expression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Expression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Expression.visibleMemberships()"); +} + +static void check_Feature(const Model& m) { + Element e = m.element("e-Feature"); + require(e.metaclass_name() == "Feature", "Feature: metaclass"); + require(e.element_id() == "e-Feature", "Feature: element_id"); + require(e.is_kind("Element"), "Feature !< Element"); + require(e.is_kind("Namespace"), "Feature !< Namespace"); + require(e.is_kind("Type"), "Feature !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Feature.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Feature.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Feature.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Feature.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Feature.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Feature.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Feature.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Feature.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Feature.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Feature.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Feature.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Feature.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Feature.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Feature.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Feature.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Feature.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Feature.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Feature.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Feature.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Feature.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Feature.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Feature.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Feature.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Feature.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Feature.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Feature.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Feature.path()"); + EXPECT_NIK(t.qualificationOf({}), "Feature.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Feature.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Feature.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Feature.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Feature.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Feature.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Feature.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Feature.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Feature.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Feature.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Feature.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Feature.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Feature.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Feature.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Feature.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Feature.visibleMemberships()"); +} + +static void check_FeatureChainExpression(const Model& m) { + Element e = m.element("e-FeatureChainExpression"); + require(e.metaclass_name() == "FeatureChainExpression", "FeatureChainExpression: metaclass"); + require(e.element_id() == "e-FeatureChainExpression", "FeatureChainExpression: element_id"); + require(e.is_kind("Element"), "FeatureChainExpression !< Element"); + require(e.is_kind("Expression"), "FeatureChainExpression !< Expression"); + require(e.is_kind("Feature"), "FeatureChainExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "FeatureChainExpression !< InstantiationExpression"); + require(e.is_kind("InvocationExpression"), "FeatureChainExpression !< InvocationExpression"); + require(e.is_kind("Namespace"), "FeatureChainExpression !< Namespace"); + require(e.is_kind("OperatorExpression"), "FeatureChainExpression !< OperatorExpression"); + require(e.is_kind("Step"), "FeatureChainExpression !< Step"); + require(e.is_kind("Type"), "FeatureChainExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOperator(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "FeatureChainExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "FeatureChainExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "FeatureChainExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "FeatureChainExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "FeatureChainExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "FeatureChainExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "FeatureChainExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "FeatureChainExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "FeatureChainExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "FeatureChainExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureChainExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureChainExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "FeatureChainExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "FeatureChainExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "FeatureChainExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "FeatureChainExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "FeatureChainExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "FeatureChainExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "FeatureChainExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "FeatureChainExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "FeatureChainExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "FeatureChainExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureChainExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "FeatureChainExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "FeatureChainExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "FeatureChainExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "FeatureChainExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "FeatureChainExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "FeatureChainExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "FeatureChainExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "FeatureChainExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "FeatureChainExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "FeatureChainExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "FeatureChainExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "FeatureChainExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "FeatureChainExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "FeatureChainExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "FeatureChainExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "FeatureChainExpression.resolveVisible()"); + EXPECT_NIK(t.sourceTargetFeature(), "FeatureChainExpression.sourceTargetFeature()"); + EXPECT_NIK(t.specializes({}), "FeatureChainExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "FeatureChainExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "FeatureChainExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "FeatureChainExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "FeatureChainExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "FeatureChainExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "FeatureChainExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "FeatureChainExpression.visibleMemberships()"); +} + +static void check_FeatureChaining(const Model& m) { + Element e = m.element("e-FeatureChaining"); + require(e.metaclass_name() == "FeatureChaining", "FeatureChaining: metaclass"); + require(e.element_id() == "e-FeatureChaining", "FeatureChaining: element_id"); + require(e.is_kind("Element"), "FeatureChaining !< Element"); + require(e.is_kind("Relationship"), "FeatureChaining !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getFeatureChained(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "FeatureChaining.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureChaining.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureChaining.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureChaining.libraryNamespace()"); + EXPECT_NIK(t.path(), "FeatureChaining.path()"); +} + +static void check_FeatureInverting(const Model& m) { + Element e = m.element("e-FeatureInverting"); + require(e.metaclass_name() == "FeatureInverting", "FeatureInverting: metaclass"); + require(e.element_id() == "e-FeatureInverting", "FeatureInverting: element_id"); + require(e.is_kind("Element"), "FeatureInverting !< Element"); + require(e.is_kind("Relationship"), "FeatureInverting !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getFeatureInverted(); + (void)t.getInvertingFeature(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "FeatureInverting.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureInverting.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureInverting.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureInverting.libraryNamespace()"); + EXPECT_NIK(t.path(), "FeatureInverting.path()"); +} + +static void check_FeatureMembership(const Model& m) { + Element e = m.element("e-FeatureMembership"); + require(e.metaclass_name() == "FeatureMembership", "FeatureMembership: metaclass"); + require(e.element_id() == "e-FeatureMembership", "FeatureMembership: element_id"); + require(e.is_kind("Element"), "FeatureMembership !< Element"); + require(e.is_kind("Membership"), "FeatureMembership !< Membership"); + require(e.is_kind("OwningMembership"), "FeatureMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "FeatureMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "FeatureMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "FeatureMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "FeatureMembership.path()"); +} + +static void check_FeatureReferenceExpression(const Model& m) { + Element e = m.element("e-FeatureReferenceExpression"); + require(e.metaclass_name() == "FeatureReferenceExpression", "FeatureReferenceExpression: metaclass"); + require(e.element_id() == "e-FeatureReferenceExpression", "FeatureReferenceExpression: element_id"); + require(e.is_kind("Element"), "FeatureReferenceExpression !< Element"); + require(e.is_kind("Expression"), "FeatureReferenceExpression !< Expression"); + require(e.is_kind("Feature"), "FeatureReferenceExpression !< Feature"); + require(e.is_kind("Namespace"), "FeatureReferenceExpression !< Namespace"); + require(e.is_kind("Step"), "FeatureReferenceExpression !< Step"); + require(e.is_kind("Type"), "FeatureReferenceExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getReferent(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "FeatureReferenceExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "FeatureReferenceExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "FeatureReferenceExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "FeatureReferenceExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "FeatureReferenceExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "FeatureReferenceExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "FeatureReferenceExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "FeatureReferenceExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "FeatureReferenceExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "FeatureReferenceExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureReferenceExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureReferenceExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "FeatureReferenceExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "FeatureReferenceExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "FeatureReferenceExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "FeatureReferenceExpression.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "FeatureReferenceExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "FeatureReferenceExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "FeatureReferenceExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "FeatureReferenceExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "FeatureReferenceExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureReferenceExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "FeatureReferenceExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "FeatureReferenceExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "FeatureReferenceExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "FeatureReferenceExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "FeatureReferenceExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "FeatureReferenceExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "FeatureReferenceExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "FeatureReferenceExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "FeatureReferenceExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "FeatureReferenceExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "FeatureReferenceExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "FeatureReferenceExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "FeatureReferenceExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "FeatureReferenceExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "FeatureReferenceExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "FeatureReferenceExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "FeatureReferenceExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "FeatureReferenceExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "FeatureReferenceExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "FeatureReferenceExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "FeatureReferenceExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "FeatureReferenceExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "FeatureReferenceExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "FeatureReferenceExpression.visibleMemberships()"); +} + +static void check_FeatureTyping(const Model& m) { + Element e = m.element("e-FeatureTyping"); + require(e.metaclass_name() == "FeatureTyping", "FeatureTyping: metaclass"); + require(e.element_id() == "e-FeatureTyping", "FeatureTyping: element_id"); + require(e.is_kind("Element"), "FeatureTyping !< Element"); + require(e.is_kind("Relationship"), "FeatureTyping !< Relationship"); + require(e.is_kind("Specialization"), "FeatureTyping !< Specialization"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getTypedFeature(); + EXPECT_NIK(t.effectiveName(), "FeatureTyping.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureTyping.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureTyping.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureTyping.libraryNamespace()"); + EXPECT_NIK(t.path(), "FeatureTyping.path()"); +} + +static void check_FeatureValue(const Model& m) { + Element e = m.element("e-FeatureValue"); + require(e.metaclass_name() == "FeatureValue", "FeatureValue: metaclass"); + require(e.element_id() == "e-FeatureValue", "FeatureValue: element_id"); + require(e.is_kind("Element"), "FeatureValue !< Element"); + require(e.is_kind("Membership"), "FeatureValue !< Membership"); + require(e.is_kind("OwningMembership"), "FeatureValue !< OwningMembership"); + require(e.is_kind("Relationship"), "FeatureValue !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getFeatureWithValue(); + (void)t.getIsDefault(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsInitial(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getValue(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "FeatureValue.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FeatureValue.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FeatureValue.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "FeatureValue.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "FeatureValue.libraryNamespace()"); + EXPECT_NIK(t.path(), "FeatureValue.path()"); +} + +static void check_Flow(const Model& m) { + Element e = m.element("e-Flow"); + require(e.metaclass_name() == "Flow", "Flow: metaclass"); + require(e.element_id() == "e-Flow", "Flow: element_id"); + require(e.is_kind("Connector"), "Flow !< Connector"); + require(e.is_kind("Element"), "Flow !< Element"); + require(e.is_kind("Feature"), "Flow !< Feature"); + require(e.is_kind("Namespace"), "Flow !< Namespace"); + require(e.is_kind("Relationship"), "Flow !< Relationship"); + require(e.is_kind("Step"), "Flow !< Step"); + require(e.is_kind("Type"), "Flow !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFlowEnd(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInteraction(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getPayloadFeature(); + (void)t.getPayloadType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getSourceOutputFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTargetInputFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Flow.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Flow.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Flow.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Flow.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Flow.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Flow.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Flow.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Flow.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Flow.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Flow.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Flow.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Flow.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Flow.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Flow.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Flow.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Flow.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Flow.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Flow.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Flow.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Flow.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Flow.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Flow.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Flow.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Flow.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Flow.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Flow.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Flow.path()"); + EXPECT_NIK(t.qualificationOf({}), "Flow.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Flow.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Flow.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Flow.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Flow.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Flow.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Flow.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Flow.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Flow.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Flow.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Flow.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Flow.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Flow.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Flow.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Flow.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Flow.visibleMemberships()"); +} + +static void check_FlowDefinition(const Model& m) { + Element e = m.element("e-FlowDefinition"); + require(e.metaclass_name() == "FlowDefinition", "FlowDefinition: metaclass"); + require(e.element_id() == "e-FlowDefinition", "FlowDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "FlowDefinition !< ActionDefinition"); + require(e.is_kind("Association"), "FlowDefinition !< Association"); + require(e.is_kind("Behavior"), "FlowDefinition !< Behavior"); + require(e.is_kind("Class"), "FlowDefinition !< Class"); + require(e.is_kind("Classifier"), "FlowDefinition !< Classifier"); + require(e.is_kind("Definition"), "FlowDefinition !< Definition"); + require(e.is_kind("Element"), "FlowDefinition !< Element"); + require(e.is_kind("Interaction"), "FlowDefinition !< Interaction"); + require(e.is_kind("Namespace"), "FlowDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "FlowDefinition !< OccurrenceDefinition"); + require(e.is_kind("Relationship"), "FlowDefinition !< Relationship"); + require(e.is_kind("Type"), "FlowDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getAliasIds(); + (void)t.getAssociationEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFlowEnd(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getStep(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "FlowDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "FlowDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "FlowDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "FlowDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "FlowDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FlowDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FlowDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "FlowDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "FlowDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "FlowDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "FlowDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "FlowDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "FlowDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "FlowDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "FlowDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "FlowDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "FlowDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "FlowDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "FlowDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "FlowDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "FlowDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "FlowDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "FlowDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "FlowDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "FlowDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "FlowDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "FlowDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "FlowDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "FlowDefinition.visibleMemberships()"); +} + +static void check_FlowEnd(const Model& m) { + Element e = m.element("e-FlowEnd"); + require(e.metaclass_name() == "FlowEnd", "FlowEnd: metaclass"); + require(e.element_id() == "e-FlowEnd", "FlowEnd: element_id"); + require(e.is_kind("Element"), "FlowEnd !< Element"); + require(e.is_kind("Feature"), "FlowEnd !< Feature"); + require(e.is_kind("Namespace"), "FlowEnd !< Namespace"); + require(e.is_kind("Type"), "FlowEnd !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "FlowEnd.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "FlowEnd.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "FlowEnd.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "FlowEnd.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "FlowEnd.canAccess()"); + EXPECT_NIK(t.directionFor({}), "FlowEnd.directionFor()"); + EXPECT_NIK(t.directionOf({}), "FlowEnd.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "FlowEnd.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "FlowEnd.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FlowEnd.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FlowEnd.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "FlowEnd.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "FlowEnd.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "FlowEnd.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "FlowEnd.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "FlowEnd.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "FlowEnd.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "FlowEnd.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "FlowEnd.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "FlowEnd.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "FlowEnd.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "FlowEnd.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "FlowEnd.namesOf()"); + EXPECT_NIK(t.namingFeature(), "FlowEnd.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "FlowEnd.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "FlowEnd.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "FlowEnd.path()"); + EXPECT_NIK(t.qualificationOf({}), "FlowEnd.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "FlowEnd.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "FlowEnd.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "FlowEnd.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "FlowEnd.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "FlowEnd.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "FlowEnd.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "FlowEnd.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "FlowEnd.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "FlowEnd.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "FlowEnd.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "FlowEnd.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "FlowEnd.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "FlowEnd.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "FlowEnd.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "FlowEnd.visibleMemberships()"); +} + +static void check_FlowUsage(const Model& m) { + Element e = m.element("e-FlowUsage"); + require(e.metaclass_name() == "FlowUsage", "FlowUsage: metaclass"); + require(e.element_id() == "e-FlowUsage", "FlowUsage: element_id"); + require(e.is_kind("ActionUsage"), "FlowUsage !< ActionUsage"); + require(e.is_kind("Connector"), "FlowUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "FlowUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "FlowUsage !< Element"); + require(e.is_kind("Feature"), "FlowUsage !< Feature"); + require(e.is_kind("Flow"), "FlowUsage !< Flow"); + require(e.is_kind("Namespace"), "FlowUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "FlowUsage !< OccurrenceUsage"); + require(e.is_kind("Relationship"), "FlowUsage !< Relationship"); + require(e.is_kind("Step"), "FlowUsage !< Step"); + require(e.is_kind("Type"), "FlowUsage !< Type"); + require(e.is_kind("Usage"), "FlowUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFlowDefinition(); + (void)t.getFlowEnd(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInteraction(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPayloadFeature(); + (void)t.getPayloadType(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getSourceOutputFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTargetInputFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "FlowUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "FlowUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "FlowUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "FlowUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "FlowUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "FlowUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "FlowUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "FlowUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "FlowUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "FlowUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FlowUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FlowUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "FlowUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "FlowUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "FlowUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "FlowUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "FlowUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "FlowUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "FlowUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "FlowUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "FlowUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "FlowUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "FlowUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "FlowUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "FlowUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "FlowUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "FlowUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "FlowUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "FlowUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "FlowUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "FlowUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "FlowUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "FlowUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "FlowUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "FlowUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "FlowUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "FlowUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "FlowUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "FlowUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "FlowUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "FlowUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "FlowUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "FlowUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "FlowUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "FlowUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "FlowUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "FlowUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "FlowUsage.visibleMemberships()"); +} + +static void check_ForLoopActionUsage(const Model& m) { + Element e = m.element("e-ForLoopActionUsage"); + require(e.metaclass_name() == "ForLoopActionUsage", "ForLoopActionUsage: metaclass"); + require(e.element_id() == "e-ForLoopActionUsage", "ForLoopActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "ForLoopActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "ForLoopActionUsage !< Element"); + require(e.is_kind("Feature"), "ForLoopActionUsage !< Feature"); + require(e.is_kind("LoopActionUsage"), "ForLoopActionUsage !< LoopActionUsage"); + require(e.is_kind("Namespace"), "ForLoopActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ForLoopActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "ForLoopActionUsage !< Step"); + require(e.is_kind("Type"), "ForLoopActionUsage !< Type"); + require(e.is_kind("Usage"), "ForLoopActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getBodyAction(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getLoopVariable(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getSeqArgument(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ForLoopActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ForLoopActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ForLoopActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "ForLoopActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "ForLoopActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ForLoopActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ForLoopActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ForLoopActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ForLoopActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ForLoopActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ForLoopActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ForLoopActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ForLoopActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ForLoopActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ForLoopActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "ForLoopActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "ForLoopActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "ForLoopActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ForLoopActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ForLoopActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ForLoopActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ForLoopActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "ForLoopActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "ForLoopActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ForLoopActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ForLoopActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ForLoopActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ForLoopActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ForLoopActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ForLoopActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ForLoopActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ForLoopActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ForLoopActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ForLoopActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ForLoopActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ForLoopActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ForLoopActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ForLoopActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ForLoopActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ForLoopActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ForLoopActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ForLoopActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ForLoopActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ForLoopActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ForLoopActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ForLoopActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ForLoopActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ForLoopActionUsage.visibleMemberships()"); +} + +static void check_ForkNode(const Model& m) { + Element e = m.element("e-ForkNode"); + require(e.metaclass_name() == "ForkNode", "ForkNode: metaclass"); + require(e.element_id() == "e-ForkNode", "ForkNode: element_id"); + require(e.is_kind("ActionUsage"), "ForkNode !< ActionUsage"); + require(e.is_kind("ControlNode"), "ForkNode !< ControlNode"); + require(e.is_kind("Element"), "ForkNode !< Element"); + require(e.is_kind("Feature"), "ForkNode !< Feature"); + require(e.is_kind("Namespace"), "ForkNode !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ForkNode !< OccurrenceUsage"); + require(e.is_kind("Step"), "ForkNode !< Step"); + require(e.is_kind("Type"), "ForkNode !< Type"); + require(e.is_kind("Usage"), "ForkNode !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ForkNode.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ForkNode.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ForkNode.allSupertypes()"); + EXPECT_NIK(t.argument({}), "ForkNode.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "ForkNode.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ForkNode.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ForkNode.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ForkNode.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ForkNode.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ForkNode.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ForkNode.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ForkNode.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ForkNode.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ForkNode.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ForkNode.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "ForkNode.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "ForkNode.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "ForkNode.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ForkNode.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ForkNode.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ForkNode.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ForkNode.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "ForkNode.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "ForkNode.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ForkNode.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ForkNode.multiplicities()"); + EXPECT_NIK(t.multiplicityHasBounds({}, {}, {}), "ForkNode.multiplicityHasBounds()"); + EXPECT_NIK(t.namesOf({}), "ForkNode.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ForkNode.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ForkNode.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ForkNode.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ForkNode.path()"); + EXPECT_NIK(t.qualificationOf({}), "ForkNode.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ForkNode.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ForkNode.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ForkNode.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ForkNode.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ForkNode.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ForkNode.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ForkNode.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ForkNode.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ForkNode.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ForkNode.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ForkNode.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ForkNode.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ForkNode.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ForkNode.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ForkNode.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ForkNode.visibleMemberships()"); +} + +static void check_FramedConcernMembership(const Model& m) { + Element e = m.element("e-FramedConcernMembership"); + require(e.metaclass_name() == "FramedConcernMembership", "FramedConcernMembership: metaclass"); + require(e.element_id() == "e-FramedConcernMembership", "FramedConcernMembership: element_id"); + require(e.is_kind("Element"), "FramedConcernMembership !< Element"); + require(e.is_kind("FeatureMembership"), "FramedConcernMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "FramedConcernMembership !< Membership"); + require(e.is_kind("OwningMembership"), "FramedConcernMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "FramedConcernMembership !< Relationship"); + require(e.is_kind("RequirementConstraintMembership"), "FramedConcernMembership !< RequirementConstraintMembership"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getKind(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getReferencedConcern(); + (void)t.getReferencedConstraint(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "FramedConcernMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "FramedConcernMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "FramedConcernMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "FramedConcernMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "FramedConcernMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "FramedConcernMembership.path()"); +} + +static void check_Function(const Model& m) { + Element e = m.element("e-Function"); + require(e.metaclass_name() == "Function", "Function: metaclass"); + require(e.element_id() == "e-Function", "Function: element_id"); + require(e.is_kind("Behavior"), "Function !< Behavior"); + require(e.is_kind("Class"), "Function !< Class"); + require(e.is_kind("Classifier"), "Function !< Classifier"); + require(e.is_kind("Element"), "Function !< Element"); + require(e.is_kind("Namespace"), "Function !< Namespace"); + require(e.is_kind("Type"), "Function !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Function.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Function.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Function.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Function.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Function.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Function.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Function.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Function.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Function.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Function.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Function.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Function.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Function.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Function.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Function.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Function.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Function.path()"); + EXPECT_NIK(t.qualificationOf({}), "Function.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Function.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Function.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Function.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Function.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Function.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Function.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Function.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Function.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Function.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Function.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Function.visibleMemberships()"); +} + +static void check_IfActionUsage(const Model& m) { + Element e = m.element("e-IfActionUsage"); + require(e.metaclass_name() == "IfActionUsage", "IfActionUsage: metaclass"); + require(e.element_id() == "e-IfActionUsage", "IfActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "IfActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "IfActionUsage !< Element"); + require(e.is_kind("Feature"), "IfActionUsage !< Feature"); + require(e.is_kind("Namespace"), "IfActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "IfActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "IfActionUsage !< Step"); + require(e.is_kind("Type"), "IfActionUsage !< Type"); + require(e.is_kind("Usage"), "IfActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getElseAction(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getIfArgument(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getThenAction(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "IfActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "IfActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "IfActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "IfActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "IfActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "IfActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "IfActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "IfActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "IfActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "IfActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "IfActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "IfActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "IfActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "IfActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "IfActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "IfActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "IfActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "IfActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "IfActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "IfActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "IfActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "IfActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "IfActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "IfActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "IfActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "IfActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "IfActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "IfActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "IfActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "IfActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "IfActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "IfActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "IfActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "IfActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "IfActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "IfActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "IfActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "IfActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "IfActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "IfActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "IfActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "IfActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "IfActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "IfActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "IfActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "IfActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "IfActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "IfActionUsage.visibleMemberships()"); +} + +static void check_IncludeUseCaseUsage(const Model& m) { + Element e = m.element("e-IncludeUseCaseUsage"); + require(e.metaclass_name() == "IncludeUseCaseUsage", "IncludeUseCaseUsage: metaclass"); + require(e.element_id() == "e-IncludeUseCaseUsage", "IncludeUseCaseUsage: element_id"); + require(e.is_kind("ActionUsage"), "IncludeUseCaseUsage !< ActionUsage"); + require(e.is_kind("CalculationUsage"), "IncludeUseCaseUsage !< CalculationUsage"); + require(e.is_kind("CaseUsage"), "IncludeUseCaseUsage !< CaseUsage"); + require(e.is_kind("Element"), "IncludeUseCaseUsage !< Element"); + require(e.is_kind("EventOccurrenceUsage"), "IncludeUseCaseUsage !< EventOccurrenceUsage"); + require(e.is_kind("Expression"), "IncludeUseCaseUsage !< Expression"); + require(e.is_kind("Feature"), "IncludeUseCaseUsage !< Feature"); + require(e.is_kind("Namespace"), "IncludeUseCaseUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "IncludeUseCaseUsage !< OccurrenceUsage"); + require(e.is_kind("PerformActionUsage"), "IncludeUseCaseUsage !< PerformActionUsage"); + require(e.is_kind("Step"), "IncludeUseCaseUsage !< Step"); + require(e.is_kind("Type"), "IncludeUseCaseUsage !< Type"); + require(e.is_kind("Usage"), "IncludeUseCaseUsage !< Usage"); + require(e.is_kind("UseCaseUsage"), "IncludeUseCaseUsage !< UseCaseUsage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getCalculationDefinition(); + (void)t.getCaseDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getEventOccurrence(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIncludedUseCase(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getObjectiveRequirement(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPerformedAction(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getUseCaseDefinition(); + (void)t.getUseCaseIncluded(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "IncludeUseCaseUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "IncludeUseCaseUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "IncludeUseCaseUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "IncludeUseCaseUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "IncludeUseCaseUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "IncludeUseCaseUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "IncludeUseCaseUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "IncludeUseCaseUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "IncludeUseCaseUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "IncludeUseCaseUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "IncludeUseCaseUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "IncludeUseCaseUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "IncludeUseCaseUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "IncludeUseCaseUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "IncludeUseCaseUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "IncludeUseCaseUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "IncludeUseCaseUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "IncludeUseCaseUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "IncludeUseCaseUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "IncludeUseCaseUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "IncludeUseCaseUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "IncludeUseCaseUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "IncludeUseCaseUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "IncludeUseCaseUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "IncludeUseCaseUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "IncludeUseCaseUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "IncludeUseCaseUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "IncludeUseCaseUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "IncludeUseCaseUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "IncludeUseCaseUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "IncludeUseCaseUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "IncludeUseCaseUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "IncludeUseCaseUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "IncludeUseCaseUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "IncludeUseCaseUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "IncludeUseCaseUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "IncludeUseCaseUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "IncludeUseCaseUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "IncludeUseCaseUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "IncludeUseCaseUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "IncludeUseCaseUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "IncludeUseCaseUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "IncludeUseCaseUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "IncludeUseCaseUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "IncludeUseCaseUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "IncludeUseCaseUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "IncludeUseCaseUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "IncludeUseCaseUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "IncludeUseCaseUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "IncludeUseCaseUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "IncludeUseCaseUsage.visibleMemberships()"); +} + +static void check_IndexExpression(const Model& m) { + Element e = m.element("e-IndexExpression"); + require(e.metaclass_name() == "IndexExpression", "IndexExpression: metaclass"); + require(e.element_id() == "e-IndexExpression", "IndexExpression: element_id"); + require(e.is_kind("Element"), "IndexExpression !< Element"); + require(e.is_kind("Expression"), "IndexExpression !< Expression"); + require(e.is_kind("Feature"), "IndexExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "IndexExpression !< InstantiationExpression"); + require(e.is_kind("InvocationExpression"), "IndexExpression !< InvocationExpression"); + require(e.is_kind("Namespace"), "IndexExpression !< Namespace"); + require(e.is_kind("OperatorExpression"), "IndexExpression !< OperatorExpression"); + require(e.is_kind("Step"), "IndexExpression !< Step"); + require(e.is_kind("Type"), "IndexExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOperator(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "IndexExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "IndexExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "IndexExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "IndexExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "IndexExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "IndexExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "IndexExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "IndexExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "IndexExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "IndexExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "IndexExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "IndexExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "IndexExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "IndexExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "IndexExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "IndexExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "IndexExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "IndexExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "IndexExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "IndexExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "IndexExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "IndexExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "IndexExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "IndexExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "IndexExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "IndexExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "IndexExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "IndexExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "IndexExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "IndexExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "IndexExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "IndexExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "IndexExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "IndexExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "IndexExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "IndexExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "IndexExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "IndexExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "IndexExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "IndexExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "IndexExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "IndexExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "IndexExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "IndexExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "IndexExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "IndexExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "IndexExpression.visibleMemberships()"); +} + +static void check_Interaction(const Model& m) { + Element e = m.element("e-Interaction"); + require(e.metaclass_name() == "Interaction", "Interaction: metaclass"); + require(e.element_id() == "e-Interaction", "Interaction: element_id"); + require(e.is_kind("Association"), "Interaction !< Association"); + require(e.is_kind("Behavior"), "Interaction !< Behavior"); + require(e.is_kind("Class"), "Interaction !< Class"); + require(e.is_kind("Classifier"), "Interaction !< Classifier"); + require(e.is_kind("Element"), "Interaction !< Element"); + require(e.is_kind("Namespace"), "Interaction !< Namespace"); + require(e.is_kind("Relationship"), "Interaction !< Relationship"); + require(e.is_kind("Type"), "Interaction !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociationEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getStep(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Interaction.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Interaction.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Interaction.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Interaction.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Interaction.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Interaction.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Interaction.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Interaction.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Interaction.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Interaction.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Interaction.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Interaction.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Interaction.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Interaction.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Interaction.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Interaction.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Interaction.path()"); + EXPECT_NIK(t.qualificationOf({}), "Interaction.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Interaction.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Interaction.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Interaction.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Interaction.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Interaction.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Interaction.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Interaction.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Interaction.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Interaction.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Interaction.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Interaction.visibleMemberships()"); +} + +static void check_InterfaceDefinition(const Model& m) { + Element e = m.element("e-InterfaceDefinition"); + require(e.metaclass_name() == "InterfaceDefinition", "InterfaceDefinition: metaclass"); + require(e.element_id() == "e-InterfaceDefinition", "InterfaceDefinition: element_id"); + require(e.is_kind("Association"), "InterfaceDefinition !< Association"); + require(e.is_kind("AssociationStructure"), "InterfaceDefinition !< AssociationStructure"); + require(e.is_kind("Class"), "InterfaceDefinition !< Class"); + require(e.is_kind("Classifier"), "InterfaceDefinition !< Classifier"); + require(e.is_kind("ConnectionDefinition"), "InterfaceDefinition !< ConnectionDefinition"); + require(e.is_kind("Definition"), "InterfaceDefinition !< Definition"); + require(e.is_kind("Element"), "InterfaceDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "InterfaceDefinition !< ItemDefinition"); + require(e.is_kind("Namespace"), "InterfaceDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "InterfaceDefinition !< OccurrenceDefinition"); + require(e.is_kind("PartDefinition"), "InterfaceDefinition !< PartDefinition"); + require(e.is_kind("Relationship"), "InterfaceDefinition !< Relationship"); + require(e.is_kind("Structure"), "InterfaceDefinition !< Structure"); + require(e.is_kind("Type"), "InterfaceDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociationEnd(); + (void)t.getConnectionEnd(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInterfaceEnd(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedType(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceType(); + (void)t.getTarget(); + (void)t.getTargetType(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "InterfaceDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "InterfaceDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "InterfaceDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "InterfaceDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "InterfaceDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "InterfaceDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "InterfaceDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "InterfaceDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "InterfaceDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "InterfaceDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "InterfaceDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "InterfaceDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "InterfaceDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "InterfaceDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "InterfaceDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "InterfaceDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "InterfaceDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "InterfaceDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "InterfaceDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "InterfaceDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "InterfaceDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "InterfaceDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "InterfaceDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "InterfaceDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "InterfaceDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "InterfaceDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "InterfaceDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "InterfaceDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "InterfaceDefinition.visibleMemberships()"); +} + +static void check_InterfaceUsage(const Model& m) { + Element e = m.element("e-InterfaceUsage"); + require(e.metaclass_name() == "InterfaceUsage", "InterfaceUsage: metaclass"); + require(e.element_id() == "e-InterfaceUsage", "InterfaceUsage: element_id"); + require(e.is_kind("ConnectionUsage"), "InterfaceUsage !< ConnectionUsage"); + require(e.is_kind("Connector"), "InterfaceUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "InterfaceUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "InterfaceUsage !< Element"); + require(e.is_kind("Feature"), "InterfaceUsage !< Feature"); + require(e.is_kind("ItemUsage"), "InterfaceUsage !< ItemUsage"); + require(e.is_kind("Namespace"), "InterfaceUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "InterfaceUsage !< OccurrenceUsage"); + require(e.is_kind("PartUsage"), "InterfaceUsage !< PartUsage"); + require(e.is_kind("Relationship"), "InterfaceUsage !< Relationship"); + require(e.is_kind("Type"), "InterfaceUsage !< Type"); + require(e.is_kind("Usage"), "InterfaceUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectionDefinition(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInterfaceDefinition(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPartDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "InterfaceUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "InterfaceUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "InterfaceUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "InterfaceUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "InterfaceUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "InterfaceUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "InterfaceUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "InterfaceUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "InterfaceUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "InterfaceUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "InterfaceUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "InterfaceUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "InterfaceUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "InterfaceUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "InterfaceUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "InterfaceUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "InterfaceUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "InterfaceUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "InterfaceUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "InterfaceUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "InterfaceUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "InterfaceUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "InterfaceUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "InterfaceUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "InterfaceUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "InterfaceUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "InterfaceUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "InterfaceUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "InterfaceUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "InterfaceUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "InterfaceUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "InterfaceUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "InterfaceUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "InterfaceUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "InterfaceUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "InterfaceUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "InterfaceUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "InterfaceUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "InterfaceUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "InterfaceUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "InterfaceUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "InterfaceUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "InterfaceUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "InterfaceUsage.visibleMemberships()"); +} + +static void check_Intersecting(const Model& m) { + Element e = m.element("e-Intersecting"); + require(e.metaclass_name() == "Intersecting", "Intersecting: metaclass"); + require(e.element_id() == "e-Intersecting", "Intersecting: element_id"); + require(e.is_kind("Element"), "Intersecting !< Element"); + require(e.is_kind("Relationship"), "Intersecting !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIntersectingType(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getTypeIntersected(); + EXPECT_NIK(t.effectiveName(), "Intersecting.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Intersecting.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Intersecting.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Intersecting.libraryNamespace()"); + EXPECT_NIK(t.path(), "Intersecting.path()"); +} + +static void check_Invariant(const Model& m) { + Element e = m.element("e-Invariant"); + require(e.metaclass_name() == "Invariant", "Invariant: metaclass"); + require(e.element_id() == "e-Invariant", "Invariant: element_id"); + require(e.is_kind("BooleanExpression"), "Invariant !< BooleanExpression"); + require(e.is_kind("Element"), "Invariant !< Element"); + require(e.is_kind("Expression"), "Invariant !< Expression"); + require(e.is_kind("Feature"), "Invariant !< Feature"); + require(e.is_kind("Namespace"), "Invariant !< Namespace"); + require(e.is_kind("Step"), "Invariant !< Step"); + require(e.is_kind("Type"), "Invariant !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsNegated(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Invariant.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Invariant.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Invariant.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Invariant.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Invariant.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "Invariant.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "Invariant.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Invariant.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Invariant.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Invariant.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Invariant.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Invariant.escapedName()"); + EXPECT_NIK(t.evaluate({}), "Invariant.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "Invariant.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Invariant.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Invariant.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Invariant.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Invariant.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Invariant.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Invariant.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Invariant.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Invariant.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Invariant.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "Invariant.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "Invariant.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Invariant.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Invariant.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Invariant.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Invariant.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Invariant.path()"); + EXPECT_NIK(t.qualificationOf({}), "Invariant.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Invariant.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Invariant.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Invariant.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Invariant.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Invariant.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Invariant.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Invariant.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Invariant.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Invariant.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Invariant.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Invariant.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Invariant.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Invariant.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Invariant.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Invariant.visibleMemberships()"); +} + +static void check_InvocationExpression(const Model& m) { + Element e = m.element("e-InvocationExpression"); + require(e.metaclass_name() == "InvocationExpression", "InvocationExpression: metaclass"); + require(e.element_id() == "e-InvocationExpression", "InvocationExpression: element_id"); + require(e.is_kind("Element"), "InvocationExpression !< Element"); + require(e.is_kind("Expression"), "InvocationExpression !< Expression"); + require(e.is_kind("Feature"), "InvocationExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "InvocationExpression !< InstantiationExpression"); + require(e.is_kind("Namespace"), "InvocationExpression !< Namespace"); + require(e.is_kind("Step"), "InvocationExpression !< Step"); + require(e.is_kind("Type"), "InvocationExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "InvocationExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "InvocationExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "InvocationExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "InvocationExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "InvocationExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "InvocationExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "InvocationExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "InvocationExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "InvocationExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "InvocationExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "InvocationExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "InvocationExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "InvocationExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "InvocationExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "InvocationExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "InvocationExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "InvocationExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "InvocationExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "InvocationExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "InvocationExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "InvocationExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "InvocationExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "InvocationExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "InvocationExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "InvocationExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "InvocationExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "InvocationExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "InvocationExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "InvocationExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "InvocationExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "InvocationExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "InvocationExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "InvocationExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "InvocationExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "InvocationExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "InvocationExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "InvocationExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "InvocationExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "InvocationExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "InvocationExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "InvocationExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "InvocationExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "InvocationExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "InvocationExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "InvocationExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "InvocationExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "InvocationExpression.visibleMemberships()"); +} + +static void check_ItemDefinition(const Model& m) { + Element e = m.element("e-ItemDefinition"); + require(e.metaclass_name() == "ItemDefinition", "ItemDefinition: metaclass"); + require(e.element_id() == "e-ItemDefinition", "ItemDefinition: element_id"); + require(e.is_kind("Class"), "ItemDefinition !< Class"); + require(e.is_kind("Classifier"), "ItemDefinition !< Classifier"); + require(e.is_kind("Definition"), "ItemDefinition !< Definition"); + require(e.is_kind("Element"), "ItemDefinition !< Element"); + require(e.is_kind("Namespace"), "ItemDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ItemDefinition !< OccurrenceDefinition"); + require(e.is_kind("Structure"), "ItemDefinition !< Structure"); + require(e.is_kind("Type"), "ItemDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ItemDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ItemDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ItemDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ItemDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ItemDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ItemDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ItemDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ItemDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ItemDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ItemDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ItemDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ItemDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ItemDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ItemDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ItemDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ItemDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ItemDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ItemDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ItemDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ItemDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ItemDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ItemDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ItemDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ItemDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ItemDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ItemDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ItemDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ItemDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ItemDefinition.visibleMemberships()"); +} + +static void check_ItemUsage(const Model& m) { + Element e = m.element("e-ItemUsage"); + require(e.metaclass_name() == "ItemUsage", "ItemUsage: metaclass"); + require(e.element_id() == "e-ItemUsage", "ItemUsage: element_id"); + require(e.is_kind("Element"), "ItemUsage !< Element"); + require(e.is_kind("Feature"), "ItemUsage !< Feature"); + require(e.is_kind("Namespace"), "ItemUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ItemUsage !< OccurrenceUsage"); + require(e.is_kind("Type"), "ItemUsage !< Type"); + require(e.is_kind("Usage"), "ItemUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ItemUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ItemUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ItemUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ItemUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ItemUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ItemUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ItemUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ItemUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ItemUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ItemUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ItemUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ItemUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ItemUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ItemUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ItemUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ItemUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ItemUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ItemUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ItemUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ItemUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ItemUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ItemUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ItemUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ItemUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ItemUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ItemUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ItemUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ItemUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ItemUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ItemUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ItemUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ItemUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ItemUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ItemUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ItemUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ItemUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ItemUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ItemUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ItemUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ItemUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ItemUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ItemUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ItemUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ItemUsage.visibleMemberships()"); +} + +static void check_JoinNode(const Model& m) { + Element e = m.element("e-JoinNode"); + require(e.metaclass_name() == "JoinNode", "JoinNode: metaclass"); + require(e.element_id() == "e-JoinNode", "JoinNode: element_id"); + require(e.is_kind("ActionUsage"), "JoinNode !< ActionUsage"); + require(e.is_kind("ControlNode"), "JoinNode !< ControlNode"); + require(e.is_kind("Element"), "JoinNode !< Element"); + require(e.is_kind("Feature"), "JoinNode !< Feature"); + require(e.is_kind("Namespace"), "JoinNode !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "JoinNode !< OccurrenceUsage"); + require(e.is_kind("Step"), "JoinNode !< Step"); + require(e.is_kind("Type"), "JoinNode !< Type"); + require(e.is_kind("Usage"), "JoinNode !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "JoinNode.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "JoinNode.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "JoinNode.allSupertypes()"); + EXPECT_NIK(t.argument({}), "JoinNode.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "JoinNode.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "JoinNode.canAccess()"); + EXPECT_NIK(t.directionFor({}), "JoinNode.directionFor()"); + EXPECT_NIK(t.directionOf({}), "JoinNode.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "JoinNode.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "JoinNode.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "JoinNode.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "JoinNode.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "JoinNode.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "JoinNode.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "JoinNode.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "JoinNode.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "JoinNode.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "JoinNode.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "JoinNode.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "JoinNode.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "JoinNode.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "JoinNode.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "JoinNode.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "JoinNode.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "JoinNode.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "JoinNode.multiplicities()"); + EXPECT_NIK(t.multiplicityHasBounds({}, {}, {}), "JoinNode.multiplicityHasBounds()"); + EXPECT_NIK(t.namesOf({}), "JoinNode.namesOf()"); + EXPECT_NIK(t.namingFeature(), "JoinNode.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "JoinNode.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "JoinNode.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "JoinNode.path()"); + EXPECT_NIK(t.qualificationOf({}), "JoinNode.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "JoinNode.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "JoinNode.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "JoinNode.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "JoinNode.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "JoinNode.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "JoinNode.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "JoinNode.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "JoinNode.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "JoinNode.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "JoinNode.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "JoinNode.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "JoinNode.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "JoinNode.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "JoinNode.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "JoinNode.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "JoinNode.visibleMemberships()"); +} + +static void check_LibraryPackage(const Model& m) { + Element e = m.element("e-LibraryPackage"); + require(e.metaclass_name() == "LibraryPackage", "LibraryPackage: metaclass"); + require(e.element_id() == "e-LibraryPackage", "LibraryPackage: element_id"); + require(e.is_kind("Element"), "LibraryPackage !< Element"); + require(e.is_kind("Namespace"), "LibraryPackage !< Namespace"); + require(e.is_kind("Package"), "LibraryPackage !< Package"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getFilterCondition(); + (void)t.getImportedMembership(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsStandard(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedImport(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "LibraryPackage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LibraryPackage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LibraryPackage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "LibraryPackage.importedMemberships()"); + EXPECT_NIK(t.includeAsMember({}), "LibraryPackage.includeAsMember()"); + EXPECT_NIK(t.libraryNamespace(), "LibraryPackage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LibraryPackage.membershipsOfVisibility()"); + EXPECT_NIK(t.namesOf({}), "LibraryPackage.namesOf()"); + EXPECT_NIK(t.path(), "LibraryPackage.path()"); + EXPECT_NIK(t.qualificationOf({}), "LibraryPackage.qualificationOf()"); + EXPECT_NIK(t.resolve({}), "LibraryPackage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LibraryPackage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LibraryPackage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LibraryPackage.resolveVisible()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LibraryPackage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LibraryPackage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LibraryPackage.visibleMemberships()"); +} + +static void check_LiteralBoolean(const Model& m) { + Element e = m.element("e-LiteralBoolean"); + require(e.metaclass_name() == "LiteralBoolean", "LiteralBoolean: metaclass"); + require(e.element_id() == "e-LiteralBoolean", "LiteralBoolean: element_id"); + require(e.is_kind("Element"), "LiteralBoolean !< Element"); + require(e.is_kind("Expression"), "LiteralBoolean !< Expression"); + require(e.is_kind("Feature"), "LiteralBoolean !< Feature"); + require(e.is_kind("LiteralExpression"), "LiteralBoolean !< LiteralExpression"); + require(e.is_kind("Namespace"), "LiteralBoolean !< Namespace"); + require(e.is_kind("Step"), "LiteralBoolean !< Step"); + require(e.is_kind("Type"), "LiteralBoolean !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getValue(); + EXPECT_NIK(t.allRedefinedFeatures(), "LiteralBoolean.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "LiteralBoolean.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "LiteralBoolean.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "LiteralBoolean.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "LiteralBoolean.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "LiteralBoolean.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "LiteralBoolean.directionFor()"); + EXPECT_NIK(t.directionOf({}), "LiteralBoolean.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "LiteralBoolean.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "LiteralBoolean.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LiteralBoolean.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LiteralBoolean.escapedName()"); + EXPECT_NIK(t.evaluate({}), "LiteralBoolean.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "LiteralBoolean.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "LiteralBoolean.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "LiteralBoolean.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "LiteralBoolean.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "LiteralBoolean.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "LiteralBoolean.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "LiteralBoolean.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "LiteralBoolean.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "LiteralBoolean.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LiteralBoolean.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "LiteralBoolean.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "LiteralBoolean.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "LiteralBoolean.namesOf()"); + EXPECT_NIK(t.namingFeature(), "LiteralBoolean.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "LiteralBoolean.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "LiteralBoolean.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "LiteralBoolean.path()"); + EXPECT_NIK(t.qualificationOf({}), "LiteralBoolean.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "LiteralBoolean.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "LiteralBoolean.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "LiteralBoolean.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "LiteralBoolean.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LiteralBoolean.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LiteralBoolean.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LiteralBoolean.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "LiteralBoolean.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "LiteralBoolean.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "LiteralBoolean.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "LiteralBoolean.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "LiteralBoolean.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LiteralBoolean.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LiteralBoolean.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LiteralBoolean.visibleMemberships()"); +} + +static void check_LiteralExpression(const Model& m) { + Element e = m.element("e-LiteralExpression"); + require(e.metaclass_name() == "LiteralExpression", "LiteralExpression: metaclass"); + require(e.element_id() == "e-LiteralExpression", "LiteralExpression: element_id"); + require(e.is_kind("Element"), "LiteralExpression !< Element"); + require(e.is_kind("Expression"), "LiteralExpression !< Expression"); + require(e.is_kind("Feature"), "LiteralExpression !< Feature"); + require(e.is_kind("Namespace"), "LiteralExpression !< Namespace"); + require(e.is_kind("Step"), "LiteralExpression !< Step"); + require(e.is_kind("Type"), "LiteralExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "LiteralExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "LiteralExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "LiteralExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "LiteralExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "LiteralExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "LiteralExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "LiteralExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "LiteralExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "LiteralExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "LiteralExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LiteralExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LiteralExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "LiteralExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "LiteralExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "LiteralExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "LiteralExpression.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "LiteralExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "LiteralExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "LiteralExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "LiteralExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "LiteralExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "LiteralExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LiteralExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "LiteralExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "LiteralExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "LiteralExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "LiteralExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "LiteralExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "LiteralExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "LiteralExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "LiteralExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "LiteralExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "LiteralExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "LiteralExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "LiteralExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LiteralExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LiteralExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LiteralExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "LiteralExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "LiteralExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "LiteralExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "LiteralExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "LiteralExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LiteralExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LiteralExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LiteralExpression.visibleMemberships()"); +} + +static void check_LiteralInfinity(const Model& m) { + Element e = m.element("e-LiteralInfinity"); + require(e.metaclass_name() == "LiteralInfinity", "LiteralInfinity: metaclass"); + require(e.element_id() == "e-LiteralInfinity", "LiteralInfinity: element_id"); + require(e.is_kind("Element"), "LiteralInfinity !< Element"); + require(e.is_kind("Expression"), "LiteralInfinity !< Expression"); + require(e.is_kind("Feature"), "LiteralInfinity !< Feature"); + require(e.is_kind("LiteralExpression"), "LiteralInfinity !< LiteralExpression"); + require(e.is_kind("Namespace"), "LiteralInfinity !< Namespace"); + require(e.is_kind("Step"), "LiteralInfinity !< Step"); + require(e.is_kind("Type"), "LiteralInfinity !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "LiteralInfinity.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "LiteralInfinity.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "LiteralInfinity.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "LiteralInfinity.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "LiteralInfinity.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "LiteralInfinity.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "LiteralInfinity.directionFor()"); + EXPECT_NIK(t.directionOf({}), "LiteralInfinity.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "LiteralInfinity.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "LiteralInfinity.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LiteralInfinity.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LiteralInfinity.escapedName()"); + EXPECT_NIK(t.evaluate({}), "LiteralInfinity.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "LiteralInfinity.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "LiteralInfinity.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "LiteralInfinity.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "LiteralInfinity.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "LiteralInfinity.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "LiteralInfinity.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "LiteralInfinity.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "LiteralInfinity.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "LiteralInfinity.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LiteralInfinity.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "LiteralInfinity.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "LiteralInfinity.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "LiteralInfinity.namesOf()"); + EXPECT_NIK(t.namingFeature(), "LiteralInfinity.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "LiteralInfinity.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "LiteralInfinity.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "LiteralInfinity.path()"); + EXPECT_NIK(t.qualificationOf({}), "LiteralInfinity.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "LiteralInfinity.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "LiteralInfinity.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "LiteralInfinity.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "LiteralInfinity.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LiteralInfinity.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LiteralInfinity.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LiteralInfinity.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "LiteralInfinity.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "LiteralInfinity.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "LiteralInfinity.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "LiteralInfinity.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "LiteralInfinity.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LiteralInfinity.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LiteralInfinity.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LiteralInfinity.visibleMemberships()"); +} + +static void check_LiteralInteger(const Model& m) { + Element e = m.element("e-LiteralInteger"); + require(e.metaclass_name() == "LiteralInteger", "LiteralInteger: metaclass"); + require(e.element_id() == "e-LiteralInteger", "LiteralInteger: element_id"); + require(e.is_kind("Element"), "LiteralInteger !< Element"); + require(e.is_kind("Expression"), "LiteralInteger !< Expression"); + require(e.is_kind("Feature"), "LiteralInteger !< Feature"); + require(e.is_kind("LiteralExpression"), "LiteralInteger !< LiteralExpression"); + require(e.is_kind("Namespace"), "LiteralInteger !< Namespace"); + require(e.is_kind("Step"), "LiteralInteger !< Step"); + require(e.is_kind("Type"), "LiteralInteger !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getValue(); + EXPECT_NIK(t.allRedefinedFeatures(), "LiteralInteger.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "LiteralInteger.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "LiteralInteger.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "LiteralInteger.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "LiteralInteger.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "LiteralInteger.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "LiteralInteger.directionFor()"); + EXPECT_NIK(t.directionOf({}), "LiteralInteger.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "LiteralInteger.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "LiteralInteger.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LiteralInteger.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LiteralInteger.escapedName()"); + EXPECT_NIK(t.evaluate({}), "LiteralInteger.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "LiteralInteger.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "LiteralInteger.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "LiteralInteger.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "LiteralInteger.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "LiteralInteger.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "LiteralInteger.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "LiteralInteger.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "LiteralInteger.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "LiteralInteger.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LiteralInteger.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "LiteralInteger.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "LiteralInteger.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "LiteralInteger.namesOf()"); + EXPECT_NIK(t.namingFeature(), "LiteralInteger.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "LiteralInteger.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "LiteralInteger.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "LiteralInteger.path()"); + EXPECT_NIK(t.qualificationOf({}), "LiteralInteger.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "LiteralInteger.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "LiteralInteger.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "LiteralInteger.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "LiteralInteger.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LiteralInteger.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LiteralInteger.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LiteralInteger.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "LiteralInteger.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "LiteralInteger.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "LiteralInteger.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "LiteralInteger.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "LiteralInteger.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LiteralInteger.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LiteralInteger.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LiteralInteger.visibleMemberships()"); +} + +static void check_LiteralRational(const Model& m) { + Element e = m.element("e-LiteralRational"); + require(e.metaclass_name() == "LiteralRational", "LiteralRational: metaclass"); + require(e.element_id() == "e-LiteralRational", "LiteralRational: element_id"); + require(e.is_kind("Element"), "LiteralRational !< Element"); + require(e.is_kind("Expression"), "LiteralRational !< Expression"); + require(e.is_kind("Feature"), "LiteralRational !< Feature"); + require(e.is_kind("LiteralExpression"), "LiteralRational !< LiteralExpression"); + require(e.is_kind("Namespace"), "LiteralRational !< Namespace"); + require(e.is_kind("Step"), "LiteralRational !< Step"); + require(e.is_kind("Type"), "LiteralRational !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getValue(); + EXPECT_NIK(t.allRedefinedFeatures(), "LiteralRational.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "LiteralRational.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "LiteralRational.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "LiteralRational.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "LiteralRational.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "LiteralRational.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "LiteralRational.directionFor()"); + EXPECT_NIK(t.directionOf({}), "LiteralRational.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "LiteralRational.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "LiteralRational.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LiteralRational.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LiteralRational.escapedName()"); + EXPECT_NIK(t.evaluate({}), "LiteralRational.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "LiteralRational.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "LiteralRational.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "LiteralRational.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "LiteralRational.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "LiteralRational.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "LiteralRational.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "LiteralRational.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "LiteralRational.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "LiteralRational.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LiteralRational.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "LiteralRational.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "LiteralRational.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "LiteralRational.namesOf()"); + EXPECT_NIK(t.namingFeature(), "LiteralRational.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "LiteralRational.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "LiteralRational.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "LiteralRational.path()"); + EXPECT_NIK(t.qualificationOf({}), "LiteralRational.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "LiteralRational.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "LiteralRational.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "LiteralRational.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "LiteralRational.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LiteralRational.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LiteralRational.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LiteralRational.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "LiteralRational.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "LiteralRational.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "LiteralRational.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "LiteralRational.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "LiteralRational.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LiteralRational.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LiteralRational.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LiteralRational.visibleMemberships()"); +} + +static void check_LiteralString(const Model& m) { + Element e = m.element("e-LiteralString"); + require(e.metaclass_name() == "LiteralString", "LiteralString: metaclass"); + require(e.element_id() == "e-LiteralString", "LiteralString: element_id"); + require(e.is_kind("Element"), "LiteralString !< Element"); + require(e.is_kind("Expression"), "LiteralString !< Expression"); + require(e.is_kind("Feature"), "LiteralString !< Feature"); + require(e.is_kind("LiteralExpression"), "LiteralString !< LiteralExpression"); + require(e.is_kind("Namespace"), "LiteralString !< Namespace"); + require(e.is_kind("Step"), "LiteralString !< Step"); + require(e.is_kind("Type"), "LiteralString !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getValue(); + EXPECT_NIK(t.allRedefinedFeatures(), "LiteralString.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "LiteralString.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "LiteralString.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "LiteralString.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "LiteralString.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "LiteralString.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "LiteralString.directionFor()"); + EXPECT_NIK(t.directionOf({}), "LiteralString.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "LiteralString.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "LiteralString.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "LiteralString.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "LiteralString.escapedName()"); + EXPECT_NIK(t.evaluate({}), "LiteralString.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "LiteralString.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "LiteralString.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "LiteralString.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "LiteralString.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "LiteralString.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "LiteralString.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "LiteralString.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "LiteralString.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "LiteralString.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "LiteralString.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "LiteralString.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "LiteralString.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "LiteralString.namesOf()"); + EXPECT_NIK(t.namingFeature(), "LiteralString.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "LiteralString.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "LiteralString.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "LiteralString.path()"); + EXPECT_NIK(t.qualificationOf({}), "LiteralString.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "LiteralString.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "LiteralString.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "LiteralString.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "LiteralString.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "LiteralString.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "LiteralString.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "LiteralString.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "LiteralString.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "LiteralString.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "LiteralString.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "LiteralString.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "LiteralString.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "LiteralString.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "LiteralString.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "LiteralString.visibleMemberships()"); +} + +static void check_Membership(const Model& m) { + Element e = m.element("e-Membership"); + require(e.metaclass_name() == "Membership", "Membership: metaclass"); + require(e.element_id() == "e-Membership", "Membership: element_id"); + require(e.is_kind("Element"), "Membership !< Element"); + require(e.is_kind("Relationship"), "Membership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "Membership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Membership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Membership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "Membership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "Membership.libraryNamespace()"); + EXPECT_NIK(t.path(), "Membership.path()"); +} + +static void check_MembershipExpose(const Model& m) { + Element e = m.element("e-MembershipExpose"); + require(e.metaclass_name() == "MembershipExpose", "MembershipExpose: metaclass"); + require(e.element_id() == "e-MembershipExpose", "MembershipExpose: element_id"); + require(e.is_kind("Element"), "MembershipExpose !< Element"); + require(e.is_kind("Expose"), "MembershipExpose !< Expose"); + require(e.is_kind("Import"), "MembershipExpose !< Import"); + require(e.is_kind("MembershipImport"), "MembershipExpose !< MembershipImport"); + require(e.is_kind("Relationship"), "MembershipExpose !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getImportOwningNamespace(); + (void)t.getImportedElement(); + (void)t.getImportedMembership(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsImportAll(); + (void)t.getIsLibraryElement(); + (void)t.getIsRecursive(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "MembershipExpose.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MembershipExpose.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MembershipExpose.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "MembershipExpose.importedMemberships()"); + EXPECT_NIK(t.libraryNamespace(), "MembershipExpose.libraryNamespace()"); + EXPECT_NIK(t.path(), "MembershipExpose.path()"); +} + +static void check_MembershipImport(const Model& m) { + Element e = m.element("e-MembershipImport"); + require(e.metaclass_name() == "MembershipImport", "MembershipImport: metaclass"); + require(e.element_id() == "e-MembershipImport", "MembershipImport: element_id"); + require(e.is_kind("Element"), "MembershipImport !< Element"); + require(e.is_kind("Import"), "MembershipImport !< Import"); + require(e.is_kind("Relationship"), "MembershipImport !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getImportOwningNamespace(); + (void)t.getImportedElement(); + (void)t.getImportedMembership(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsImportAll(); + (void)t.getIsLibraryElement(); + (void)t.getIsRecursive(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "MembershipImport.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MembershipImport.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MembershipImport.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "MembershipImport.importedMemberships()"); + EXPECT_NIK(t.libraryNamespace(), "MembershipImport.libraryNamespace()"); + EXPECT_NIK(t.path(), "MembershipImport.path()"); +} + +static void check_MergeNode(const Model& m) { + Element e = m.element("e-MergeNode"); + require(e.metaclass_name() == "MergeNode", "MergeNode: metaclass"); + require(e.element_id() == "e-MergeNode", "MergeNode: element_id"); + require(e.is_kind("ActionUsage"), "MergeNode !< ActionUsage"); + require(e.is_kind("ControlNode"), "MergeNode !< ControlNode"); + require(e.is_kind("Element"), "MergeNode !< Element"); + require(e.is_kind("Feature"), "MergeNode !< Feature"); + require(e.is_kind("Namespace"), "MergeNode !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "MergeNode !< OccurrenceUsage"); + require(e.is_kind("Step"), "MergeNode !< Step"); + require(e.is_kind("Type"), "MergeNode !< Type"); + require(e.is_kind("Usage"), "MergeNode !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "MergeNode.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "MergeNode.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "MergeNode.allSupertypes()"); + EXPECT_NIK(t.argument({}), "MergeNode.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "MergeNode.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "MergeNode.canAccess()"); + EXPECT_NIK(t.directionFor({}), "MergeNode.directionFor()"); + EXPECT_NIK(t.directionOf({}), "MergeNode.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "MergeNode.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "MergeNode.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MergeNode.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MergeNode.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "MergeNode.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "MergeNode.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "MergeNode.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "MergeNode.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "MergeNode.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "MergeNode.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "MergeNode.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "MergeNode.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "MergeNode.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "MergeNode.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "MergeNode.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "MergeNode.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "MergeNode.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "MergeNode.multiplicities()"); + EXPECT_NIK(t.multiplicityHasBounds({}, {}, {}), "MergeNode.multiplicityHasBounds()"); + EXPECT_NIK(t.namesOf({}), "MergeNode.namesOf()"); + EXPECT_NIK(t.namingFeature(), "MergeNode.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "MergeNode.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "MergeNode.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "MergeNode.path()"); + EXPECT_NIK(t.qualificationOf({}), "MergeNode.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "MergeNode.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "MergeNode.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "MergeNode.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "MergeNode.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "MergeNode.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "MergeNode.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "MergeNode.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "MergeNode.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "MergeNode.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "MergeNode.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "MergeNode.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "MergeNode.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "MergeNode.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "MergeNode.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "MergeNode.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "MergeNode.visibleMemberships()"); +} + +static void check_Metaclass(const Model& m) { + Element e = m.element("e-Metaclass"); + require(e.metaclass_name() == "Metaclass", "Metaclass: metaclass"); + require(e.element_id() == "e-Metaclass", "Metaclass: element_id"); + require(e.is_kind("Class"), "Metaclass !< Class"); + require(e.is_kind("Classifier"), "Metaclass !< Classifier"); + require(e.is_kind("Element"), "Metaclass !< Element"); + require(e.is_kind("Namespace"), "Metaclass !< Namespace"); + require(e.is_kind("Structure"), "Metaclass !< Structure"); + require(e.is_kind("Type"), "Metaclass !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Metaclass.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Metaclass.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Metaclass.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Metaclass.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Metaclass.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Metaclass.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Metaclass.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Metaclass.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Metaclass.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Metaclass.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Metaclass.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Metaclass.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Metaclass.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Metaclass.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Metaclass.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Metaclass.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Metaclass.path()"); + EXPECT_NIK(t.qualificationOf({}), "Metaclass.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Metaclass.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Metaclass.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Metaclass.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Metaclass.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Metaclass.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Metaclass.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Metaclass.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Metaclass.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Metaclass.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Metaclass.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Metaclass.visibleMemberships()"); +} + +static void check_MetadataAccessExpression(const Model& m) { + Element e = m.element("e-MetadataAccessExpression"); + require(e.metaclass_name() == "MetadataAccessExpression", "MetadataAccessExpression: metaclass"); + require(e.element_id() == "e-MetadataAccessExpression", "MetadataAccessExpression: element_id"); + require(e.is_kind("Element"), "MetadataAccessExpression !< Element"); + require(e.is_kind("Expression"), "MetadataAccessExpression !< Expression"); + require(e.is_kind("Feature"), "MetadataAccessExpression !< Feature"); + require(e.is_kind("Namespace"), "MetadataAccessExpression !< Namespace"); + require(e.is_kind("Step"), "MetadataAccessExpression !< Step"); + require(e.is_kind("Type"), "MetadataAccessExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getReferencedElement(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "MetadataAccessExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "MetadataAccessExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "MetadataAccessExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "MetadataAccessExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "MetadataAccessExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "MetadataAccessExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "MetadataAccessExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "MetadataAccessExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "MetadataAccessExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "MetadataAccessExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MetadataAccessExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MetadataAccessExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "MetadataAccessExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "MetadataAccessExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "MetadataAccessExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "MetadataAccessExpression.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "MetadataAccessExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "MetadataAccessExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "MetadataAccessExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "MetadataAccessExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "MetadataAccessExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "MetadataAccessExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "MetadataAccessExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.metaclassFeature(), "MetadataAccessExpression.metaclassFeature()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "MetadataAccessExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "MetadataAccessExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "MetadataAccessExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "MetadataAccessExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "MetadataAccessExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "MetadataAccessExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "MetadataAccessExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "MetadataAccessExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "MetadataAccessExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "MetadataAccessExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "MetadataAccessExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "MetadataAccessExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "MetadataAccessExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "MetadataAccessExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "MetadataAccessExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "MetadataAccessExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "MetadataAccessExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "MetadataAccessExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "MetadataAccessExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "MetadataAccessExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "MetadataAccessExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "MetadataAccessExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "MetadataAccessExpression.visibleMemberships()"); +} + +static void check_MetadataDefinition(const Model& m) { + Element e = m.element("e-MetadataDefinition"); + require(e.metaclass_name() == "MetadataDefinition", "MetadataDefinition: metaclass"); + require(e.element_id() == "e-MetadataDefinition", "MetadataDefinition: element_id"); + require(e.is_kind("Class"), "MetadataDefinition !< Class"); + require(e.is_kind("Classifier"), "MetadataDefinition !< Classifier"); + require(e.is_kind("Definition"), "MetadataDefinition !< Definition"); + require(e.is_kind("Element"), "MetadataDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "MetadataDefinition !< ItemDefinition"); + require(e.is_kind("Metaclass"), "MetadataDefinition !< Metaclass"); + require(e.is_kind("Namespace"), "MetadataDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "MetadataDefinition !< OccurrenceDefinition"); + require(e.is_kind("Structure"), "MetadataDefinition !< Structure"); + require(e.is_kind("Type"), "MetadataDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "MetadataDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "MetadataDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "MetadataDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "MetadataDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "MetadataDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MetadataDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MetadataDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "MetadataDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "MetadataDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "MetadataDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "MetadataDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "MetadataDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "MetadataDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "MetadataDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "MetadataDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "MetadataDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "MetadataDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "MetadataDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "MetadataDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "MetadataDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "MetadataDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "MetadataDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "MetadataDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "MetadataDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "MetadataDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "MetadataDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "MetadataDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "MetadataDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "MetadataDefinition.visibleMemberships()"); +} + +static void check_MetadataFeature(const Model& m) { + Element e = m.element("e-MetadataFeature"); + require(e.metaclass_name() == "MetadataFeature", "MetadataFeature: metaclass"); + require(e.element_id() == "e-MetadataFeature", "MetadataFeature: element_id"); + require(e.is_kind("AnnotatingElement"), "MetadataFeature !< AnnotatingElement"); + require(e.is_kind("Element"), "MetadataFeature !< Element"); + require(e.is_kind("Feature"), "MetadataFeature !< Feature"); + require(e.is_kind("Namespace"), "MetadataFeature !< Namespace"); + require(e.is_kind("Type"), "MetadataFeature !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotation(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMetaclass(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotatingRelationship(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningAnnotatingRelationship(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "MetadataFeature.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "MetadataFeature.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "MetadataFeature.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "MetadataFeature.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "MetadataFeature.canAccess()"); + EXPECT_NIK(t.directionFor({}), "MetadataFeature.directionFor()"); + EXPECT_NIK(t.directionOf({}), "MetadataFeature.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "MetadataFeature.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "MetadataFeature.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MetadataFeature.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MetadataFeature.escapedName()"); + EXPECT_NIK(t.evaluateFeature({}), "MetadataFeature.evaluateFeature()"); + EXPECT_NIK(t.importedMemberships({}), "MetadataFeature.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "MetadataFeature.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "MetadataFeature.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "MetadataFeature.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "MetadataFeature.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "MetadataFeature.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "MetadataFeature.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "MetadataFeature.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSemantic(), "MetadataFeature.isSemantic()"); + EXPECT_NIK(t.isSyntactic(), "MetadataFeature.isSyntactic()"); + EXPECT_NIK(t.libraryNamespace(), "MetadataFeature.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "MetadataFeature.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "MetadataFeature.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "MetadataFeature.namesOf()"); + EXPECT_NIK(t.namingFeature(), "MetadataFeature.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "MetadataFeature.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "MetadataFeature.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "MetadataFeature.path()"); + EXPECT_NIK(t.qualificationOf({}), "MetadataFeature.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "MetadataFeature.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "MetadataFeature.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "MetadataFeature.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "MetadataFeature.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "MetadataFeature.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "MetadataFeature.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "MetadataFeature.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "MetadataFeature.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "MetadataFeature.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "MetadataFeature.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "MetadataFeature.supertypes()"); + EXPECT_NIK(t.syntaxElement(), "MetadataFeature.syntaxElement()"); + EXPECT_NIK(t.typingFeatures(), "MetadataFeature.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "MetadataFeature.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "MetadataFeature.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "MetadataFeature.visibleMemberships()"); +} + +static void check_MetadataUsage(const Model& m) { + Element e = m.element("e-MetadataUsage"); + require(e.metaclass_name() == "MetadataUsage", "MetadataUsage: metaclass"); + require(e.element_id() == "e-MetadataUsage", "MetadataUsage: element_id"); + require(e.is_kind("AnnotatingElement"), "MetadataUsage !< AnnotatingElement"); + require(e.is_kind("Element"), "MetadataUsage !< Element"); + require(e.is_kind("Feature"), "MetadataUsage !< Feature"); + require(e.is_kind("ItemUsage"), "MetadataUsage !< ItemUsage"); + require(e.is_kind("MetadataFeature"), "MetadataUsage !< MetadataFeature"); + require(e.is_kind("Namespace"), "MetadataUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "MetadataUsage !< OccurrenceUsage"); + require(e.is_kind("Type"), "MetadataUsage !< Type"); + require(e.is_kind("Usage"), "MetadataUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotation(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMetaclass(); + (void)t.getMetadataDefinition(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotatingRelationship(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningAnnotatingRelationship(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "MetadataUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "MetadataUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "MetadataUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "MetadataUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "MetadataUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "MetadataUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "MetadataUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "MetadataUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "MetadataUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MetadataUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MetadataUsage.escapedName()"); + EXPECT_NIK(t.evaluateFeature({}), "MetadataUsage.evaluateFeature()"); + EXPECT_NIK(t.importedMemberships({}), "MetadataUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "MetadataUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "MetadataUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "MetadataUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "MetadataUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "MetadataUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "MetadataUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "MetadataUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSemantic(), "MetadataUsage.isSemantic()"); + EXPECT_NIK(t.isSyntactic(), "MetadataUsage.isSyntactic()"); + EXPECT_NIK(t.libraryNamespace(), "MetadataUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "MetadataUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "MetadataUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "MetadataUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "MetadataUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "MetadataUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "MetadataUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "MetadataUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "MetadataUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "MetadataUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "MetadataUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "MetadataUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "MetadataUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "MetadataUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "MetadataUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "MetadataUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "MetadataUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "MetadataUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "MetadataUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "MetadataUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "MetadataUsage.supertypes()"); + EXPECT_NIK(t.syntaxElement(), "MetadataUsage.syntaxElement()"); + EXPECT_NIK(t.typingFeatures(), "MetadataUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "MetadataUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "MetadataUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "MetadataUsage.visibleMemberships()"); +} + +static void check_Multiplicity(const Model& m) { + Element e = m.element("e-Multiplicity"); + require(e.metaclass_name() == "Multiplicity", "Multiplicity: metaclass"); + require(e.element_id() == "e-Multiplicity", "Multiplicity: element_id"); + require(e.is_kind("Element"), "Multiplicity !< Element"); + require(e.is_kind("Feature"), "Multiplicity !< Feature"); + require(e.is_kind("Namespace"), "Multiplicity !< Namespace"); + require(e.is_kind("Type"), "Multiplicity !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Multiplicity.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Multiplicity.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Multiplicity.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Multiplicity.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Multiplicity.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Multiplicity.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Multiplicity.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Multiplicity.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Multiplicity.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Multiplicity.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Multiplicity.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Multiplicity.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Multiplicity.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Multiplicity.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Multiplicity.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Multiplicity.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Multiplicity.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Multiplicity.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Multiplicity.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Multiplicity.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Multiplicity.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Multiplicity.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Multiplicity.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Multiplicity.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Multiplicity.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Multiplicity.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Multiplicity.path()"); + EXPECT_NIK(t.qualificationOf({}), "Multiplicity.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Multiplicity.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Multiplicity.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Multiplicity.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Multiplicity.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Multiplicity.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Multiplicity.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Multiplicity.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Multiplicity.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Multiplicity.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Multiplicity.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Multiplicity.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Multiplicity.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Multiplicity.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Multiplicity.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Multiplicity.visibleMemberships()"); +} + +static void check_MultiplicityRange(const Model& m) { + Element e = m.element("e-MultiplicityRange"); + require(e.metaclass_name() == "MultiplicityRange", "MultiplicityRange: metaclass"); + require(e.element_id() == "e-MultiplicityRange", "MultiplicityRange: element_id"); + require(e.is_kind("Element"), "MultiplicityRange !< Element"); + require(e.is_kind("Feature"), "MultiplicityRange !< Feature"); + require(e.is_kind("Multiplicity"), "MultiplicityRange !< Multiplicity"); + require(e.is_kind("Namespace"), "MultiplicityRange !< Namespace"); + require(e.is_kind("Type"), "MultiplicityRange !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBound(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getLowerBound(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUpperBound(); + EXPECT_NIK(t.allRedefinedFeatures(), "MultiplicityRange.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "MultiplicityRange.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "MultiplicityRange.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "MultiplicityRange.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "MultiplicityRange.canAccess()"); + EXPECT_NIK(t.directionFor({}), "MultiplicityRange.directionFor()"); + EXPECT_NIK(t.directionOf({}), "MultiplicityRange.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "MultiplicityRange.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "MultiplicityRange.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "MultiplicityRange.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "MultiplicityRange.escapedName()"); + EXPECT_NIK(t.hasBounds({}, {}), "MultiplicityRange.hasBounds()"); + EXPECT_NIK(t.importedMemberships({}), "MultiplicityRange.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "MultiplicityRange.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "MultiplicityRange.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "MultiplicityRange.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "MultiplicityRange.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "MultiplicityRange.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "MultiplicityRange.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "MultiplicityRange.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "MultiplicityRange.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "MultiplicityRange.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "MultiplicityRange.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "MultiplicityRange.namesOf()"); + EXPECT_NIK(t.namingFeature(), "MultiplicityRange.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "MultiplicityRange.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "MultiplicityRange.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "MultiplicityRange.path()"); + EXPECT_NIK(t.qualificationOf({}), "MultiplicityRange.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "MultiplicityRange.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "MultiplicityRange.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "MultiplicityRange.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "MultiplicityRange.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "MultiplicityRange.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "MultiplicityRange.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "MultiplicityRange.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "MultiplicityRange.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "MultiplicityRange.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "MultiplicityRange.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "MultiplicityRange.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "MultiplicityRange.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "MultiplicityRange.unqualifiedNameOf()"); + EXPECT_NIK(t.valueOf({}), "MultiplicityRange.valueOf()"); + EXPECT_NIK(t.visibilityOf({}), "MultiplicityRange.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "MultiplicityRange.visibleMemberships()"); +} + +static void check_Namespace(const Model& m) { + Element e = m.element("e-Namespace"); + require(e.metaclass_name() == "Namespace", "Namespace: metaclass"); + require(e.element_id() == "e-Namespace", "Namespace: element_id"); + require(e.is_kind("Element"), "Namespace !< Element"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getImportedMembership(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedImport(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Namespace.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Namespace.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Namespace.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Namespace.importedMemberships()"); + EXPECT_NIK(t.libraryNamespace(), "Namespace.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Namespace.membershipsOfVisibility()"); + EXPECT_NIK(t.namesOf({}), "Namespace.namesOf()"); + EXPECT_NIK(t.path(), "Namespace.path()"); + EXPECT_NIK(t.qualificationOf({}), "Namespace.qualificationOf()"); + EXPECT_NIK(t.resolve({}), "Namespace.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Namespace.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Namespace.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Namespace.resolveVisible()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Namespace.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Namespace.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Namespace.visibleMemberships()"); +} + +static void check_NamespaceExpose(const Model& m) { + Element e = m.element("e-NamespaceExpose"); + require(e.metaclass_name() == "NamespaceExpose", "NamespaceExpose: metaclass"); + require(e.element_id() == "e-NamespaceExpose", "NamespaceExpose: element_id"); + require(e.is_kind("Element"), "NamespaceExpose !< Element"); + require(e.is_kind("Expose"), "NamespaceExpose !< Expose"); + require(e.is_kind("Import"), "NamespaceExpose !< Import"); + require(e.is_kind("NamespaceImport"), "NamespaceExpose !< NamespaceImport"); + require(e.is_kind("Relationship"), "NamespaceExpose !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getImportOwningNamespace(); + (void)t.getImportedElement(); + (void)t.getImportedNamespace(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsImportAll(); + (void)t.getIsLibraryElement(); + (void)t.getIsRecursive(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "NamespaceExpose.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "NamespaceExpose.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "NamespaceExpose.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "NamespaceExpose.importedMemberships()"); + EXPECT_NIK(t.libraryNamespace(), "NamespaceExpose.libraryNamespace()"); + EXPECT_NIK(t.path(), "NamespaceExpose.path()"); +} + +static void check_NamespaceImport(const Model& m) { + Element e = m.element("e-NamespaceImport"); + require(e.metaclass_name() == "NamespaceImport", "NamespaceImport: metaclass"); + require(e.element_id() == "e-NamespaceImport", "NamespaceImport: element_id"); + require(e.is_kind("Element"), "NamespaceImport !< Element"); + require(e.is_kind("Import"), "NamespaceImport !< Import"); + require(e.is_kind("Relationship"), "NamespaceImport !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getImportOwningNamespace(); + (void)t.getImportedElement(); + (void)t.getImportedNamespace(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsImportAll(); + (void)t.getIsLibraryElement(); + (void)t.getIsRecursive(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "NamespaceImport.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "NamespaceImport.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "NamespaceImport.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "NamespaceImport.importedMemberships()"); + EXPECT_NIK(t.libraryNamespace(), "NamespaceImport.libraryNamespace()"); + EXPECT_NIK(t.path(), "NamespaceImport.path()"); +} + +static void check_NullExpression(const Model& m) { + Element e = m.element("e-NullExpression"); + require(e.metaclass_name() == "NullExpression", "NullExpression: metaclass"); + require(e.element_id() == "e-NullExpression", "NullExpression: element_id"); + require(e.is_kind("Element"), "NullExpression !< Element"); + require(e.is_kind("Expression"), "NullExpression !< Expression"); + require(e.is_kind("Feature"), "NullExpression !< Feature"); + require(e.is_kind("Namespace"), "NullExpression !< Namespace"); + require(e.is_kind("Step"), "NullExpression !< Step"); + require(e.is_kind("Type"), "NullExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "NullExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "NullExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "NullExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "NullExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "NullExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "NullExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "NullExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "NullExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "NullExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "NullExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "NullExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "NullExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "NullExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "NullExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "NullExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "NullExpression.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "NullExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "NullExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "NullExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "NullExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "NullExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "NullExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "NullExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "NullExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "NullExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "NullExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "NullExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "NullExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "NullExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "NullExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "NullExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "NullExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "NullExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "NullExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "NullExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "NullExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "NullExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "NullExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "NullExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "NullExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "NullExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "NullExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "NullExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "NullExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "NullExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "NullExpression.visibleMemberships()"); +} + +static void check_ObjectiveMembership(const Model& m) { + Element e = m.element("e-ObjectiveMembership"); + require(e.metaclass_name() == "ObjectiveMembership", "ObjectiveMembership: metaclass"); + require(e.element_id() == "e-ObjectiveMembership", "ObjectiveMembership: element_id"); + require(e.is_kind("Element"), "ObjectiveMembership !< Element"); + require(e.is_kind("FeatureMembership"), "ObjectiveMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "ObjectiveMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ObjectiveMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "ObjectiveMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedObjectiveRequirement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ObjectiveMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ObjectiveMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ObjectiveMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ObjectiveMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ObjectiveMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "ObjectiveMembership.path()"); +} + +static void check_OccurrenceDefinition(const Model& m) { + Element e = m.element("e-OccurrenceDefinition"); + require(e.metaclass_name() == "OccurrenceDefinition", "OccurrenceDefinition: metaclass"); + require(e.element_id() == "e-OccurrenceDefinition", "OccurrenceDefinition: element_id"); + require(e.is_kind("Class"), "OccurrenceDefinition !< Class"); + require(e.is_kind("Classifier"), "OccurrenceDefinition !< Classifier"); + require(e.is_kind("Definition"), "OccurrenceDefinition !< Definition"); + require(e.is_kind("Element"), "OccurrenceDefinition !< Element"); + require(e.is_kind("Namespace"), "OccurrenceDefinition !< Namespace"); + require(e.is_kind("Type"), "OccurrenceDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "OccurrenceDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "OccurrenceDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "OccurrenceDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "OccurrenceDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "OccurrenceDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "OccurrenceDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "OccurrenceDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "OccurrenceDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "OccurrenceDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "OccurrenceDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "OccurrenceDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "OccurrenceDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "OccurrenceDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "OccurrenceDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "OccurrenceDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "OccurrenceDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "OccurrenceDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "OccurrenceDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "OccurrenceDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "OccurrenceDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "OccurrenceDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "OccurrenceDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "OccurrenceDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "OccurrenceDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "OccurrenceDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "OccurrenceDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "OccurrenceDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "OccurrenceDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "OccurrenceDefinition.visibleMemberships()"); +} + +static void check_OccurrenceUsage(const Model& m) { + Element e = m.element("e-OccurrenceUsage"); + require(e.metaclass_name() == "OccurrenceUsage", "OccurrenceUsage: metaclass"); + require(e.element_id() == "e-OccurrenceUsage", "OccurrenceUsage: element_id"); + require(e.is_kind("Element"), "OccurrenceUsage !< Element"); + require(e.is_kind("Feature"), "OccurrenceUsage !< Feature"); + require(e.is_kind("Namespace"), "OccurrenceUsage !< Namespace"); + require(e.is_kind("Type"), "OccurrenceUsage !< Type"); + require(e.is_kind("Usage"), "OccurrenceUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "OccurrenceUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "OccurrenceUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "OccurrenceUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "OccurrenceUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "OccurrenceUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "OccurrenceUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "OccurrenceUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "OccurrenceUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "OccurrenceUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "OccurrenceUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "OccurrenceUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "OccurrenceUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "OccurrenceUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "OccurrenceUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "OccurrenceUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "OccurrenceUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "OccurrenceUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "OccurrenceUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "OccurrenceUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "OccurrenceUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "OccurrenceUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "OccurrenceUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "OccurrenceUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "OccurrenceUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "OccurrenceUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "OccurrenceUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "OccurrenceUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "OccurrenceUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "OccurrenceUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "OccurrenceUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "OccurrenceUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "OccurrenceUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "OccurrenceUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "OccurrenceUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "OccurrenceUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "OccurrenceUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "OccurrenceUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "OccurrenceUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "OccurrenceUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "OccurrenceUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "OccurrenceUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "OccurrenceUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "OccurrenceUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "OccurrenceUsage.visibleMemberships()"); +} + +static void check_OperatorExpression(const Model& m) { + Element e = m.element("e-OperatorExpression"); + require(e.metaclass_name() == "OperatorExpression", "OperatorExpression: metaclass"); + require(e.element_id() == "e-OperatorExpression", "OperatorExpression: element_id"); + require(e.is_kind("Element"), "OperatorExpression !< Element"); + require(e.is_kind("Expression"), "OperatorExpression !< Expression"); + require(e.is_kind("Feature"), "OperatorExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "OperatorExpression !< InstantiationExpression"); + require(e.is_kind("InvocationExpression"), "OperatorExpression !< InvocationExpression"); + require(e.is_kind("Namespace"), "OperatorExpression !< Namespace"); + require(e.is_kind("Step"), "OperatorExpression !< Step"); + require(e.is_kind("Type"), "OperatorExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOperator(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "OperatorExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "OperatorExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "OperatorExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "OperatorExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "OperatorExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "OperatorExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "OperatorExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "OperatorExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "OperatorExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "OperatorExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "OperatorExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "OperatorExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "OperatorExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "OperatorExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "OperatorExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "OperatorExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "OperatorExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "OperatorExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "OperatorExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "OperatorExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "OperatorExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "OperatorExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "OperatorExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "OperatorExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "OperatorExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "OperatorExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "OperatorExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "OperatorExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "OperatorExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "OperatorExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "OperatorExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "OperatorExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "OperatorExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "OperatorExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "OperatorExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "OperatorExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "OperatorExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "OperatorExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "OperatorExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "OperatorExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "OperatorExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "OperatorExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "OperatorExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "OperatorExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "OperatorExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "OperatorExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "OperatorExpression.visibleMemberships()"); +} + +static void check_OwningMembership(const Model& m) { + Element e = m.element("e-OwningMembership"); + require(e.metaclass_name() == "OwningMembership", "OwningMembership: metaclass"); + require(e.element_id() == "e-OwningMembership", "OwningMembership: element_id"); + require(e.is_kind("Element"), "OwningMembership !< Element"); + require(e.is_kind("Membership"), "OwningMembership !< Membership"); + require(e.is_kind("Relationship"), "OwningMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "OwningMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "OwningMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "OwningMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "OwningMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "OwningMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "OwningMembership.path()"); +} + +static void check_Package(const Model& m) { + Element e = m.element("e-Package"); + require(e.metaclass_name() == "Package", "Package: metaclass"); + require(e.element_id() == "e-Package", "Package: element_id"); + require(e.is_kind("Element"), "Package !< Element"); + require(e.is_kind("Namespace"), "Package !< Namespace"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getFilterCondition(); + (void)t.getImportedMembership(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedImport(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Package.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Package.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Package.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Package.importedMemberships()"); + EXPECT_NIK(t.includeAsMember({}), "Package.includeAsMember()"); + EXPECT_NIK(t.libraryNamespace(), "Package.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Package.membershipsOfVisibility()"); + EXPECT_NIK(t.namesOf({}), "Package.namesOf()"); + EXPECT_NIK(t.path(), "Package.path()"); + EXPECT_NIK(t.qualificationOf({}), "Package.qualificationOf()"); + EXPECT_NIK(t.resolve({}), "Package.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Package.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Package.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Package.resolveVisible()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Package.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Package.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Package.visibleMemberships()"); +} + +static void check_ParameterMembership(const Model& m) { + Element e = m.element("e-ParameterMembership"); + require(e.metaclass_name() == "ParameterMembership", "ParameterMembership: metaclass"); + require(e.element_id() == "e-ParameterMembership", "ParameterMembership: element_id"); + require(e.is_kind("Element"), "ParameterMembership !< Element"); + require(e.is_kind("FeatureMembership"), "ParameterMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "ParameterMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ParameterMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "ParameterMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberParameter(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ParameterMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ParameterMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ParameterMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ParameterMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ParameterMembership.libraryNamespace()"); + EXPECT_NIK(t.parameterDirection(), "ParameterMembership.parameterDirection()"); + EXPECT_NIK(t.path(), "ParameterMembership.path()"); +} + +static void check_PartDefinition(const Model& m) { + Element e = m.element("e-PartDefinition"); + require(e.metaclass_name() == "PartDefinition", "PartDefinition: metaclass"); + require(e.element_id() == "e-PartDefinition", "PartDefinition: element_id"); + require(e.is_kind("Class"), "PartDefinition !< Class"); + require(e.is_kind("Classifier"), "PartDefinition !< Classifier"); + require(e.is_kind("Definition"), "PartDefinition !< Definition"); + require(e.is_kind("Element"), "PartDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "PartDefinition !< ItemDefinition"); + require(e.is_kind("Namespace"), "PartDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "PartDefinition !< OccurrenceDefinition"); + require(e.is_kind("Structure"), "PartDefinition !< Structure"); + require(e.is_kind("Type"), "PartDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "PartDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "PartDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "PartDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "PartDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "PartDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PartDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PartDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "PartDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "PartDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "PartDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "PartDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "PartDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "PartDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "PartDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "PartDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "PartDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "PartDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "PartDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "PartDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "PartDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "PartDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "PartDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "PartDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "PartDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "PartDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "PartDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "PartDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "PartDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "PartDefinition.visibleMemberships()"); +} + +static void check_PartUsage(const Model& m) { + Element e = m.element("e-PartUsage"); + require(e.metaclass_name() == "PartUsage", "PartUsage: metaclass"); + require(e.element_id() == "e-PartUsage", "PartUsage: element_id"); + require(e.is_kind("Element"), "PartUsage !< Element"); + require(e.is_kind("Feature"), "PartUsage !< Feature"); + require(e.is_kind("ItemUsage"), "PartUsage !< ItemUsage"); + require(e.is_kind("Namespace"), "PartUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "PartUsage !< OccurrenceUsage"); + require(e.is_kind("Type"), "PartUsage !< Type"); + require(e.is_kind("Usage"), "PartUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPartDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "PartUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "PartUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "PartUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "PartUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "PartUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "PartUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "PartUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "PartUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "PartUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PartUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PartUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "PartUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "PartUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "PartUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "PartUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "PartUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "PartUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "PartUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "PartUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "PartUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "PartUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "PartUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "PartUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "PartUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "PartUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "PartUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "PartUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "PartUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "PartUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "PartUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "PartUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "PartUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "PartUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "PartUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "PartUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "PartUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "PartUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "PartUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "PartUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "PartUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "PartUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "PartUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "PartUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "PartUsage.visibleMemberships()"); +} + +static void check_PayloadFeature(const Model& m) { + Element e = m.element("e-PayloadFeature"); + require(e.metaclass_name() == "PayloadFeature", "PayloadFeature: metaclass"); + require(e.element_id() == "e-PayloadFeature", "PayloadFeature: element_id"); + require(e.is_kind("Element"), "PayloadFeature !< Element"); + require(e.is_kind("Feature"), "PayloadFeature !< Feature"); + require(e.is_kind("Namespace"), "PayloadFeature !< Namespace"); + require(e.is_kind("Type"), "PayloadFeature !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "PayloadFeature.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "PayloadFeature.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "PayloadFeature.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "PayloadFeature.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "PayloadFeature.canAccess()"); + EXPECT_NIK(t.directionFor({}), "PayloadFeature.directionFor()"); + EXPECT_NIK(t.directionOf({}), "PayloadFeature.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "PayloadFeature.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "PayloadFeature.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PayloadFeature.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PayloadFeature.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "PayloadFeature.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "PayloadFeature.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "PayloadFeature.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "PayloadFeature.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "PayloadFeature.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "PayloadFeature.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "PayloadFeature.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "PayloadFeature.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "PayloadFeature.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "PayloadFeature.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "PayloadFeature.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "PayloadFeature.namesOf()"); + EXPECT_NIK(t.namingFeature(), "PayloadFeature.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "PayloadFeature.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "PayloadFeature.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "PayloadFeature.path()"); + EXPECT_NIK(t.qualificationOf({}), "PayloadFeature.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "PayloadFeature.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "PayloadFeature.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "PayloadFeature.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "PayloadFeature.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "PayloadFeature.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "PayloadFeature.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "PayloadFeature.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "PayloadFeature.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "PayloadFeature.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "PayloadFeature.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "PayloadFeature.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "PayloadFeature.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "PayloadFeature.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "PayloadFeature.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "PayloadFeature.visibleMemberships()"); +} + +static void check_PerformActionUsage(const Model& m) { + Element e = m.element("e-PerformActionUsage"); + require(e.metaclass_name() == "PerformActionUsage", "PerformActionUsage: metaclass"); + require(e.element_id() == "e-PerformActionUsage", "PerformActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "PerformActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "PerformActionUsage !< Element"); + require(e.is_kind("EventOccurrenceUsage"), "PerformActionUsage !< EventOccurrenceUsage"); + require(e.is_kind("Feature"), "PerformActionUsage !< Feature"); + require(e.is_kind("Namespace"), "PerformActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "PerformActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "PerformActionUsage !< Step"); + require(e.is_kind("Type"), "PerformActionUsage !< Type"); + require(e.is_kind("Usage"), "PerformActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getEventOccurrence(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPerformedAction(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "PerformActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "PerformActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "PerformActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "PerformActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "PerformActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "PerformActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "PerformActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "PerformActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "PerformActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "PerformActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PerformActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PerformActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "PerformActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "PerformActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "PerformActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "PerformActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "PerformActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "PerformActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "PerformActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "PerformActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "PerformActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "PerformActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "PerformActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "PerformActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "PerformActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "PerformActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "PerformActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "PerformActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "PerformActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "PerformActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "PerformActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "PerformActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "PerformActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "PerformActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "PerformActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "PerformActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "PerformActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "PerformActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "PerformActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "PerformActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "PerformActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "PerformActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "PerformActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "PerformActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "PerformActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "PerformActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "PerformActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "PerformActionUsage.visibleMemberships()"); +} + +static void check_PortConjugation(const Model& m) { + Element e = m.element("e-PortConjugation"); + require(e.metaclass_name() == "PortConjugation", "PortConjugation: metaclass"); + require(e.element_id() == "e-PortConjugation", "PortConjugation: element_id"); + require(e.is_kind("Conjugation"), "PortConjugation !< Conjugation"); + require(e.is_kind("Element"), "PortConjugation !< Element"); + require(e.is_kind("Relationship"), "PortConjugation !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getConjugatedPortDefinition(); + (void)t.getConjugatedType(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOriginalPortDefinition(); + (void)t.getOriginalType(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "PortConjugation.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PortConjugation.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PortConjugation.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "PortConjugation.libraryNamespace()"); + EXPECT_NIK(t.path(), "PortConjugation.path()"); +} + +static void check_PortDefinition(const Model& m) { + Element e = m.element("e-PortDefinition"); + require(e.metaclass_name() == "PortDefinition", "PortDefinition: metaclass"); + require(e.element_id() == "e-PortDefinition", "PortDefinition: element_id"); + require(e.is_kind("Class"), "PortDefinition !< Class"); + require(e.is_kind("Classifier"), "PortDefinition !< Classifier"); + require(e.is_kind("Definition"), "PortDefinition !< Definition"); + require(e.is_kind("Element"), "PortDefinition !< Element"); + require(e.is_kind("Namespace"), "PortDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "PortDefinition !< OccurrenceDefinition"); + require(e.is_kind("Structure"), "PortDefinition !< Structure"); + require(e.is_kind("Type"), "PortDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getConjugatedPortDefinition(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "PortDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "PortDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "PortDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "PortDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "PortDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PortDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PortDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "PortDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "PortDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "PortDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "PortDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "PortDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "PortDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "PortDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "PortDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "PortDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "PortDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "PortDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "PortDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "PortDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "PortDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "PortDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "PortDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "PortDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "PortDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "PortDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "PortDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "PortDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "PortDefinition.visibleMemberships()"); +} + +static void check_PortUsage(const Model& m) { + Element e = m.element("e-PortUsage"); + require(e.metaclass_name() == "PortUsage", "PortUsage: metaclass"); + require(e.element_id() == "e-PortUsage", "PortUsage: element_id"); + require(e.is_kind("Element"), "PortUsage !< Element"); + require(e.is_kind("Feature"), "PortUsage !< Feature"); + require(e.is_kind("Namespace"), "PortUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "PortUsage !< OccurrenceUsage"); + require(e.is_kind("Type"), "PortUsage !< Type"); + require(e.is_kind("Usage"), "PortUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPortDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "PortUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "PortUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "PortUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "PortUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "PortUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "PortUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "PortUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "PortUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "PortUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "PortUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "PortUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "PortUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "PortUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "PortUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "PortUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "PortUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "PortUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "PortUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "PortUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "PortUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "PortUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "PortUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "PortUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "PortUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "PortUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "PortUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "PortUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "PortUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "PortUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "PortUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "PortUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "PortUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "PortUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "PortUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "PortUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "PortUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "PortUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "PortUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "PortUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "PortUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "PortUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "PortUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "PortUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "PortUsage.visibleMemberships()"); +} + +static void check_Predicate(const Model& m) { + Element e = m.element("e-Predicate"); + require(e.metaclass_name() == "Predicate", "Predicate: metaclass"); + require(e.element_id() == "e-Predicate", "Predicate: element_id"); + require(e.is_kind("Behavior"), "Predicate !< Behavior"); + require(e.is_kind("Class"), "Predicate !< Class"); + require(e.is_kind("Classifier"), "Predicate !< Classifier"); + require(e.is_kind("Element"), "Predicate !< Element"); + require(e.is_kind("Function"), "Predicate !< Function"); + require(e.is_kind("Namespace"), "Predicate !< Namespace"); + require(e.is_kind("Type"), "Predicate !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Predicate.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Predicate.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Predicate.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Predicate.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Predicate.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Predicate.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Predicate.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Predicate.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Predicate.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Predicate.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Predicate.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Predicate.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Predicate.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Predicate.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Predicate.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Predicate.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Predicate.path()"); + EXPECT_NIK(t.qualificationOf({}), "Predicate.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Predicate.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Predicate.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Predicate.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Predicate.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Predicate.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Predicate.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Predicate.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Predicate.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Predicate.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Predicate.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Predicate.visibleMemberships()"); +} + +static void check_Redefinition(const Model& m) { + Element e = m.element("e-Redefinition"); + require(e.metaclass_name() == "Redefinition", "Redefinition: metaclass"); + require(e.element_id() == "e-Redefinition", "Redefinition: element_id"); + require(e.is_kind("Element"), "Redefinition !< Element"); + require(e.is_kind("Relationship"), "Redefinition !< Relationship"); + require(e.is_kind("Specialization"), "Redefinition !< Specialization"); + require(e.is_kind("Subsetting"), "Redefinition !< Subsetting"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRedefinedFeature(); + (void)t.getRedefiningFeature(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getSubsettedFeature(); + (void)t.getSubsettingFeature(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Redefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Redefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Redefinition.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Redefinition.libraryNamespace()"); + EXPECT_NIK(t.path(), "Redefinition.path()"); +} + +static void check_ReferenceSubsetting(const Model& m) { + Element e = m.element("e-ReferenceSubsetting"); + require(e.metaclass_name() == "ReferenceSubsetting", "ReferenceSubsetting: metaclass"); + require(e.element_id() == "e-ReferenceSubsetting", "ReferenceSubsetting: element_id"); + require(e.is_kind("Element"), "ReferenceSubsetting !< Element"); + require(e.is_kind("Relationship"), "ReferenceSubsetting !< Relationship"); + require(e.is_kind("Specialization"), "ReferenceSubsetting !< Specialization"); + require(e.is_kind("Subsetting"), "ReferenceSubsetting !< Subsetting"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getReferencedFeature(); + (void)t.getReferencingFeature(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getSubsettedFeature(); + (void)t.getSubsettingFeature(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "ReferenceSubsetting.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ReferenceSubsetting.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ReferenceSubsetting.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "ReferenceSubsetting.libraryNamespace()"); + EXPECT_NIK(t.path(), "ReferenceSubsetting.path()"); +} + +static void check_ReferenceUsage(const Model& m) { + Element e = m.element("e-ReferenceUsage"); + require(e.metaclass_name() == "ReferenceUsage", "ReferenceUsage: metaclass"); + require(e.element_id() == "e-ReferenceUsage", "ReferenceUsage: element_id"); + require(e.is_kind("Element"), "ReferenceUsage !< Element"); + require(e.is_kind("Feature"), "ReferenceUsage !< Feature"); + require(e.is_kind("Namespace"), "ReferenceUsage !< Namespace"); + require(e.is_kind("Type"), "ReferenceUsage !< Type"); + require(e.is_kind("Usage"), "ReferenceUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "ReferenceUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ReferenceUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ReferenceUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ReferenceUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ReferenceUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ReferenceUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ReferenceUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ReferenceUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ReferenceUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ReferenceUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ReferenceUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ReferenceUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ReferenceUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ReferenceUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ReferenceUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ReferenceUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ReferenceUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ReferenceUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ReferenceUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ReferenceUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ReferenceUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ReferenceUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ReferenceUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ReferenceUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ReferenceUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ReferenceUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ReferenceUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ReferenceUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ReferenceUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ReferenceUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ReferenceUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ReferenceUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ReferenceUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ReferenceUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ReferenceUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ReferenceUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ReferenceUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ReferenceUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ReferenceUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ReferenceUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ReferenceUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ReferenceUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ReferenceUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ReferenceUsage.visibleMemberships()"); +} + +static void check_RenderingDefinition(const Model& m) { + Element e = m.element("e-RenderingDefinition"); + require(e.metaclass_name() == "RenderingDefinition", "RenderingDefinition: metaclass"); + require(e.element_id() == "e-RenderingDefinition", "RenderingDefinition: element_id"); + require(e.is_kind("Class"), "RenderingDefinition !< Class"); + require(e.is_kind("Classifier"), "RenderingDefinition !< Classifier"); + require(e.is_kind("Definition"), "RenderingDefinition !< Definition"); + require(e.is_kind("Element"), "RenderingDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "RenderingDefinition !< ItemDefinition"); + require(e.is_kind("Namespace"), "RenderingDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "RenderingDefinition !< OccurrenceDefinition"); + require(e.is_kind("PartDefinition"), "RenderingDefinition !< PartDefinition"); + require(e.is_kind("Structure"), "RenderingDefinition !< Structure"); + require(e.is_kind("Type"), "RenderingDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRendering(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "RenderingDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "RenderingDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "RenderingDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "RenderingDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "RenderingDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "RenderingDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "RenderingDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "RenderingDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "RenderingDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "RenderingDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "RenderingDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "RenderingDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "RenderingDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "RenderingDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "RenderingDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "RenderingDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "RenderingDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "RenderingDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "RenderingDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "RenderingDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "RenderingDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "RenderingDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "RenderingDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "RenderingDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "RenderingDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "RenderingDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "RenderingDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "RenderingDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "RenderingDefinition.visibleMemberships()"); +} + +static void check_RenderingUsage(const Model& m) { + Element e = m.element("e-RenderingUsage"); + require(e.metaclass_name() == "RenderingUsage", "RenderingUsage: metaclass"); + require(e.element_id() == "e-RenderingUsage", "RenderingUsage: element_id"); + require(e.is_kind("Element"), "RenderingUsage !< Element"); + require(e.is_kind("Feature"), "RenderingUsage !< Feature"); + require(e.is_kind("ItemUsage"), "RenderingUsage !< ItemUsage"); + require(e.is_kind("Namespace"), "RenderingUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "RenderingUsage !< OccurrenceUsage"); + require(e.is_kind("PartUsage"), "RenderingUsage !< PartUsage"); + require(e.is_kind("Type"), "RenderingUsage !< Type"); + require(e.is_kind("Usage"), "RenderingUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPartDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getRenderingDefinition(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "RenderingUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "RenderingUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "RenderingUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "RenderingUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "RenderingUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "RenderingUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "RenderingUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "RenderingUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "RenderingUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "RenderingUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "RenderingUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "RenderingUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "RenderingUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "RenderingUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "RenderingUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "RenderingUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "RenderingUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "RenderingUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "RenderingUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "RenderingUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "RenderingUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "RenderingUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "RenderingUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "RenderingUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "RenderingUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "RenderingUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "RenderingUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "RenderingUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "RenderingUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "RenderingUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "RenderingUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "RenderingUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "RenderingUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "RenderingUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "RenderingUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "RenderingUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "RenderingUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "RenderingUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "RenderingUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "RenderingUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "RenderingUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "RenderingUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "RenderingUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "RenderingUsage.visibleMemberships()"); +} + +static void check_RequirementConstraintMembership(const Model& m) { + Element e = m.element("e-RequirementConstraintMembership"); + require(e.metaclass_name() == "RequirementConstraintMembership", "RequirementConstraintMembership: metaclass"); + require(e.element_id() == "e-RequirementConstraintMembership", "RequirementConstraintMembership: element_id"); + require(e.is_kind("Element"), "RequirementConstraintMembership !< Element"); + require(e.is_kind("FeatureMembership"), "RequirementConstraintMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "RequirementConstraintMembership !< Membership"); + require(e.is_kind("OwningMembership"), "RequirementConstraintMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "RequirementConstraintMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getKind(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getReferencedConstraint(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "RequirementConstraintMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "RequirementConstraintMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "RequirementConstraintMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "RequirementConstraintMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "RequirementConstraintMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "RequirementConstraintMembership.path()"); +} + +static void check_RequirementDefinition(const Model& m) { + Element e = m.element("e-RequirementDefinition"); + require(e.metaclass_name() == "RequirementDefinition", "RequirementDefinition: metaclass"); + require(e.element_id() == "e-RequirementDefinition", "RequirementDefinition: element_id"); + require(e.is_kind("Behavior"), "RequirementDefinition !< Behavior"); + require(e.is_kind("Class"), "RequirementDefinition !< Class"); + require(e.is_kind("Classifier"), "RequirementDefinition !< Classifier"); + require(e.is_kind("ConstraintDefinition"), "RequirementDefinition !< ConstraintDefinition"); + require(e.is_kind("Definition"), "RequirementDefinition !< Definition"); + require(e.is_kind("Element"), "RequirementDefinition !< Element"); + require(e.is_kind("Function"), "RequirementDefinition !< Function"); + require(e.is_kind("Namespace"), "RequirementDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "RequirementDefinition !< OccurrenceDefinition"); + require(e.is_kind("Predicate"), "RequirementDefinition !< Predicate"); + require(e.is_kind("Type"), "RequirementDefinition !< Type"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssumedConstraint(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFramedConcern(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "RequirementDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "RequirementDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "RequirementDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "RequirementDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "RequirementDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "RequirementDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "RequirementDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "RequirementDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "RequirementDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "RequirementDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "RequirementDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "RequirementDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "RequirementDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "RequirementDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "RequirementDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "RequirementDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "RequirementDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "RequirementDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "RequirementDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "RequirementDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "RequirementDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "RequirementDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "RequirementDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "RequirementDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "RequirementDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "RequirementDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "RequirementDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "RequirementDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "RequirementDefinition.visibleMemberships()"); +} + +static void check_RequirementUsage(const Model& m) { + Element e = m.element("e-RequirementUsage"); + require(e.metaclass_name() == "RequirementUsage", "RequirementUsage: metaclass"); + require(e.element_id() == "e-RequirementUsage", "RequirementUsage: element_id"); + require(e.is_kind("BooleanExpression"), "RequirementUsage !< BooleanExpression"); + require(e.is_kind("ConstraintUsage"), "RequirementUsage !< ConstraintUsage"); + require(e.is_kind("Element"), "RequirementUsage !< Element"); + require(e.is_kind("Expression"), "RequirementUsage !< Expression"); + require(e.is_kind("Feature"), "RequirementUsage !< Feature"); + require(e.is_kind("Namespace"), "RequirementUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "RequirementUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "RequirementUsage !< Step"); + require(e.is_kind("Type"), "RequirementUsage !< Type"); + require(e.is_kind("Usage"), "RequirementUsage !< Usage"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssumedConstraint(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConstraintDefinition(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFramedConcern(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getRequirementDefinition(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "RequirementUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "RequirementUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "RequirementUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "RequirementUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "RequirementUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "RequirementUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "RequirementUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "RequirementUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "RequirementUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "RequirementUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "RequirementUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "RequirementUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "RequirementUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "RequirementUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "RequirementUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "RequirementUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "RequirementUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "RequirementUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "RequirementUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "RequirementUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "RequirementUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "RequirementUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "RequirementUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "RequirementUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "RequirementUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "RequirementUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "RequirementUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "RequirementUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "RequirementUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "RequirementUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "RequirementUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "RequirementUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "RequirementUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "RequirementUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "RequirementUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "RequirementUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "RequirementUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "RequirementUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "RequirementUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "RequirementUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "RequirementUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "RequirementUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "RequirementUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "RequirementUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "RequirementUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "RequirementUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "RequirementUsage.visibleMemberships()"); +} + +static void check_RequirementVerificationMembership(const Model& m) { + Element e = m.element("e-RequirementVerificationMembership"); + require(e.metaclass_name() == "RequirementVerificationMembership", "RequirementVerificationMembership: metaclass"); + require(e.element_id() == "e-RequirementVerificationMembership", "RequirementVerificationMembership: element_id"); + require(e.is_kind("Element"), "RequirementVerificationMembership !< Element"); + require(e.is_kind("FeatureMembership"), "RequirementVerificationMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "RequirementVerificationMembership !< Membership"); + require(e.is_kind("OwningMembership"), "RequirementVerificationMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "RequirementVerificationMembership !< Relationship"); + require(e.is_kind("RequirementConstraintMembership"), "RequirementVerificationMembership !< RequirementConstraintMembership"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getKind(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRequirement(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getReferencedConstraint(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVerifiedRequirement(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "RequirementVerificationMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "RequirementVerificationMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "RequirementVerificationMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "RequirementVerificationMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "RequirementVerificationMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "RequirementVerificationMembership.path()"); +} + +static void check_ResultExpressionMembership(const Model& m) { + Element e = m.element("e-ResultExpressionMembership"); + require(e.metaclass_name() == "ResultExpressionMembership", "ResultExpressionMembership: metaclass"); + require(e.element_id() == "e-ResultExpressionMembership", "ResultExpressionMembership: element_id"); + require(e.is_kind("Element"), "ResultExpressionMembership !< Element"); + require(e.is_kind("FeatureMembership"), "ResultExpressionMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "ResultExpressionMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ResultExpressionMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "ResultExpressionMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedResultExpression(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ResultExpressionMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ResultExpressionMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ResultExpressionMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ResultExpressionMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ResultExpressionMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "ResultExpressionMembership.path()"); +} + +static void check_ReturnParameterMembership(const Model& m) { + Element e = m.element("e-ReturnParameterMembership"); + require(e.metaclass_name() == "ReturnParameterMembership", "ReturnParameterMembership: metaclass"); + require(e.element_id() == "e-ReturnParameterMembership", "ReturnParameterMembership: element_id"); + require(e.is_kind("Element"), "ReturnParameterMembership !< Element"); + require(e.is_kind("FeatureMembership"), "ReturnParameterMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "ReturnParameterMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ReturnParameterMembership !< OwningMembership"); + require(e.is_kind("ParameterMembership"), "ReturnParameterMembership !< ParameterMembership"); + require(e.is_kind("Relationship"), "ReturnParameterMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberParameter(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ReturnParameterMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ReturnParameterMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ReturnParameterMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ReturnParameterMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ReturnParameterMembership.libraryNamespace()"); + EXPECT_NIK(t.parameterDirection(), "ReturnParameterMembership.parameterDirection()"); + EXPECT_NIK(t.path(), "ReturnParameterMembership.path()"); +} + +static void check_SatisfyRequirementUsage(const Model& m) { + Element e = m.element("e-SatisfyRequirementUsage"); + require(e.metaclass_name() == "SatisfyRequirementUsage", "SatisfyRequirementUsage: metaclass"); + require(e.element_id() == "e-SatisfyRequirementUsage", "SatisfyRequirementUsage: element_id"); + require(e.is_kind("AssertConstraintUsage"), "SatisfyRequirementUsage !< AssertConstraintUsage"); + require(e.is_kind("BooleanExpression"), "SatisfyRequirementUsage !< BooleanExpression"); + require(e.is_kind("ConstraintUsage"), "SatisfyRequirementUsage !< ConstraintUsage"); + require(e.is_kind("Element"), "SatisfyRequirementUsage !< Element"); + require(e.is_kind("Expression"), "SatisfyRequirementUsage !< Expression"); + require(e.is_kind("Feature"), "SatisfyRequirementUsage !< Feature"); + require(e.is_kind("Invariant"), "SatisfyRequirementUsage !< Invariant"); + require(e.is_kind("Namespace"), "SatisfyRequirementUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "SatisfyRequirementUsage !< OccurrenceUsage"); + require(e.is_kind("RequirementUsage"), "SatisfyRequirementUsage !< RequirementUsage"); + require(e.is_kind("Step"), "SatisfyRequirementUsage !< Step"); + require(e.is_kind("Type"), "SatisfyRequirementUsage !< Type"); + require(e.is_kind("Usage"), "SatisfyRequirementUsage !< Usage"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssertedConstraint(); + (void)t.getAssumedConstraint(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConstraintDefinition(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFramedConcern(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsNegated(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getRequirementDefinition(); + (void)t.getResult(); + (void)t.getSatisfiedRequirement(); + (void)t.getSatisfyingFeature(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "SatisfyRequirementUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "SatisfyRequirementUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "SatisfyRequirementUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "SatisfyRequirementUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "SatisfyRequirementUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "SatisfyRequirementUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "SatisfyRequirementUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "SatisfyRequirementUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "SatisfyRequirementUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "SatisfyRequirementUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SatisfyRequirementUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SatisfyRequirementUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "SatisfyRequirementUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "SatisfyRequirementUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "SatisfyRequirementUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "SatisfyRequirementUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "SatisfyRequirementUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "SatisfyRequirementUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "SatisfyRequirementUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "SatisfyRequirementUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "SatisfyRequirementUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "SatisfyRequirementUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "SatisfyRequirementUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "SatisfyRequirementUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "SatisfyRequirementUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "SatisfyRequirementUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "SatisfyRequirementUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "SatisfyRequirementUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "SatisfyRequirementUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "SatisfyRequirementUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "SatisfyRequirementUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "SatisfyRequirementUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "SatisfyRequirementUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "SatisfyRequirementUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "SatisfyRequirementUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "SatisfyRequirementUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "SatisfyRequirementUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "SatisfyRequirementUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "SatisfyRequirementUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "SatisfyRequirementUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "SatisfyRequirementUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "SatisfyRequirementUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "SatisfyRequirementUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "SatisfyRequirementUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "SatisfyRequirementUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "SatisfyRequirementUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "SatisfyRequirementUsage.visibleMemberships()"); +} + +static void check_SelectExpression(const Model& m) { + Element e = m.element("e-SelectExpression"); + require(e.metaclass_name() == "SelectExpression", "SelectExpression: metaclass"); + require(e.element_id() == "e-SelectExpression", "SelectExpression: element_id"); + require(e.is_kind("Element"), "SelectExpression !< Element"); + require(e.is_kind("Expression"), "SelectExpression !< Expression"); + require(e.is_kind("Feature"), "SelectExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "SelectExpression !< InstantiationExpression"); + require(e.is_kind("InvocationExpression"), "SelectExpression !< InvocationExpression"); + require(e.is_kind("Namespace"), "SelectExpression !< Namespace"); + require(e.is_kind("OperatorExpression"), "SelectExpression !< OperatorExpression"); + require(e.is_kind("Step"), "SelectExpression !< Step"); + require(e.is_kind("Type"), "SelectExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOperator(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "SelectExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "SelectExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "SelectExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "SelectExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "SelectExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "SelectExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "SelectExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "SelectExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "SelectExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "SelectExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SelectExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SelectExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "SelectExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "SelectExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "SelectExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "SelectExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "SelectExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "SelectExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "SelectExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "SelectExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "SelectExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "SelectExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "SelectExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "SelectExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "SelectExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "SelectExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "SelectExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "SelectExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "SelectExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "SelectExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "SelectExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "SelectExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "SelectExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "SelectExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "SelectExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "SelectExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "SelectExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "SelectExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "SelectExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "SelectExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "SelectExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "SelectExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "SelectExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "SelectExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "SelectExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "SelectExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "SelectExpression.visibleMemberships()"); +} + +static void check_SendActionUsage(const Model& m) { + Element e = m.element("e-SendActionUsage"); + require(e.metaclass_name() == "SendActionUsage", "SendActionUsage: metaclass"); + require(e.element_id() == "e-SendActionUsage", "SendActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "SendActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "SendActionUsage !< Element"); + require(e.is_kind("Feature"), "SendActionUsage !< Feature"); + require(e.is_kind("Namespace"), "SendActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "SendActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "SendActionUsage !< Step"); + require(e.is_kind("Type"), "SendActionUsage !< Type"); + require(e.is_kind("Usage"), "SendActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPayloadArgument(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getReceiverArgument(); + (void)t.getSenderArgument(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "SendActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "SendActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "SendActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "SendActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "SendActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "SendActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "SendActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "SendActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "SendActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "SendActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SendActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SendActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "SendActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "SendActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "SendActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "SendActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "SendActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "SendActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "SendActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "SendActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "SendActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "SendActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "SendActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "SendActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "SendActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "SendActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "SendActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "SendActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "SendActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "SendActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "SendActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "SendActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "SendActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "SendActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "SendActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "SendActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "SendActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "SendActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "SendActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "SendActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "SendActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "SendActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "SendActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "SendActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "SendActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "SendActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "SendActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "SendActionUsage.visibleMemberships()"); +} + +static void check_Specialization(const Model& m) { + Element e = m.element("e-Specialization"); + require(e.metaclass_name() == "Specialization", "Specialization: metaclass"); + require(e.element_id() == "e-Specialization", "Specialization: element_id"); + require(e.is_kind("Element"), "Specialization !< Element"); + require(e.is_kind("Relationship"), "Specialization !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Specialization.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Specialization.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Specialization.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Specialization.libraryNamespace()"); + EXPECT_NIK(t.path(), "Specialization.path()"); +} + +static void check_StakeholderMembership(const Model& m) { + Element e = m.element("e-StakeholderMembership"); + require(e.metaclass_name() == "StakeholderMembership", "StakeholderMembership: metaclass"); + require(e.element_id() == "e-StakeholderMembership", "StakeholderMembership: element_id"); + require(e.is_kind("Element"), "StakeholderMembership !< Element"); + require(e.is_kind("FeatureMembership"), "StakeholderMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "StakeholderMembership !< Membership"); + require(e.is_kind("OwningMembership"), "StakeholderMembership !< OwningMembership"); + require(e.is_kind("ParameterMembership"), "StakeholderMembership !< ParameterMembership"); + require(e.is_kind("Relationship"), "StakeholderMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberParameter(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedStakeholderParameter(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "StakeholderMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "StakeholderMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "StakeholderMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "StakeholderMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "StakeholderMembership.libraryNamespace()"); + EXPECT_NIK(t.parameterDirection(), "StakeholderMembership.parameterDirection()"); + EXPECT_NIK(t.path(), "StakeholderMembership.path()"); +} + +static void check_StateDefinition(const Model& m) { + Element e = m.element("e-StateDefinition"); + require(e.metaclass_name() == "StateDefinition", "StateDefinition: metaclass"); + require(e.element_id() == "e-StateDefinition", "StateDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "StateDefinition !< ActionDefinition"); + require(e.is_kind("Behavior"), "StateDefinition !< Behavior"); + require(e.is_kind("Class"), "StateDefinition !< Class"); + require(e.is_kind("Classifier"), "StateDefinition !< Classifier"); + require(e.is_kind("Definition"), "StateDefinition !< Definition"); + require(e.is_kind("Element"), "StateDefinition !< Element"); + require(e.is_kind("Namespace"), "StateDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "StateDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "StateDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDoAction(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEntryAction(); + (void)t.getExitAction(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsParallel(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getState(); + (void)t.getStep(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "StateDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "StateDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "StateDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "StateDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "StateDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "StateDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "StateDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "StateDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "StateDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "StateDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "StateDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "StateDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "StateDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "StateDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "StateDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "StateDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "StateDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "StateDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "StateDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "StateDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "StateDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "StateDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "StateDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "StateDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "StateDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "StateDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "StateDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "StateDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "StateDefinition.visibleMemberships()"); +} + +static void check_StateSubactionMembership(const Model& m) { + Element e = m.element("e-StateSubactionMembership"); + require(e.metaclass_name() == "StateSubactionMembership", "StateSubactionMembership: metaclass"); + require(e.element_id() == "e-StateSubactionMembership", "StateSubactionMembership: element_id"); + require(e.is_kind("Element"), "StateSubactionMembership !< Element"); + require(e.is_kind("FeatureMembership"), "StateSubactionMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "StateSubactionMembership !< Membership"); + require(e.is_kind("OwningMembership"), "StateSubactionMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "StateSubactionMembership !< Relationship"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getKind(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "StateSubactionMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "StateSubactionMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "StateSubactionMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "StateSubactionMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "StateSubactionMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "StateSubactionMembership.path()"); +} + +static void check_StateUsage(const Model& m) { + Element e = m.element("e-StateUsage"); + require(e.metaclass_name() == "StateUsage", "StateUsage: metaclass"); + require(e.element_id() == "e-StateUsage", "StateUsage: element_id"); + require(e.is_kind("ActionUsage"), "StateUsage !< ActionUsage"); + require(e.is_kind("Element"), "StateUsage !< Element"); + require(e.is_kind("Feature"), "StateUsage !< Feature"); + require(e.is_kind("Namespace"), "StateUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "StateUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "StateUsage !< Step"); + require(e.is_kind("Type"), "StateUsage !< Type"); + require(e.is_kind("Usage"), "StateUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDoAction(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getEntryAction(); + (void)t.getExitAction(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsParallel(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getStateDefinition(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "StateUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "StateUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "StateUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "StateUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "StateUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "StateUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "StateUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "StateUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "StateUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "StateUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "StateUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "StateUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "StateUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "StateUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "StateUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "StateUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "StateUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "StateUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "StateUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "StateUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "StateUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "StateUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "StateUsage.isSubactionUsage()"); + EXPECT_NIK(t.isSubstateUsage({}), "StateUsage.isSubstateUsage()"); + EXPECT_NIK(t.libraryNamespace(), "StateUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "StateUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "StateUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "StateUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "StateUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "StateUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "StateUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "StateUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "StateUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "StateUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "StateUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "StateUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "StateUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "StateUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "StateUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "StateUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "StateUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "StateUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "StateUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "StateUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "StateUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "StateUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "StateUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "StateUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "StateUsage.visibleMemberships()"); +} + +static void check_Step(const Model& m) { + Element e = m.element("e-Step"); + require(e.metaclass_name() == "Step", "Step: metaclass"); + require(e.element_id() == "e-Step", "Step: element_id"); + require(e.is_kind("Element"), "Step !< Element"); + require(e.is_kind("Feature"), "Step !< Feature"); + require(e.is_kind("Namespace"), "Step !< Namespace"); + require(e.is_kind("Type"), "Step !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Step.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Step.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Step.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Step.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Step.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Step.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Step.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Step.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Step.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Step.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Step.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Step.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Step.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Step.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Step.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Step.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Step.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Step.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Step.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Step.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Step.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Step.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Step.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Step.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Step.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Step.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Step.path()"); + EXPECT_NIK(t.qualificationOf({}), "Step.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Step.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Step.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Step.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Step.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Step.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Step.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Step.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Step.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Step.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Step.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Step.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Step.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Step.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Step.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Step.visibleMemberships()"); +} + +static void check_Structure(const Model& m) { + Element e = m.element("e-Structure"); + require(e.metaclass_name() == "Structure", "Structure: metaclass"); + require(e.element_id() == "e-Structure", "Structure: element_id"); + require(e.is_kind("Class"), "Structure !< Class"); + require(e.is_kind("Classifier"), "Structure !< Classifier"); + require(e.is_kind("Element"), "Structure !< Element"); + require(e.is_kind("Namespace"), "Structure !< Namespace"); + require(e.is_kind("Type"), "Structure !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Structure.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Structure.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Structure.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Structure.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Structure.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Structure.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Structure.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Structure.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Structure.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Structure.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Structure.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Structure.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Structure.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Structure.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Structure.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Structure.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Structure.path()"); + EXPECT_NIK(t.qualificationOf({}), "Structure.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Structure.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Structure.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Structure.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Structure.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Structure.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Structure.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Structure.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Structure.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Structure.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Structure.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Structure.visibleMemberships()"); +} + +static void check_Subclassification(const Model& m) { + Element e = m.element("e-Subclassification"); + require(e.metaclass_name() == "Subclassification", "Subclassification: metaclass"); + require(e.element_id() == "e-Subclassification", "Subclassification: element_id"); + require(e.is_kind("Element"), "Subclassification !< Element"); + require(e.is_kind("Relationship"), "Subclassification !< Relationship"); + require(e.is_kind("Specialization"), "Subclassification !< Specialization"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningClassifier(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getSubclassifier(); + (void)t.getSuperclassifier(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Subclassification.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Subclassification.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Subclassification.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Subclassification.libraryNamespace()"); + EXPECT_NIK(t.path(), "Subclassification.path()"); +} + +static void check_SubjectMembership(const Model& m) { + Element e = m.element("e-SubjectMembership"); + require(e.metaclass_name() == "SubjectMembership", "SubjectMembership: metaclass"); + require(e.element_id() == "e-SubjectMembership", "SubjectMembership: element_id"); + require(e.is_kind("Element"), "SubjectMembership !< Element"); + require(e.is_kind("FeatureMembership"), "SubjectMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "SubjectMembership !< Membership"); + require(e.is_kind("OwningMembership"), "SubjectMembership !< OwningMembership"); + require(e.is_kind("ParameterMembership"), "SubjectMembership !< ParameterMembership"); + require(e.is_kind("Relationship"), "SubjectMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberParameter(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSubjectParameter(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "SubjectMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SubjectMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SubjectMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "SubjectMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "SubjectMembership.libraryNamespace()"); + EXPECT_NIK(t.parameterDirection(), "SubjectMembership.parameterDirection()"); + EXPECT_NIK(t.path(), "SubjectMembership.path()"); +} + +static void check_Subsetting(const Model& m) { + Element e = m.element("e-Subsetting"); + require(e.metaclass_name() == "Subsetting", "Subsetting: metaclass"); + require(e.element_id() == "e-Subsetting", "Subsetting: element_id"); + require(e.is_kind("Element"), "Subsetting !< Element"); + require(e.is_kind("Relationship"), "Subsetting !< Relationship"); + require(e.is_kind("Specialization"), "Subsetting !< Specialization"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getGeneral(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeature(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSpecific(); + (void)t.getSubsettedFeature(); + (void)t.getSubsettingFeature(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "Subsetting.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Subsetting.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Subsetting.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Subsetting.libraryNamespace()"); + EXPECT_NIK(t.path(), "Subsetting.path()"); +} + +static void check_Succession(const Model& m) { + Element e = m.element("e-Succession"); + require(e.metaclass_name() == "Succession", "Succession: metaclass"); + require(e.element_id() == "e-Succession", "Succession: element_id"); + require(e.is_kind("Connector"), "Succession !< Connector"); + require(e.is_kind("Element"), "Succession !< Element"); + require(e.is_kind("Feature"), "Succession !< Feature"); + require(e.is_kind("Namespace"), "Succession !< Namespace"); + require(e.is_kind("Relationship"), "Succession !< Relationship"); + require(e.is_kind("Type"), "Succession !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "Succession.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Succession.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Succession.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Succession.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Succession.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Succession.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Succession.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Succession.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Succession.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Succession.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Succession.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Succession.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Succession.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Succession.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Succession.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Succession.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Succession.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Succession.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Succession.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Succession.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Succession.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Succession.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Succession.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Succession.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Succession.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Succession.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Succession.path()"); + EXPECT_NIK(t.qualificationOf({}), "Succession.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Succession.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Succession.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Succession.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Succession.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Succession.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Succession.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Succession.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Succession.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Succession.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Succession.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Succession.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Succession.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Succession.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Succession.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Succession.visibleMemberships()"); +} + +static void check_SuccessionAsUsage(const Model& m) { + Element e = m.element("e-SuccessionAsUsage"); + require(e.metaclass_name() == "SuccessionAsUsage", "SuccessionAsUsage: metaclass"); + require(e.element_id() == "e-SuccessionAsUsage", "SuccessionAsUsage: element_id"); + require(e.is_kind("Connector"), "SuccessionAsUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "SuccessionAsUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "SuccessionAsUsage !< Element"); + require(e.is_kind("Feature"), "SuccessionAsUsage !< Feature"); + require(e.is_kind("Namespace"), "SuccessionAsUsage !< Namespace"); + require(e.is_kind("Relationship"), "SuccessionAsUsage !< Relationship"); + require(e.is_kind("Succession"), "SuccessionAsUsage !< Succession"); + require(e.is_kind("Type"), "SuccessionAsUsage !< Type"); + require(e.is_kind("Usage"), "SuccessionAsUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "SuccessionAsUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "SuccessionAsUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "SuccessionAsUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "SuccessionAsUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "SuccessionAsUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "SuccessionAsUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "SuccessionAsUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "SuccessionAsUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "SuccessionAsUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SuccessionAsUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SuccessionAsUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "SuccessionAsUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "SuccessionAsUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "SuccessionAsUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "SuccessionAsUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "SuccessionAsUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "SuccessionAsUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "SuccessionAsUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "SuccessionAsUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "SuccessionAsUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "SuccessionAsUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "SuccessionAsUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "SuccessionAsUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "SuccessionAsUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "SuccessionAsUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "SuccessionAsUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "SuccessionAsUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "SuccessionAsUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "SuccessionAsUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "SuccessionAsUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "SuccessionAsUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "SuccessionAsUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "SuccessionAsUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "SuccessionAsUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "SuccessionAsUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "SuccessionAsUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "SuccessionAsUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "SuccessionAsUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "SuccessionAsUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "SuccessionAsUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "SuccessionAsUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "SuccessionAsUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "SuccessionAsUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "SuccessionAsUsage.visibleMemberships()"); +} + +static void check_SuccessionFlow(const Model& m) { + Element e = m.element("e-SuccessionFlow"); + require(e.metaclass_name() == "SuccessionFlow", "SuccessionFlow: metaclass"); + require(e.element_id() == "e-SuccessionFlow", "SuccessionFlow: element_id"); + require(e.is_kind("Connector"), "SuccessionFlow !< Connector"); + require(e.is_kind("Element"), "SuccessionFlow !< Element"); + require(e.is_kind("Feature"), "SuccessionFlow !< Feature"); + require(e.is_kind("Flow"), "SuccessionFlow !< Flow"); + require(e.is_kind("Namespace"), "SuccessionFlow !< Namespace"); + require(e.is_kind("Relationship"), "SuccessionFlow !< Relationship"); + require(e.is_kind("Step"), "SuccessionFlow !< Step"); + require(e.is_kind("Succession"), "SuccessionFlow !< Succession"); + require(e.is_kind("Type"), "SuccessionFlow !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFlowEnd(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInteraction(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getPayloadFeature(); + (void)t.getPayloadType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getSourceOutputFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTargetInputFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "SuccessionFlow.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "SuccessionFlow.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "SuccessionFlow.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "SuccessionFlow.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "SuccessionFlow.canAccess()"); + EXPECT_NIK(t.directionFor({}), "SuccessionFlow.directionFor()"); + EXPECT_NIK(t.directionOf({}), "SuccessionFlow.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "SuccessionFlow.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "SuccessionFlow.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SuccessionFlow.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SuccessionFlow.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "SuccessionFlow.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "SuccessionFlow.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "SuccessionFlow.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "SuccessionFlow.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "SuccessionFlow.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "SuccessionFlow.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "SuccessionFlow.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "SuccessionFlow.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "SuccessionFlow.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "SuccessionFlow.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "SuccessionFlow.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "SuccessionFlow.namesOf()"); + EXPECT_NIK(t.namingFeature(), "SuccessionFlow.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "SuccessionFlow.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "SuccessionFlow.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "SuccessionFlow.path()"); + EXPECT_NIK(t.qualificationOf({}), "SuccessionFlow.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "SuccessionFlow.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "SuccessionFlow.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "SuccessionFlow.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "SuccessionFlow.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "SuccessionFlow.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "SuccessionFlow.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "SuccessionFlow.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "SuccessionFlow.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "SuccessionFlow.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "SuccessionFlow.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "SuccessionFlow.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "SuccessionFlow.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "SuccessionFlow.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "SuccessionFlow.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "SuccessionFlow.visibleMemberships()"); +} + +static void check_SuccessionFlowUsage(const Model& m) { + Element e = m.element("e-SuccessionFlowUsage"); + require(e.metaclass_name() == "SuccessionFlowUsage", "SuccessionFlowUsage: metaclass"); + require(e.element_id() == "e-SuccessionFlowUsage", "SuccessionFlowUsage: element_id"); + require(e.is_kind("ActionUsage"), "SuccessionFlowUsage !< ActionUsage"); + require(e.is_kind("Connector"), "SuccessionFlowUsage !< Connector"); + require(e.is_kind("ConnectorAsUsage"), "SuccessionFlowUsage !< ConnectorAsUsage"); + require(e.is_kind("Element"), "SuccessionFlowUsage !< Element"); + require(e.is_kind("Feature"), "SuccessionFlowUsage !< Feature"); + require(e.is_kind("Flow"), "SuccessionFlowUsage !< Flow"); + require(e.is_kind("FlowUsage"), "SuccessionFlowUsage !< FlowUsage"); + require(e.is_kind("Namespace"), "SuccessionFlowUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "SuccessionFlowUsage !< OccurrenceUsage"); + require(e.is_kind("Relationship"), "SuccessionFlowUsage !< Relationship"); + require(e.is_kind("Step"), "SuccessionFlowUsage !< Step"); + require(e.is_kind("Succession"), "SuccessionFlowUsage !< Succession"); + require(e.is_kind("SuccessionFlow"), "SuccessionFlowUsage !< SuccessionFlow"); + require(e.is_kind("Type"), "SuccessionFlowUsage !< Type"); + require(e.is_kind("Usage"), "SuccessionFlowUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getAssociation(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConnectorEnd(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefaultFeaturingType(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFlowDefinition(); + (void)t.getFlowEnd(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInteraction(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPayloadFeature(); + (void)t.getPayloadType(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getRelatedFeature(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSourceFeature(); + (void)t.getSourceOutputFeature(); + (void)t.getTarget(); + (void)t.getTargetFeature(); + (void)t.getTargetInputFeature(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "SuccessionFlowUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "SuccessionFlowUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "SuccessionFlowUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "SuccessionFlowUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "SuccessionFlowUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "SuccessionFlowUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "SuccessionFlowUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "SuccessionFlowUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "SuccessionFlowUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "SuccessionFlowUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "SuccessionFlowUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "SuccessionFlowUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "SuccessionFlowUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "SuccessionFlowUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "SuccessionFlowUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "SuccessionFlowUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "SuccessionFlowUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "SuccessionFlowUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "SuccessionFlowUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "SuccessionFlowUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "SuccessionFlowUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "SuccessionFlowUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "SuccessionFlowUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "SuccessionFlowUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "SuccessionFlowUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "SuccessionFlowUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "SuccessionFlowUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "SuccessionFlowUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "SuccessionFlowUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "SuccessionFlowUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "SuccessionFlowUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "SuccessionFlowUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "SuccessionFlowUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "SuccessionFlowUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "SuccessionFlowUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "SuccessionFlowUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "SuccessionFlowUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "SuccessionFlowUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "SuccessionFlowUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "SuccessionFlowUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "SuccessionFlowUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "SuccessionFlowUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "SuccessionFlowUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "SuccessionFlowUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "SuccessionFlowUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "SuccessionFlowUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "SuccessionFlowUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "SuccessionFlowUsage.visibleMemberships()"); +} + +static void check_TerminateActionUsage(const Model& m) { + Element e = m.element("e-TerminateActionUsage"); + require(e.metaclass_name() == "TerminateActionUsage", "TerminateActionUsage: metaclass"); + require(e.element_id() == "e-TerminateActionUsage", "TerminateActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "TerminateActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "TerminateActionUsage !< Element"); + require(e.is_kind("Feature"), "TerminateActionUsage !< Feature"); + require(e.is_kind("Namespace"), "TerminateActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "TerminateActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "TerminateActionUsage !< Step"); + require(e.is_kind("Type"), "TerminateActionUsage !< Type"); + require(e.is_kind("Usage"), "TerminateActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTerminatedOccurrenceArgument(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "TerminateActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "TerminateActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "TerminateActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "TerminateActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "TerminateActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "TerminateActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "TerminateActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "TerminateActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "TerminateActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "TerminateActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "TerminateActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "TerminateActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "TerminateActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "TerminateActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "TerminateActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "TerminateActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "TerminateActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "TerminateActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "TerminateActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "TerminateActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "TerminateActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "TerminateActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "TerminateActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "TerminateActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "TerminateActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "TerminateActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "TerminateActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "TerminateActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "TerminateActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "TerminateActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "TerminateActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "TerminateActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "TerminateActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "TerminateActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "TerminateActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "TerminateActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "TerminateActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "TerminateActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "TerminateActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "TerminateActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "TerminateActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "TerminateActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "TerminateActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "TerminateActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "TerminateActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "TerminateActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "TerminateActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "TerminateActionUsage.visibleMemberships()"); +} + +static void check_TextualRepresentation(const Model& m) { + Element e = m.element("e-TextualRepresentation"); + require(e.metaclass_name() == "TextualRepresentation", "TextualRepresentation: metaclass"); + require(e.element_id() == "e-TextualRepresentation", "TextualRepresentation: element_id"); + require(e.is_kind("AnnotatingElement"), "TextualRepresentation !< AnnotatingElement"); + require(e.is_kind("Element"), "TextualRepresentation !< Element"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getAnnotatedElement(); + (void)t.getAnnotation(); + (void)t.getBody(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getLanguage(); + (void)t.getName(); + (void)t.getOwnedAnnotatingRelationship(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningAnnotatingRelationship(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRepresentedElement(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "TextualRepresentation.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "TextualRepresentation.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "TextualRepresentation.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "TextualRepresentation.libraryNamespace()"); + EXPECT_NIK(t.path(), "TextualRepresentation.path()"); +} + +static void check_TransitionFeatureMembership(const Model& m) { + Element e = m.element("e-TransitionFeatureMembership"); + require(e.metaclass_name() == "TransitionFeatureMembership", "TransitionFeatureMembership: metaclass"); + require(e.element_id() == "e-TransitionFeatureMembership", "TransitionFeatureMembership: element_id"); + require(e.is_kind("Element"), "TransitionFeatureMembership !< Element"); + require(e.is_kind("FeatureMembership"), "TransitionFeatureMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "TransitionFeatureMembership !< Membership"); + require(e.is_kind("OwningMembership"), "TransitionFeatureMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "TransitionFeatureMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getKind(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getTransitionFeature(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "TransitionFeatureMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "TransitionFeatureMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "TransitionFeatureMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "TransitionFeatureMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "TransitionFeatureMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "TransitionFeatureMembership.path()"); +} + +static void check_TransitionUsage(const Model& m) { + Element e = m.element("e-TransitionUsage"); + require(e.metaclass_name() == "TransitionUsage", "TransitionUsage: metaclass"); + require(e.element_id() == "e-TransitionUsage", "TransitionUsage: element_id"); + require(e.is_kind("ActionUsage"), "TransitionUsage !< ActionUsage"); + require(e.is_kind("Element"), "TransitionUsage !< Element"); + require(e.is_kind("Feature"), "TransitionUsage !< Feature"); + require(e.is_kind("Namespace"), "TransitionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "TransitionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "TransitionUsage !< Step"); + require(e.is_kind("Type"), "TransitionUsage !< Type"); + require(e.is_kind("Usage"), "TransitionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getEffectAction(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getGuardExpression(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getSuccession(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getTriggerAction(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "TransitionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "TransitionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "TransitionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "TransitionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "TransitionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "TransitionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "TransitionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "TransitionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "TransitionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "TransitionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "TransitionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "TransitionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "TransitionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "TransitionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "TransitionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "TransitionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "TransitionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "TransitionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "TransitionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "TransitionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "TransitionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "TransitionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "TransitionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "TransitionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "TransitionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "TransitionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "TransitionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "TransitionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "TransitionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "TransitionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "TransitionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "TransitionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "TransitionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "TransitionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "TransitionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "TransitionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "TransitionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "TransitionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "TransitionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "TransitionUsage.resolveVisible()"); + EXPECT_NIK(t.sourceFeature(), "TransitionUsage.sourceFeature()"); + EXPECT_NIK(t.specializes({}), "TransitionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "TransitionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "TransitionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "TransitionUsage.supertypes()"); + EXPECT_NIK(t.triggerPayloadParameter(), "TransitionUsage.triggerPayloadParameter()"); + EXPECT_NIK(t.typingFeatures(), "TransitionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "TransitionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "TransitionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "TransitionUsage.visibleMemberships()"); +} + +static void check_TriggerInvocationExpression(const Model& m) { + Element e = m.element("e-TriggerInvocationExpression"); + require(e.metaclass_name() == "TriggerInvocationExpression", "TriggerInvocationExpression: metaclass"); + require(e.element_id() == "e-TriggerInvocationExpression", "TriggerInvocationExpression: element_id"); + require(e.is_kind("Element"), "TriggerInvocationExpression !< Element"); + require(e.is_kind("Expression"), "TriggerInvocationExpression !< Expression"); + require(e.is_kind("Feature"), "TriggerInvocationExpression !< Feature"); + require(e.is_kind("InstantiationExpression"), "TriggerInvocationExpression !< InstantiationExpression"); + require(e.is_kind("InvocationExpression"), "TriggerInvocationExpression !< InvocationExpression"); + require(e.is_kind("Namespace"), "TriggerInvocationExpression !< Namespace"); + require(e.is_kind("Step"), "TriggerInvocationExpression !< Step"); + require(e.is_kind("Type"), "TriggerInvocationExpression !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getArgument(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getInstantiatedType(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getKind(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeatures(), "TriggerInvocationExpression.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "TriggerInvocationExpression.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "TriggerInvocationExpression.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "TriggerInvocationExpression.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "TriggerInvocationExpression.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "TriggerInvocationExpression.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "TriggerInvocationExpression.directionFor()"); + EXPECT_NIK(t.directionOf({}), "TriggerInvocationExpression.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "TriggerInvocationExpression.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "TriggerInvocationExpression.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "TriggerInvocationExpression.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "TriggerInvocationExpression.escapedName()"); + EXPECT_NIK(t.evaluate({}), "TriggerInvocationExpression.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "TriggerInvocationExpression.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "TriggerInvocationExpression.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "TriggerInvocationExpression.inheritedMemberships()"); + EXPECT_NIK(t.instantiatedType(), "TriggerInvocationExpression.instantiatedType()"); + EXPECT_NIK(t.isCartesianProduct(), "TriggerInvocationExpression.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "TriggerInvocationExpression.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "TriggerInvocationExpression.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "TriggerInvocationExpression.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "TriggerInvocationExpression.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "TriggerInvocationExpression.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "TriggerInvocationExpression.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "TriggerInvocationExpression.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "TriggerInvocationExpression.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "TriggerInvocationExpression.namesOf()"); + EXPECT_NIK(t.namingFeature(), "TriggerInvocationExpression.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "TriggerInvocationExpression.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "TriggerInvocationExpression.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "TriggerInvocationExpression.path()"); + EXPECT_NIK(t.qualificationOf({}), "TriggerInvocationExpression.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "TriggerInvocationExpression.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "TriggerInvocationExpression.redefinesFromLibrary()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "TriggerInvocationExpression.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "TriggerInvocationExpression.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "TriggerInvocationExpression.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "TriggerInvocationExpression.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "TriggerInvocationExpression.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "TriggerInvocationExpression.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "TriggerInvocationExpression.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "TriggerInvocationExpression.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "TriggerInvocationExpression.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "TriggerInvocationExpression.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "TriggerInvocationExpression.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "TriggerInvocationExpression.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "TriggerInvocationExpression.visibleMemberships()"); +} + +static void check_Type(const Model& m) { + Element e = m.element("e-Type"); + require(e.metaclass_name() == "Type", "Type: metaclass"); + require(e.element_id() == "e-Type", "Type: element_id"); + require(e.is_kind("Element"), "Type !< Element"); + require(e.is_kind("Namespace"), "Type !< Namespace"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Type.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Type.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "Type.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Type.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Type.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Type.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Type.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Type.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Type.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Type.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "Type.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "Type.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Type.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Type.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Type.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Type.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "Type.path()"); + EXPECT_NIK(t.qualificationOf({}), "Type.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Type.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Type.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Type.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Type.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Type.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Type.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Type.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "Type.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Type.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Type.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Type.visibleMemberships()"); +} + +static void check_TypeFeaturing(const Model& m) { + Element e = m.element("e-TypeFeaturing"); + require(e.metaclass_name() == "TypeFeaturing", "TypeFeaturing: metaclass"); + require(e.element_id() == "e-TypeFeaturing", "TypeFeaturing: element_id"); + require(e.is_kind("Element"), "TypeFeaturing !< Element"); + require(e.is_kind("Relationship"), "TypeFeaturing !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getFeatureOfType(); + (void)t.getFeaturingType(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningFeatureOfType(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + EXPECT_NIK(t.effectiveName(), "TypeFeaturing.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "TypeFeaturing.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "TypeFeaturing.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "TypeFeaturing.libraryNamespace()"); + EXPECT_NIK(t.path(), "TypeFeaturing.path()"); +} + +static void check_Unioning(const Model& m) { + Element e = m.element("e-Unioning"); + require(e.metaclass_name() == "Unioning", "Unioning: metaclass"); + require(e.element_id() == "e-Unioning", "Unioning: element_id"); + require(e.is_kind("Element"), "Unioning !< Element"); + require(e.is_kind("Relationship"), "Unioning !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getTypeUnioned(); + (void)t.getUnioningType(); + EXPECT_NIK(t.effectiveName(), "Unioning.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Unioning.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Unioning.escapedName()"); + EXPECT_NIK(t.libraryNamespace(), "Unioning.libraryNamespace()"); + EXPECT_NIK(t.path(), "Unioning.path()"); +} + +static void check_Usage(const Model& m) { + Element e = m.element("e-Usage"); + require(e.metaclass_name() == "Usage", "Usage: metaclass"); + require(e.element_id() == "e-Usage", "Usage: element_id"); + require(e.is_kind("Element"), "Usage !< Element"); + require(e.is_kind("Feature"), "Usage !< Feature"); + require(e.is_kind("Namespace"), "Usage !< Namespace"); + require(e.is_kind("Type"), "Usage !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "Usage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "Usage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "Usage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "Usage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "Usage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "Usage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "Usage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "Usage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "Usage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "Usage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "Usage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "Usage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "Usage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "Usage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "Usage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "Usage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "Usage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "Usage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "Usage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "Usage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "Usage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "Usage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "Usage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "Usage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "Usage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "Usage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "Usage.path()"); + EXPECT_NIK(t.qualificationOf({}), "Usage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "Usage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "Usage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "Usage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "Usage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "Usage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "Usage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "Usage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "Usage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "Usage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "Usage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "Usage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "Usage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "Usage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "Usage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "Usage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "Usage.visibleMemberships()"); +} + +static void check_UseCaseDefinition(const Model& m) { + Element e = m.element("e-UseCaseDefinition"); + require(e.metaclass_name() == "UseCaseDefinition", "UseCaseDefinition: metaclass"); + require(e.element_id() == "e-UseCaseDefinition", "UseCaseDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "UseCaseDefinition !< ActionDefinition"); + require(e.is_kind("Behavior"), "UseCaseDefinition !< Behavior"); + require(e.is_kind("CalculationDefinition"), "UseCaseDefinition !< CalculationDefinition"); + require(e.is_kind("CaseDefinition"), "UseCaseDefinition !< CaseDefinition"); + require(e.is_kind("Class"), "UseCaseDefinition !< Class"); + require(e.is_kind("Classifier"), "UseCaseDefinition !< Classifier"); + require(e.is_kind("Definition"), "UseCaseDefinition !< Definition"); + require(e.is_kind("Element"), "UseCaseDefinition !< Element"); + require(e.is_kind("Function"), "UseCaseDefinition !< Function"); + require(e.is_kind("Namespace"), "UseCaseDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "UseCaseDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "UseCaseDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getCalculation(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getIncludedUseCase(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getObjectiveRequirement(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "UseCaseDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "UseCaseDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "UseCaseDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "UseCaseDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "UseCaseDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "UseCaseDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "UseCaseDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "UseCaseDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "UseCaseDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "UseCaseDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "UseCaseDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "UseCaseDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "UseCaseDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "UseCaseDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "UseCaseDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "UseCaseDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "UseCaseDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "UseCaseDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "UseCaseDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "UseCaseDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "UseCaseDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "UseCaseDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "UseCaseDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "UseCaseDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "UseCaseDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "UseCaseDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "UseCaseDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "UseCaseDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "UseCaseDefinition.visibleMemberships()"); +} + +static void check_UseCaseUsage(const Model& m) { + Element e = m.element("e-UseCaseUsage"); + require(e.metaclass_name() == "UseCaseUsage", "UseCaseUsage: metaclass"); + require(e.element_id() == "e-UseCaseUsage", "UseCaseUsage: element_id"); + require(e.is_kind("ActionUsage"), "UseCaseUsage !< ActionUsage"); + require(e.is_kind("CalculationUsage"), "UseCaseUsage !< CalculationUsage"); + require(e.is_kind("CaseUsage"), "UseCaseUsage !< CaseUsage"); + require(e.is_kind("Element"), "UseCaseUsage !< Element"); + require(e.is_kind("Expression"), "UseCaseUsage !< Expression"); + require(e.is_kind("Feature"), "UseCaseUsage !< Feature"); + require(e.is_kind("Namespace"), "UseCaseUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "UseCaseUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "UseCaseUsage !< Step"); + require(e.is_kind("Type"), "UseCaseUsage !< Type"); + require(e.is_kind("Usage"), "UseCaseUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getCalculationDefinition(); + (void)t.getCaseDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIncludedUseCase(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getObjectiveRequirement(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getUseCaseDefinition(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + EXPECT_NIK(t.allRedefinedFeatures(), "UseCaseUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "UseCaseUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "UseCaseUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "UseCaseUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "UseCaseUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "UseCaseUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "UseCaseUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "UseCaseUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "UseCaseUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "UseCaseUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "UseCaseUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "UseCaseUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "UseCaseUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "UseCaseUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "UseCaseUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "UseCaseUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "UseCaseUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "UseCaseUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "UseCaseUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "UseCaseUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "UseCaseUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "UseCaseUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "UseCaseUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "UseCaseUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "UseCaseUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "UseCaseUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "UseCaseUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "UseCaseUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "UseCaseUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "UseCaseUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "UseCaseUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "UseCaseUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "UseCaseUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "UseCaseUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "UseCaseUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "UseCaseUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "UseCaseUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "UseCaseUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "UseCaseUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "UseCaseUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "UseCaseUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "UseCaseUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "UseCaseUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "UseCaseUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "UseCaseUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "UseCaseUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "UseCaseUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "UseCaseUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "UseCaseUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "UseCaseUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "UseCaseUsage.visibleMemberships()"); +} + +static void check_VariantMembership(const Model& m) { + Element e = m.element("e-VariantMembership"); + require(e.metaclass_name() == "VariantMembership", "VariantMembership: metaclass"); + require(e.element_id() == "e-VariantMembership", "VariantMembership: element_id"); + require(e.is_kind("Element"), "VariantMembership !< Element"); + require(e.is_kind("Membership"), "VariantMembership !< Membership"); + require(e.is_kind("OwningMembership"), "VariantMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "VariantMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedVariantUsage(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "VariantMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "VariantMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "VariantMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "VariantMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "VariantMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "VariantMembership.path()"); +} + +static void check_VerificationCaseDefinition(const Model& m) { + Element e = m.element("e-VerificationCaseDefinition"); + require(e.metaclass_name() == "VerificationCaseDefinition", "VerificationCaseDefinition: metaclass"); + require(e.element_id() == "e-VerificationCaseDefinition", "VerificationCaseDefinition: element_id"); + require(e.is_kind("ActionDefinition"), "VerificationCaseDefinition !< ActionDefinition"); + require(e.is_kind("Behavior"), "VerificationCaseDefinition !< Behavior"); + require(e.is_kind("CalculationDefinition"), "VerificationCaseDefinition !< CalculationDefinition"); + require(e.is_kind("CaseDefinition"), "VerificationCaseDefinition !< CaseDefinition"); + require(e.is_kind("Class"), "VerificationCaseDefinition !< Class"); + require(e.is_kind("Classifier"), "VerificationCaseDefinition !< Classifier"); + require(e.is_kind("Definition"), "VerificationCaseDefinition !< Definition"); + require(e.is_kind("Element"), "VerificationCaseDefinition !< Element"); + require(e.is_kind("Function"), "VerificationCaseDefinition !< Function"); + require(e.is_kind("Namespace"), "VerificationCaseDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "VerificationCaseDefinition !< OccurrenceDefinition"); + require(e.is_kind("Type"), "VerificationCaseDefinition !< Type"); + auto t = e.as(); + (void)t.getAction(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getCalculation(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getObjectiveRequirement(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getVerifiedRequirement(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "VerificationCaseDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "VerificationCaseDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "VerificationCaseDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "VerificationCaseDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "VerificationCaseDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "VerificationCaseDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "VerificationCaseDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "VerificationCaseDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "VerificationCaseDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "VerificationCaseDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "VerificationCaseDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "VerificationCaseDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "VerificationCaseDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "VerificationCaseDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "VerificationCaseDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "VerificationCaseDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "VerificationCaseDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "VerificationCaseDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "VerificationCaseDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "VerificationCaseDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "VerificationCaseDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "VerificationCaseDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "VerificationCaseDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "VerificationCaseDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "VerificationCaseDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "VerificationCaseDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "VerificationCaseDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "VerificationCaseDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "VerificationCaseDefinition.visibleMemberships()"); +} + +static void check_VerificationCaseUsage(const Model& m) { + Element e = m.element("e-VerificationCaseUsage"); + require(e.metaclass_name() == "VerificationCaseUsage", "VerificationCaseUsage: metaclass"); + require(e.element_id() == "e-VerificationCaseUsage", "VerificationCaseUsage: element_id"); + require(e.is_kind("ActionUsage"), "VerificationCaseUsage !< ActionUsage"); + require(e.is_kind("CalculationUsage"), "VerificationCaseUsage !< CalculationUsage"); + require(e.is_kind("CaseUsage"), "VerificationCaseUsage !< CaseUsage"); + require(e.is_kind("Element"), "VerificationCaseUsage !< Element"); + require(e.is_kind("Expression"), "VerificationCaseUsage !< Expression"); + require(e.is_kind("Feature"), "VerificationCaseUsage !< Feature"); + require(e.is_kind("Namespace"), "VerificationCaseUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "VerificationCaseUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "VerificationCaseUsage !< Step"); + require(e.is_kind("Type"), "VerificationCaseUsage !< Type"); + require(e.is_kind("Usage"), "VerificationCaseUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getCalculationDefinition(); + (void)t.getCaseDefinition(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getObjectiveRequirement(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getSubjectParameter(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getVerificationCaseDefinition(); + (void)t.getVerifiedRequirement(); + EXPECT_NIK(t.allRedefinedFeatures(), "VerificationCaseUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "VerificationCaseUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "VerificationCaseUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "VerificationCaseUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "VerificationCaseUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "VerificationCaseUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "VerificationCaseUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "VerificationCaseUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "VerificationCaseUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "VerificationCaseUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "VerificationCaseUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "VerificationCaseUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "VerificationCaseUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "VerificationCaseUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "VerificationCaseUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "VerificationCaseUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "VerificationCaseUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "VerificationCaseUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "VerificationCaseUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "VerificationCaseUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "VerificationCaseUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "VerificationCaseUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "VerificationCaseUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "VerificationCaseUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "VerificationCaseUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "VerificationCaseUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "VerificationCaseUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "VerificationCaseUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "VerificationCaseUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "VerificationCaseUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "VerificationCaseUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "VerificationCaseUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "VerificationCaseUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "VerificationCaseUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "VerificationCaseUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "VerificationCaseUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "VerificationCaseUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "VerificationCaseUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "VerificationCaseUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "VerificationCaseUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "VerificationCaseUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "VerificationCaseUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "VerificationCaseUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "VerificationCaseUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "VerificationCaseUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "VerificationCaseUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "VerificationCaseUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "VerificationCaseUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "VerificationCaseUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "VerificationCaseUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "VerificationCaseUsage.visibleMemberships()"); +} + +static void check_ViewDefinition(const Model& m) { + Element e = m.element("e-ViewDefinition"); + require(e.metaclass_name() == "ViewDefinition", "ViewDefinition: metaclass"); + require(e.element_id() == "e-ViewDefinition", "ViewDefinition: element_id"); + require(e.is_kind("Class"), "ViewDefinition !< Class"); + require(e.is_kind("Classifier"), "ViewDefinition !< Classifier"); + require(e.is_kind("Definition"), "ViewDefinition !< Definition"); + require(e.is_kind("Element"), "ViewDefinition !< Element"); + require(e.is_kind("ItemDefinition"), "ViewDefinition !< ItemDefinition"); + require(e.is_kind("Namespace"), "ViewDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ViewDefinition !< OccurrenceDefinition"); + require(e.is_kind("PartDefinition"), "ViewDefinition !< PartDefinition"); + require(e.is_kind("Structure"), "ViewDefinition !< Structure"); + require(e.is_kind("Type"), "ViewDefinition !< Type"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getQualifiedName(); + (void)t.getSatisfiedViewpoint(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getView(); + (void)t.getViewCondition(); + (void)t.getViewRendering(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ViewDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ViewDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ViewDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ViewDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ViewDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ViewDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ViewDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ViewDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ViewDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ViewDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ViewDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ViewDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ViewDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ViewDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ViewDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ViewDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ViewDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ViewDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ViewDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ViewDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ViewDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ViewDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ViewDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ViewDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ViewDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ViewDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ViewDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ViewDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ViewDefinition.visibleMemberships()"); +} + +static void check_ViewRenderingMembership(const Model& m) { + Element e = m.element("e-ViewRenderingMembership"); + require(e.metaclass_name() == "ViewRenderingMembership", "ViewRenderingMembership: metaclass"); + require(e.element_id() == "e-ViewRenderingMembership", "ViewRenderingMembership: element_id"); + require(e.is_kind("Element"), "ViewRenderingMembership !< Element"); + require(e.is_kind("FeatureMembership"), "ViewRenderingMembership !< FeatureMembership"); + require(e.is_kind("Membership"), "ViewRenderingMembership !< Membership"); + require(e.is_kind("OwningMembership"), "ViewRenderingMembership !< OwningMembership"); + require(e.is_kind("Relationship"), "ViewRenderingMembership !< Relationship"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getIsImplied(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsLibraryElement(); + (void)t.getMemberElement(); + (void)t.getMemberElementId(); + (void)t.getMemberName(); + (void)t.getMemberShortName(); + (void)t.getMembershipOwningNamespace(); + (void)t.getName(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedElement(); + (void)t.getOwnedMemberElement(); + (void)t.getOwnedMemberElementId(); + (void)t.getOwnedMemberFeature(); + (void)t.getOwnedMemberName(); + (void)t.getOwnedMemberShortName(); + (void)t.getOwnedRelatedElement(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelatedElement(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getQualifiedName(); + (void)t.getReferencedRendering(); + (void)t.getRelatedElement(); + (void)t.getShortName(); + (void)t.getSource(); + (void)t.getTarget(); + (void)t.getTextualRepresentation(); + (void)t.getVisibility(); + EXPECT_NIK(t.effectiveName(), "ViewRenderingMembership.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ViewRenderingMembership.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ViewRenderingMembership.escapedName()"); + EXPECT_NIK(t.isDistinguishableFrom({}), "ViewRenderingMembership.isDistinguishableFrom()"); + EXPECT_NIK(t.libraryNamespace(), "ViewRenderingMembership.libraryNamespace()"); + EXPECT_NIK(t.path(), "ViewRenderingMembership.path()"); +} + +static void check_ViewUsage(const Model& m) { + Element e = m.element("e-ViewUsage"); + require(e.metaclass_name() == "ViewUsage", "ViewUsage: metaclass"); + require(e.element_id() == "e-ViewUsage", "ViewUsage: element_id"); + require(e.is_kind("Element"), "ViewUsage !< Element"); + require(e.is_kind("Feature"), "ViewUsage !< Feature"); + require(e.is_kind("ItemUsage"), "ViewUsage !< ItemUsage"); + require(e.is_kind("Namespace"), "ViewUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ViewUsage !< OccurrenceUsage"); + require(e.is_kind("PartUsage"), "ViewUsage !< PartUsage"); + require(e.is_kind("Type"), "ViewUsage !< Type"); + require(e.is_kind("Usage"), "ViewUsage !< Usage"); + auto t = e.as(); + (void)t.getAliasIds(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getExposedElement(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getItemDefinition(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getPartDefinition(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getSatisfiedViewpoint(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getViewCondition(); + (void)t.getViewDefinition(); + (void)t.getViewRendering(); + EXPECT_NIK(t.allRedefinedFeatures(), "ViewUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ViewUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ViewUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ViewUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ViewUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "ViewUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ViewUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ViewUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ViewUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ViewUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ViewUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ViewUsage.importedMemberships()"); + EXPECT_NIK(t.includeAsExposed({}), "ViewUsage.includeAsExposed()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ViewUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ViewUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ViewUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ViewUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ViewUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ViewUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ViewUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ViewUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ViewUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ViewUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ViewUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ViewUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ViewUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ViewUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ViewUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ViewUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ViewUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ViewUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ViewUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ViewUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ViewUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ViewUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ViewUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ViewUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ViewUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ViewUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ViewUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ViewUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ViewUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ViewUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ViewUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ViewUsage.visibleMemberships()"); +} + +static void check_ViewpointDefinition(const Model& m) { + Element e = m.element("e-ViewpointDefinition"); + require(e.metaclass_name() == "ViewpointDefinition", "ViewpointDefinition: metaclass"); + require(e.element_id() == "e-ViewpointDefinition", "ViewpointDefinition: element_id"); + require(e.is_kind("Behavior"), "ViewpointDefinition !< Behavior"); + require(e.is_kind("Class"), "ViewpointDefinition !< Class"); + require(e.is_kind("Classifier"), "ViewpointDefinition !< Classifier"); + require(e.is_kind("ConstraintDefinition"), "ViewpointDefinition !< ConstraintDefinition"); + require(e.is_kind("Definition"), "ViewpointDefinition !< Definition"); + require(e.is_kind("Element"), "ViewpointDefinition !< Element"); + require(e.is_kind("Function"), "ViewpointDefinition !< Function"); + require(e.is_kind("Namespace"), "ViewpointDefinition !< Namespace"); + require(e.is_kind("OccurrenceDefinition"), "ViewpointDefinition !< OccurrenceDefinition"); + require(e.is_kind("Predicate"), "ViewpointDefinition !< Predicate"); + require(e.is_kind("RequirementDefinition"), "ViewpointDefinition !< RequirementDefinition"); + require(e.is_kind("Type"), "ViewpointDefinition !< Type"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssumedConstraint(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getExpression(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFramedConcern(); + (void)t.getImportedMembership(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsConjugated(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsSufficient(); + (void)t.getIsVariation(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getOutput(); + (void)t.getOwnedAction(); + (void)t.getOwnedAllocation(); + (void)t.getOwnedAnalysisCase(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedAttribute(); + (void)t.getOwnedCalculation(); + (void)t.getOwnedCase(); + (void)t.getOwnedConcern(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedConnection(); + (void)t.getOwnedConstraint(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedEnumeration(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedFlow(); + (void)t.getOwnedImport(); + (void)t.getOwnedInterface(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedItem(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedMetadata(); + (void)t.getOwnedOccurrence(); + (void)t.getOwnedPart(); + (void)t.getOwnedPort(); + (void)t.getOwnedReference(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedRendering(); + (void)t.getOwnedRequirement(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedState(); + (void)t.getOwnedSubclassification(); + (void)t.getOwnedTransition(); + (void)t.getOwnedUnioning(); + (void)t.getOwnedUsage(); + (void)t.getOwnedUseCase(); + (void)t.getOwnedVerificationCase(); + (void)t.getOwnedView(); + (void)t.getOwnedViewpoint(); + (void)t.getOwner(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getParameter(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getStep(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getViewpointStakeholder(); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ViewpointDefinition.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ViewpointDefinition.allSupertypes()"); + EXPECT_NIK(t.directionOf({}), "ViewpointDefinition.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ViewpointDefinition.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ViewpointDefinition.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ViewpointDefinition.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ViewpointDefinition.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "ViewpointDefinition.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ViewpointDefinition.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ViewpointDefinition.inheritedMemberships()"); + EXPECT_NIK(t.isCompatibleWith({}), "ViewpointDefinition.isCompatibleWith()"); + EXPECT_NIK(t.libraryNamespace(), "ViewpointDefinition.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ViewpointDefinition.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "ViewpointDefinition.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ViewpointDefinition.namesOf()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ViewpointDefinition.nonPrivateMemberships()"); + EXPECT_NIK(t.path(), "ViewpointDefinition.path()"); + EXPECT_NIK(t.qualificationOf({}), "ViewpointDefinition.qualificationOf()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ViewpointDefinition.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ViewpointDefinition.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ViewpointDefinition.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ViewpointDefinition.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ViewpointDefinition.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ViewpointDefinition.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ViewpointDefinition.specializesFromLibrary()"); + EXPECT_NIK(t.supertypes({}), "ViewpointDefinition.supertypes()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ViewpointDefinition.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ViewpointDefinition.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ViewpointDefinition.visibleMemberships()"); +} + +static void check_ViewpointUsage(const Model& m) { + Element e = m.element("e-ViewpointUsage"); + require(e.metaclass_name() == "ViewpointUsage", "ViewpointUsage: metaclass"); + require(e.element_id() == "e-ViewpointUsage", "ViewpointUsage: element_id"); + require(e.is_kind("BooleanExpression"), "ViewpointUsage !< BooleanExpression"); + require(e.is_kind("ConstraintUsage"), "ViewpointUsage !< ConstraintUsage"); + require(e.is_kind("Element"), "ViewpointUsage !< Element"); + require(e.is_kind("Expression"), "ViewpointUsage !< Expression"); + require(e.is_kind("Feature"), "ViewpointUsage !< Feature"); + require(e.is_kind("Namespace"), "ViewpointUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "ViewpointUsage !< OccurrenceUsage"); + require(e.is_kind("RequirementUsage"), "ViewpointUsage !< RequirementUsage"); + require(e.is_kind("Step"), "ViewpointUsage !< Step"); + require(e.is_kind("Type"), "ViewpointUsage !< Type"); + require(e.is_kind("Usage"), "ViewpointUsage !< Usage"); + auto t = e.as(); + (void)t.getActorParameter(); + (void)t.getAliasIds(); + (void)t.getAssumedConstraint(); + (void)t.getBehavior(); + (void)t.getChainingFeature(); + (void)t.getConstraintDefinition(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getFramedConcern(); + (void)t.getFunction(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsModelLevelEvaluable(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getPredicate(); + (void)t.getQualifiedName(); + (void)t.getReqId(); + (void)t.getRequiredConstraint(); + (void)t.getRequirementDefinition(); + (void)t.getResult(); + (void)t.getShortName(); + (void)t.getStakeholderParameter(); + (void)t.getSubjectParameter(); + (void)t.getText(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getViewpointDefinition(); + (void)t.getViewpointStakeholder(); + EXPECT_NIK(t.allRedefinedFeatures(), "ViewpointUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "ViewpointUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "ViewpointUsage.allSupertypes()"); + EXPECT_NIK(t.asCartesianProduct(), "ViewpointUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "ViewpointUsage.canAccess()"); + EXPECT_NIK(t.checkCondition({}), "ViewpointUsage.checkCondition()"); + EXPECT_NIK(t.directionFor({}), "ViewpointUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "ViewpointUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "ViewpointUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "ViewpointUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "ViewpointUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "ViewpointUsage.escapedName()"); + EXPECT_NIK(t.evaluate({}), "ViewpointUsage.evaluate()"); + EXPECT_NIK(t.importedMemberships({}), "ViewpointUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "ViewpointUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "ViewpointUsage.inheritedMemberships()"); + EXPECT_NIK(t.isCartesianProduct(), "ViewpointUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "ViewpointUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "ViewpointUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "ViewpointUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "ViewpointUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.libraryNamespace(), "ViewpointUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "ViewpointUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.modelLevelEvaluable({}), "ViewpointUsage.modelLevelEvaluable()"); + EXPECT_NIK(t.multiplicities(), "ViewpointUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "ViewpointUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "ViewpointUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "ViewpointUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "ViewpointUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "ViewpointUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "ViewpointUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "ViewpointUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "ViewpointUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "ViewpointUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "ViewpointUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "ViewpointUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "ViewpointUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "ViewpointUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "ViewpointUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "ViewpointUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "ViewpointUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "ViewpointUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "ViewpointUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "ViewpointUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "ViewpointUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "ViewpointUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "ViewpointUsage.visibleMemberships()"); +} + +static void check_WhileLoopActionUsage(const Model& m) { + Element e = m.element("e-WhileLoopActionUsage"); + require(e.metaclass_name() == "WhileLoopActionUsage", "WhileLoopActionUsage: metaclass"); + require(e.element_id() == "e-WhileLoopActionUsage", "WhileLoopActionUsage: element_id"); + require(e.is_kind("ActionUsage"), "WhileLoopActionUsage !< ActionUsage"); + require(e.is_kind("Element"), "WhileLoopActionUsage !< Element"); + require(e.is_kind("Feature"), "WhileLoopActionUsage !< Feature"); + require(e.is_kind("LoopActionUsage"), "WhileLoopActionUsage !< LoopActionUsage"); + require(e.is_kind("Namespace"), "WhileLoopActionUsage !< Namespace"); + require(e.is_kind("OccurrenceUsage"), "WhileLoopActionUsage !< OccurrenceUsage"); + require(e.is_kind("Step"), "WhileLoopActionUsage !< Step"); + require(e.is_kind("Type"), "WhileLoopActionUsage !< Type"); + require(e.is_kind("Usage"), "WhileLoopActionUsage !< Usage"); + auto t = e.as(); + (void)t.getActionDefinition(); + (void)t.getAliasIds(); + (void)t.getBehavior(); + (void)t.getBodyAction(); + (void)t.getChainingFeature(); + (void)t.getCrossFeature(); + (void)t.getDeclaredName(); + (void)t.getDeclaredShortName(); + (void)t.getDefinition(); + (void)t.getDifferencingType(); + (void)t.getDirectedFeature(); + (void)t.getDirectedUsage(); + (void)t.getDirection(); + (void)t.getDocumentation(); + (void)t.getElementId(); + (void)t.getEndFeature(); + (void)t.getEndOwningType(); + (void)t.getFeature(); + (void)t.getFeatureMembership(); + (void)t.getFeatureTarget(); + (void)t.getFeaturingType(); + (void)t.getImportedMembership(); + (void)t.getIndividualDefinition(); + (void)t.getInheritedFeature(); + (void)t.getInheritedMembership(); + (void)t.getInput(); + (void)t.getIntersectingType(); + (void)t.getIsAbstract(); + (void)t.getIsComposite(); + (void)t.getIsConjugated(); + (void)t.getIsConstant(); + (void)t.getIsDerived(); + (void)t.getIsEnd(); + (void)t.getIsImpliedIncluded(); + (void)t.getIsIndividual(); + (void)t.getIsLibraryElement(); + (void)t.getIsOrdered(); + (void)t.getIsPortion(); + (void)t.getIsReference(); + (void)t.getIsSufficient(); + (void)t.getIsUnique(); + (void)t.getIsVariable(); + (void)t.getIsVariation(); + (void)t.getMayTimeVary(); + (void)t.getMember(); + (void)t.getMembership(); + (void)t.getMultiplicity(); + (void)t.getName(); + (void)t.getNestedAction(); + (void)t.getNestedAllocation(); + (void)t.getNestedAnalysisCase(); + (void)t.getNestedAttribute(); + (void)t.getNestedCalculation(); + (void)t.getNestedCase(); + (void)t.getNestedConcern(); + (void)t.getNestedConnection(); + (void)t.getNestedConstraint(); + (void)t.getNestedEnumeration(); + (void)t.getNestedFlow(); + (void)t.getNestedInterface(); + (void)t.getNestedItem(); + (void)t.getNestedMetadata(); + (void)t.getNestedOccurrence(); + (void)t.getNestedPart(); + (void)t.getNestedPort(); + (void)t.getNestedReference(); + (void)t.getNestedRendering(); + (void)t.getNestedRequirement(); + (void)t.getNestedState(); + (void)t.getNestedTransition(); + (void)t.getNestedUsage(); + (void)t.getNestedUseCase(); + (void)t.getNestedVerificationCase(); + (void)t.getNestedView(); + (void)t.getNestedViewpoint(); + (void)t.getOccurrenceDefinition(); + (void)t.getOutput(); + (void)t.getOwnedAnnotation(); + (void)t.getOwnedConjugator(); + (void)t.getOwnedCrossSubsetting(); + (void)t.getOwnedDifferencing(); + (void)t.getOwnedDisjoining(); + (void)t.getOwnedElement(); + (void)t.getOwnedEndFeature(); + (void)t.getOwnedFeature(); + (void)t.getOwnedFeatureChaining(); + (void)t.getOwnedFeatureInverting(); + (void)t.getOwnedFeatureMembership(); + (void)t.getOwnedImport(); + (void)t.getOwnedIntersecting(); + (void)t.getOwnedMember(); + (void)t.getOwnedMembership(); + (void)t.getOwnedRedefinition(); + (void)t.getOwnedReferenceSubsetting(); + (void)t.getOwnedRelationship(); + (void)t.getOwnedSpecialization(); + (void)t.getOwnedSubsetting(); + (void)t.getOwnedTypeFeaturing(); + (void)t.getOwnedTyping(); + (void)t.getOwnedUnioning(); + (void)t.getOwner(); + (void)t.getOwningDefinition(); + (void)t.getOwningFeatureMembership(); + (void)t.getOwningMembership(); + (void)t.getOwningNamespace(); + (void)t.getOwningRelationship(); + (void)t.getOwningType(); + (void)t.getOwningUsage(); + (void)t.getParameter(); + (void)t.getPortionKind(); + (void)t.getQualifiedName(); + (void)t.getShortName(); + (void)t.getTextualRepresentation(); + (void)t.getType(); + (void)t.getUnioningType(); + (void)t.getUntilArgument(); + (void)t.getUsage(); + (void)t.getVariant(); + (void)t.getVariantMembership(); + (void)t.getWhileArgument(); + EXPECT_NIK(t.allRedefinedFeatures(), "WhileLoopActionUsage.allRedefinedFeatures()"); + EXPECT_NIK(t.allRedefinedFeaturesOf({}), "WhileLoopActionUsage.allRedefinedFeaturesOf()"); + EXPECT_NIK(t.allSupertypes(), "WhileLoopActionUsage.allSupertypes()"); + EXPECT_NIK(t.argument({}), "WhileLoopActionUsage.argument()"); + EXPECT_NIK(t.asCartesianProduct(), "WhileLoopActionUsage.asCartesianProduct()"); + EXPECT_NIK(t.canAccess({}), "WhileLoopActionUsage.canAccess()"); + EXPECT_NIK(t.directionFor({}), "WhileLoopActionUsage.directionFor()"); + EXPECT_NIK(t.directionOf({}), "WhileLoopActionUsage.directionOf()"); + EXPECT_NIK(t.directionOfExcluding({}, {}), "WhileLoopActionUsage.directionOfExcluding()"); + EXPECT_NIK(t.effectiveName(), "WhileLoopActionUsage.effectiveName()"); + EXPECT_NIK(t.effectiveShortName(), "WhileLoopActionUsage.effectiveShortName()"); + EXPECT_NIK(t.escapedName(), "WhileLoopActionUsage.escapedName()"); + EXPECT_NIK(t.importedMemberships({}), "WhileLoopActionUsage.importedMemberships()"); + EXPECT_NIK(t.inheritableMemberships({}, {}, {}), "WhileLoopActionUsage.inheritableMemberships()"); + EXPECT_NIK(t.inheritedMemberships({}, {}, {}), "WhileLoopActionUsage.inheritedMemberships()"); + EXPECT_NIK(t.inputParameter({}), "WhileLoopActionUsage.inputParameter()"); + EXPECT_NIK(t.inputParameters(), "WhileLoopActionUsage.inputParameters()"); + EXPECT_NIK(t.isCartesianProduct(), "WhileLoopActionUsage.isCartesianProduct()"); + EXPECT_NIK(t.isCompatibleWith({}), "WhileLoopActionUsage.isCompatibleWith()"); + EXPECT_NIK(t.isFeaturedWithin({}), "WhileLoopActionUsage.isFeaturedWithin()"); + EXPECT_NIK(t.isFeaturingType({}), "WhileLoopActionUsage.isFeaturingType()"); + EXPECT_NIK(t.isOwnedCrossFeature(), "WhileLoopActionUsage.isOwnedCrossFeature()"); + EXPECT_NIK(t.isSubactionUsage(), "WhileLoopActionUsage.isSubactionUsage()"); + EXPECT_NIK(t.libraryNamespace(), "WhileLoopActionUsage.libraryNamespace()"); + EXPECT_NIK(t.membershipsOfVisibility({}, {}), "WhileLoopActionUsage.membershipsOfVisibility()"); + EXPECT_NIK(t.multiplicities(), "WhileLoopActionUsage.multiplicities()"); + EXPECT_NIK(t.namesOf({}), "WhileLoopActionUsage.namesOf()"); + EXPECT_NIK(t.namingFeature(), "WhileLoopActionUsage.namingFeature()"); + EXPECT_NIK(t.nonPrivateMemberships({}, {}, {}), "WhileLoopActionUsage.nonPrivateMemberships()"); + EXPECT_NIK(t.ownedCrossFeature(), "WhileLoopActionUsage.ownedCrossFeature()"); + EXPECT_NIK(t.path(), "WhileLoopActionUsage.path()"); + EXPECT_NIK(t.qualificationOf({}), "WhileLoopActionUsage.qualificationOf()"); + EXPECT_NIK(t.redefines({}), "WhileLoopActionUsage.redefines()"); + EXPECT_NIK(t.redefinesFromLibrary({}), "WhileLoopActionUsage.redefinesFromLibrary()"); + EXPECT_NIK(t.referencedFeatureTarget(), "WhileLoopActionUsage.referencedFeatureTarget()"); + EXPECT_NIK(t.removeRedefinedFeatures({}), "WhileLoopActionUsage.removeRedefinedFeatures()"); + EXPECT_NIK(t.resolve({}), "WhileLoopActionUsage.resolve()"); + EXPECT_NIK(t.resolveGlobal({}), "WhileLoopActionUsage.resolveGlobal()"); + EXPECT_NIK(t.resolveLocal({}), "WhileLoopActionUsage.resolveLocal()"); + EXPECT_NIK(t.resolveVisible({}), "WhileLoopActionUsage.resolveVisible()"); + EXPECT_NIK(t.specializes({}), "WhileLoopActionUsage.specializes()"); + EXPECT_NIK(t.specializesFromLibrary({}), "WhileLoopActionUsage.specializesFromLibrary()"); + EXPECT_NIK(t.subsetsChain({}, {}), "WhileLoopActionUsage.subsetsChain()"); + EXPECT_NIK(t.supertypes({}), "WhileLoopActionUsage.supertypes()"); + EXPECT_NIK(t.typingFeatures(), "WhileLoopActionUsage.typingFeatures()"); + EXPECT_NIK(t.unqualifiedNameOf({}), "WhileLoopActionUsage.unqualifiedNameOf()"); + EXPECT_NIK(t.visibilityOf({}), "WhileLoopActionUsage.visibilityOf()"); + EXPECT_NIK(t.visibleMemberships({}, {}, {}), "WhileLoopActionUsage.visibleMemberships()"); +} + +void run_conformance(const std::string& metamodel_path) { + std::ifstream in(metamodel_path, std::ios::binary); + require(in.good(), "cannot open " + metamodel_path); + std::ostringstream buf; + buf << in.rdbuf(); + require(sha256_hex(buf.str()) == TABLE_SHA256, + "metamodel.json changed since this harness was generated; " + "rerun tools/gen_conformance.py"); + const std::string payload = "[{\"@id\":\"e-AcceptActionUsage\",\"@type\":\"AcceptActionUsage\"},{\"@id\":\"e-ActionDefinition\",\"@type\":\"ActionDefinition\"},{\"@id\":\"e-ActionUsage\",\"@type\":\"ActionUsage\"},{\"@id\":\"e-ActorMembership\",\"@type\":\"ActorMembership\"},{\"@id\":\"e-AllocationDefinition\",\"@type\":\"AllocationDefinition\"},{\"@id\":\"e-AllocationUsage\",\"@type\":\"AllocationUsage\"},{\"@id\":\"e-AnalysisCaseDefinition\",\"@type\":\"AnalysisCaseDefinition\"},{\"@id\":\"e-AnalysisCaseUsage\",\"@type\":\"AnalysisCaseUsage\"},{\"@id\":\"e-AnnotatingElement\",\"@type\":\"AnnotatingElement\"},{\"@id\":\"e-Annotation\",\"@type\":\"Annotation\"},{\"@id\":\"e-AssertConstraintUsage\",\"@type\":\"AssertConstraintUsage\"},{\"@id\":\"e-AssignmentActionUsage\",\"@type\":\"AssignmentActionUsage\"},{\"@id\":\"e-Association\",\"@type\":\"Association\"},{\"@id\":\"e-AssociationStructure\",\"@type\":\"AssociationStructure\"},{\"@id\":\"e-AttributeDefinition\",\"@type\":\"AttributeDefinition\"},{\"@id\":\"e-AttributeUsage\",\"@type\":\"AttributeUsage\"},{\"@id\":\"e-Behavior\",\"@type\":\"Behavior\"},{\"@id\":\"e-BindingConnector\",\"@type\":\"BindingConnector\"},{\"@id\":\"e-BindingConnectorAsUsage\",\"@type\":\"BindingConnectorAsUsage\"},{\"@id\":\"e-BooleanExpression\",\"@type\":\"BooleanExpression\"},{\"@id\":\"e-CalculationDefinition\",\"@type\":\"CalculationDefinition\"},{\"@id\":\"e-CalculationUsage\",\"@type\":\"CalculationUsage\"},{\"@id\":\"e-CaseDefinition\",\"@type\":\"CaseDefinition\"},{\"@id\":\"e-CaseUsage\",\"@type\":\"CaseUsage\"},{\"@id\":\"e-Class\",\"@type\":\"Class\"},{\"@id\":\"e-Classifier\",\"@type\":\"Classifier\"},{\"@id\":\"e-CollectExpression\",\"@type\":\"CollectExpression\"},{\"@id\":\"e-Comment\",\"@type\":\"Comment\"},{\"@id\":\"e-ConcernDefinition\",\"@type\":\"ConcernDefinition\"},{\"@id\":\"e-ConcernUsage\",\"@type\":\"ConcernUsage\"},{\"@id\":\"e-ConjugatedPortDefinition\",\"@type\":\"ConjugatedPortDefinition\"},{\"@id\":\"e-ConjugatedPortTyping\",\"@type\":\"ConjugatedPortTyping\"},{\"@id\":\"e-Conjugation\",\"@type\":\"Conjugation\"},{\"@id\":\"e-ConnectionDefinition\",\"@type\":\"ConnectionDefinition\"},{\"@id\":\"e-ConnectionUsage\",\"@type\":\"ConnectionUsage\"},{\"@id\":\"e-Connector\",\"@type\":\"Connector\"},{\"@id\":\"e-ConstraintDefinition\",\"@type\":\"ConstraintDefinition\"},{\"@id\":\"e-ConstraintUsage\",\"@type\":\"ConstraintUsage\"},{\"@id\":\"e-ConstructorExpression\",\"@type\":\"ConstructorExpression\"},{\"@id\":\"e-CrossSubsetting\",\"@type\":\"CrossSubsetting\"},{\"@id\":\"e-DataType\",\"@type\":\"DataType\"},{\"@id\":\"e-DecisionNode\",\"@type\":\"DecisionNode\"},{\"@id\":\"e-Definition\",\"@type\":\"Definition\"},{\"@id\":\"e-Dependency\",\"@type\":\"Dependency\"},{\"@id\":\"e-Differencing\",\"@type\":\"Differencing\"},{\"@id\":\"e-Disjoining\",\"@type\":\"Disjoining\"},{\"@id\":\"e-Documentation\",\"@type\":\"Documentation\"},{\"@id\":\"e-ElementFilterMembership\",\"@type\":\"ElementFilterMembership\"},{\"@id\":\"e-EndFeatureMembership\",\"@type\":\"EndFeatureMembership\"},{\"@id\":\"e-EnumerationDefinition\",\"@type\":\"EnumerationDefinition\"},{\"@id\":\"e-EnumerationUsage\",\"@type\":\"EnumerationUsage\"},{\"@id\":\"e-EventOccurrenceUsage\",\"@type\":\"EventOccurrenceUsage\"},{\"@id\":\"e-ExhibitStateUsage\",\"@type\":\"ExhibitStateUsage\"},{\"@id\":\"e-Expression\",\"@type\":\"Expression\"},{\"@id\":\"e-Feature\",\"@type\":\"Feature\"},{\"@id\":\"e-FeatureChainExpression\",\"@type\":\"FeatureChainExpression\"},{\"@id\":\"e-FeatureChaining\",\"@type\":\"FeatureChaining\"},{\"@id\":\"e-FeatureInverting\",\"@type\":\"FeatureInverting\"},{\"@id\":\"e-FeatureMembership\",\"@type\":\"FeatureMembership\"},{\"@id\":\"e-FeatureReferenceExpression\",\"@type\":\"FeatureReferenceExpression\"},{\"@id\":\"e-FeatureTyping\",\"@type\":\"FeatureTyping\"},{\"@id\":\"e-FeatureValue\",\"@type\":\"FeatureValue\"},{\"@id\":\"e-Flow\",\"@type\":\"Flow\"},{\"@id\":\"e-FlowDefinition\",\"@type\":\"FlowDefinition\"},{\"@id\":\"e-FlowEnd\",\"@type\":\"FlowEnd\"},{\"@id\":\"e-FlowUsage\",\"@type\":\"FlowUsage\"},{\"@id\":\"e-ForLoopActionUsage\",\"@type\":\"ForLoopActionUsage\"},{\"@id\":\"e-ForkNode\",\"@type\":\"ForkNode\"},{\"@id\":\"e-FramedConcernMembership\",\"@type\":\"FramedConcernMembership\"},{\"@id\":\"e-Function\",\"@type\":\"Function\"},{\"@id\":\"e-IfActionUsage\",\"@type\":\"IfActionUsage\"},{\"@id\":\"e-IncludeUseCaseUsage\",\"@type\":\"IncludeUseCaseUsage\"},{\"@id\":\"e-IndexExpression\",\"@type\":\"IndexExpression\"},{\"@id\":\"e-Interaction\",\"@type\":\"Interaction\"},{\"@id\":\"e-InterfaceDefinition\",\"@type\":\"InterfaceDefinition\"},{\"@id\":\"e-InterfaceUsage\",\"@type\":\"InterfaceUsage\"},{\"@id\":\"e-Intersecting\",\"@type\":\"Intersecting\"},{\"@id\":\"e-Invariant\",\"@type\":\"Invariant\"},{\"@id\":\"e-InvocationExpression\",\"@type\":\"InvocationExpression\"},{\"@id\":\"e-ItemDefinition\",\"@type\":\"ItemDefinition\"},{\"@id\":\"e-ItemUsage\",\"@type\":\"ItemUsage\"},{\"@id\":\"e-JoinNode\",\"@type\":\"JoinNode\"},{\"@id\":\"e-LibraryPackage\",\"@type\":\"LibraryPackage\"},{\"@id\":\"e-LiteralBoolean\",\"@type\":\"LiteralBoolean\"},{\"@id\":\"e-LiteralExpression\",\"@type\":\"LiteralExpression\"},{\"@id\":\"e-LiteralInfinity\",\"@type\":\"LiteralInfinity\"},{\"@id\":\"e-LiteralInteger\",\"@type\":\"LiteralInteger\"},{\"@id\":\"e-LiteralRational\",\"@type\":\"LiteralRational\"},{\"@id\":\"e-LiteralString\",\"@type\":\"LiteralString\"},{\"@id\":\"e-Membership\",\"@type\":\"Membership\"},{\"@id\":\"e-MembershipExpose\",\"@type\":\"MembershipExpose\"},{\"@id\":\"e-MembershipImport\",\"@type\":\"MembershipImport\"},{\"@id\":\"e-MergeNode\",\"@type\":\"MergeNode\"},{\"@id\":\"e-Metaclass\",\"@type\":\"Metaclass\"},{\"@id\":\"e-MetadataAccessExpression\",\"@type\":\"MetadataAccessExpression\"},{\"@id\":\"e-MetadataDefinition\",\"@type\":\"MetadataDefinition\"},{\"@id\":\"e-MetadataFeature\",\"@type\":\"MetadataFeature\"},{\"@id\":\"e-MetadataUsage\",\"@type\":\"MetadataUsage\"},{\"@id\":\"e-Multiplicity\",\"@type\":\"Multiplicity\"},{\"@id\":\"e-MultiplicityRange\",\"@type\":\"MultiplicityRange\"},{\"@id\":\"e-Namespace\",\"@type\":\"Namespace\"},{\"@id\":\"e-NamespaceExpose\",\"@type\":\"NamespaceExpose\"},{\"@id\":\"e-NamespaceImport\",\"@type\":\"NamespaceImport\"},{\"@id\":\"e-NullExpression\",\"@type\":\"NullExpression\"},{\"@id\":\"e-ObjectiveMembership\",\"@type\":\"ObjectiveMembership\"},{\"@id\":\"e-OccurrenceDefinition\",\"@type\":\"OccurrenceDefinition\"},{\"@id\":\"e-OccurrenceUsage\",\"@type\":\"OccurrenceUsage\"},{\"@id\":\"e-OperatorExpression\",\"@type\":\"OperatorExpression\"},{\"@id\":\"e-OwningMembership\",\"@type\":\"OwningMembership\"},{\"@id\":\"e-Package\",\"@type\":\"Package\"},{\"@id\":\"e-ParameterMembership\",\"@type\":\"ParameterMembership\"},{\"@id\":\"e-PartDefinition\",\"@type\":\"PartDefinition\"},{\"@id\":\"e-PartUsage\",\"@type\":\"PartUsage\"},{\"@id\":\"e-PayloadFeature\",\"@type\":\"PayloadFeature\"},{\"@id\":\"e-PerformActionUsage\",\"@type\":\"PerformActionUsage\"},{\"@id\":\"e-PortConjugation\",\"@type\":\"PortConjugation\"},{\"@id\":\"e-PortDefinition\",\"@type\":\"PortDefinition\"},{\"@id\":\"e-PortUsage\",\"@type\":\"PortUsage\"},{\"@id\":\"e-Predicate\",\"@type\":\"Predicate\"},{\"@id\":\"e-Redefinition\",\"@type\":\"Redefinition\"},{\"@id\":\"e-ReferenceSubsetting\",\"@type\":\"ReferenceSubsetting\"},{\"@id\":\"e-ReferenceUsage\",\"@type\":\"ReferenceUsage\"},{\"@id\":\"e-RenderingDefinition\",\"@type\":\"RenderingDefinition\"},{\"@id\":\"e-RenderingUsage\",\"@type\":\"RenderingUsage\"},{\"@id\":\"e-RequirementConstraintMembership\",\"@type\":\"RequirementConstraintMembership\"},{\"@id\":\"e-RequirementDefinition\",\"@type\":\"RequirementDefinition\"},{\"@id\":\"e-RequirementUsage\",\"@type\":\"RequirementUsage\"},{\"@id\":\"e-RequirementVerificationMembership\",\"@type\":\"RequirementVerificationMembership\"},{\"@id\":\"e-ResultExpressionMembership\",\"@type\":\"ResultExpressionMembership\"},{\"@id\":\"e-ReturnParameterMembership\",\"@type\":\"ReturnParameterMembership\"},{\"@id\":\"e-SatisfyRequirementUsage\",\"@type\":\"SatisfyRequirementUsage\"},{\"@id\":\"e-SelectExpression\",\"@type\":\"SelectExpression\"},{\"@id\":\"e-SendActionUsage\",\"@type\":\"SendActionUsage\"},{\"@id\":\"e-Specialization\",\"@type\":\"Specialization\"},{\"@id\":\"e-StakeholderMembership\",\"@type\":\"StakeholderMembership\"},{\"@id\":\"e-StateDefinition\",\"@type\":\"StateDefinition\"},{\"@id\":\"e-StateSubactionMembership\",\"@type\":\"StateSubactionMembership\"},{\"@id\":\"e-StateUsage\",\"@type\":\"StateUsage\"},{\"@id\":\"e-Step\",\"@type\":\"Step\"},{\"@id\":\"e-Structure\",\"@type\":\"Structure\"},{\"@id\":\"e-Subclassification\",\"@type\":\"Subclassification\"},{\"@id\":\"e-SubjectMembership\",\"@type\":\"SubjectMembership\"},{\"@id\":\"e-Subsetting\",\"@type\":\"Subsetting\"},{\"@id\":\"e-Succession\",\"@type\":\"Succession\"},{\"@id\":\"e-SuccessionAsUsage\",\"@type\":\"SuccessionAsUsage\"},{\"@id\":\"e-SuccessionFlow\",\"@type\":\"SuccessionFlow\"},{\"@id\":\"e-SuccessionFlowUsage\",\"@type\":\"SuccessionFlowUsage\"},{\"@id\":\"e-TerminateActionUsage\",\"@type\":\"TerminateActionUsage\"},{\"@id\":\"e-TextualRepresentation\",\"@type\":\"TextualRepresentation\"},{\"@id\":\"e-TransitionFeatureMembership\",\"@type\":\"TransitionFeatureMembership\"},{\"@id\":\"e-TransitionUsage\",\"@type\":\"TransitionUsage\"},{\"@id\":\"e-TriggerInvocationExpression\",\"@type\":\"TriggerInvocationExpression\"},{\"@id\":\"e-Type\",\"@type\":\"Type\"},{\"@id\":\"e-TypeFeaturing\",\"@type\":\"TypeFeaturing\"},{\"@id\":\"e-Unioning\",\"@type\":\"Unioning\"},{\"@id\":\"e-Usage\",\"@type\":\"Usage\"},{\"@id\":\"e-UseCaseDefinition\",\"@type\":\"UseCaseDefinition\"},{\"@id\":\"e-UseCaseUsage\",\"@type\":\"UseCaseUsage\"},{\"@id\":\"e-VariantMembership\",\"@type\":\"VariantMembership\"},{\"@id\":\"e-VerificationCaseDefinition\",\"@type\":\"VerificationCaseDefinition\"},{\"@id\":\"e-VerificationCaseUsage\",\"@type\":\"VerificationCaseUsage\"},{\"@id\":\"e-ViewDefinition\",\"@type\":\"ViewDefinition\"},{\"@id\":\"e-ViewRenderingMembership\",\"@type\":\"ViewRenderingMembership\"},{\"@id\":\"e-ViewUsage\",\"@type\":\"ViewUsage\"},{\"@id\":\"e-ViewpointDefinition\",\"@type\":\"ViewpointDefinition\"},{\"@id\":\"e-ViewpointUsage\",\"@type\":\"ViewpointUsage\"},{\"@id\":\"e-WhileLoopActionUsage\",\"@type\":\"WhileLoopActionUsage\"}]"; + Model m = Model::from_full_json(payload); + check_AcceptActionUsage(m); + check_ActionDefinition(m); + check_ActionUsage(m); + check_ActorMembership(m); + check_AllocationDefinition(m); + check_AllocationUsage(m); + check_AnalysisCaseDefinition(m); + check_AnalysisCaseUsage(m); + check_AnnotatingElement(m); + check_Annotation(m); + check_AssertConstraintUsage(m); + check_AssignmentActionUsage(m); + check_Association(m); + check_AssociationStructure(m); + check_AttributeDefinition(m); + check_AttributeUsage(m); + check_Behavior(m); + check_BindingConnector(m); + check_BindingConnectorAsUsage(m); + check_BooleanExpression(m); + check_CalculationDefinition(m); + check_CalculationUsage(m); + check_CaseDefinition(m); + check_CaseUsage(m); + check_Class(m); + check_Classifier(m); + check_CollectExpression(m); + check_Comment(m); + check_ConcernDefinition(m); + check_ConcernUsage(m); + check_ConjugatedPortDefinition(m); + check_ConjugatedPortTyping(m); + check_Conjugation(m); + check_ConnectionDefinition(m); + check_ConnectionUsage(m); + check_Connector(m); + check_ConstraintDefinition(m); + check_ConstraintUsage(m); + check_ConstructorExpression(m); + check_CrossSubsetting(m); + check_DataType(m); + check_DecisionNode(m); + check_Definition(m); + check_Dependency(m); + check_Differencing(m); + check_Disjoining(m); + check_Documentation(m); + check_ElementFilterMembership(m); + check_EndFeatureMembership(m); + check_EnumerationDefinition(m); + check_EnumerationUsage(m); + check_EventOccurrenceUsage(m); + check_ExhibitStateUsage(m); + check_Expression(m); + check_Feature(m); + check_FeatureChainExpression(m); + check_FeatureChaining(m); + check_FeatureInverting(m); + check_FeatureMembership(m); + check_FeatureReferenceExpression(m); + check_FeatureTyping(m); + check_FeatureValue(m); + check_Flow(m); + check_FlowDefinition(m); + check_FlowEnd(m); + check_FlowUsage(m); + check_ForLoopActionUsage(m); + check_ForkNode(m); + check_FramedConcernMembership(m); + check_Function(m); + check_IfActionUsage(m); + check_IncludeUseCaseUsage(m); + check_IndexExpression(m); + check_Interaction(m); + check_InterfaceDefinition(m); + check_InterfaceUsage(m); + check_Intersecting(m); + check_Invariant(m); + check_InvocationExpression(m); + check_ItemDefinition(m); + check_ItemUsage(m); + check_JoinNode(m); + check_LibraryPackage(m); + check_LiteralBoolean(m); + check_LiteralExpression(m); + check_LiteralInfinity(m); + check_LiteralInteger(m); + check_LiteralRational(m); + check_LiteralString(m); + check_Membership(m); + check_MembershipExpose(m); + check_MembershipImport(m); + check_MergeNode(m); + check_Metaclass(m); + check_MetadataAccessExpression(m); + check_MetadataDefinition(m); + check_MetadataFeature(m); + check_MetadataUsage(m); + check_Multiplicity(m); + check_MultiplicityRange(m); + check_Namespace(m); + check_NamespaceExpose(m); + check_NamespaceImport(m); + check_NullExpression(m); + check_ObjectiveMembership(m); + check_OccurrenceDefinition(m); + check_OccurrenceUsage(m); + check_OperatorExpression(m); + check_OwningMembership(m); + check_Package(m); + check_ParameterMembership(m); + check_PartDefinition(m); + check_PartUsage(m); + check_PayloadFeature(m); + check_PerformActionUsage(m); + check_PortConjugation(m); + check_PortDefinition(m); + check_PortUsage(m); + check_Predicate(m); + check_Redefinition(m); + check_ReferenceSubsetting(m); + check_ReferenceUsage(m); + check_RenderingDefinition(m); + check_RenderingUsage(m); + check_RequirementConstraintMembership(m); + check_RequirementDefinition(m); + check_RequirementUsage(m); + check_RequirementVerificationMembership(m); + check_ResultExpressionMembership(m); + check_ReturnParameterMembership(m); + check_SatisfyRequirementUsage(m); + check_SelectExpression(m); + check_SendActionUsage(m); + check_Specialization(m); + check_StakeholderMembership(m); + check_StateDefinition(m); + check_StateSubactionMembership(m); + check_StateUsage(m); + check_Step(m); + check_Structure(m); + check_Subclassification(m); + check_SubjectMembership(m); + check_Subsetting(m); + check_Succession(m); + check_SuccessionAsUsage(m); + check_SuccessionFlow(m); + check_SuccessionFlowUsage(m); + check_TerminateActionUsage(m); + check_TextualRepresentation(m); + check_TransitionFeatureMembership(m); + check_TransitionUsage(m); + check_TriggerInvocationExpression(m); + check_Type(m); + check_TypeFeaturing(m); + check_Unioning(m); + check_Usage(m); + check_UseCaseDefinition(m); + check_UseCaseUsage(m); + check_VariantMembership(m); + check_VerificationCaseDefinition(m); + check_VerificationCaseUsage(m); + check_ViewDefinition(m); + check_ViewRenderingMembership(m); + check_ViewUsage(m); + check_ViewpointDefinition(m); + check_ViewpointUsage(m); + check_WhileLoopActionUsage(m); + std::cout << "conformance OK: 175 classes, 167 concrete, table " << std::string(TABLE_SHA256).substr(0, 12) + << "\n"; +} + +} // namespace checks diff --git a/cpp/checks/sha256.hpp b/cpp/checks/sha256.hpp new file mode 100644 index 0000000..dc95785 --- /dev/null +++ b/cpp/checks/sha256.hpp @@ -0,0 +1,100 @@ +// Minimal SHA-256 (FIPS 180-4) — only used by the conformance harness +// to verify the metamodel.json digest pin. Not a general crypto library. +#pragma once + +#include +#include +#include + +namespace checks { + +inline std::string sha256_hex(const std::string& data) { + static constexpr std::array K = { + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, + 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, + 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, + 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, + 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, + 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, + 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, + 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, + 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, + 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, + 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, + 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2}; + std::array h = {0x6a09e667, 0xbb67ae85, 0x3c6ef372, + 0xa54ff53a, 0x510e527f, 0x9b05688c, + 0x1f83d9ab, 0x5be0cd19}; + + std::string msg = data; + const std::uint64_t bit_len = static_cast(msg.size()) * 8; + msg.push_back('\x80'); + while (msg.size() % 64 != 56) + msg.push_back('\0'); + for (int i = 7; i >= 0; --i) + msg.push_back(static_cast((bit_len >> (8 * i)) & 0xff)); + + const auto rotr = [](std::uint32_t x, int n) { + return (x >> n) | (x << (32 - n)); + }; + + for (std::size_t chunk = 0; chunk < msg.size(); chunk += 64) { + std::array w{}; + for (int i = 0; i < 16; ++i) + w[i] = (static_cast( + static_cast(msg[chunk + 4 * i])) + << 24) | + (static_cast( + static_cast(msg[chunk + 4 * i + 1])) + << 16) | + (static_cast( + static_cast(msg[chunk + 4 * i + 2])) + << 8) | + static_cast( + static_cast(msg[chunk + 4 * i + 3])); + for (int i = 16; i < 64; ++i) { + const std::uint32_t s0 = + rotr(w[i - 15], 7) ^ rotr(w[i - 15], 18) ^ (w[i - 15] >> 3); + const std::uint32_t s1 = + rotr(w[i - 2], 17) ^ rotr(w[i - 2], 19) ^ (w[i - 2] >> 10); + w[i] = w[i - 16] + s0 + w[i - 7] + s1; + } + std::uint32_t a = h[0], b = h[1], c = h[2], d = h[3], e = h[4], + f = h[5], g = h[6], hh = h[7]; + for (int i = 0; i < 64; ++i) { + const std::uint32_t s1 = rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25); + const std::uint32_t ch = (e & f) ^ (~e & g); + const std::uint32_t t1 = hh + s1 + ch + K[i] + w[i]; + const std::uint32_t s0 = rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22); + const std::uint32_t maj = (a & b) ^ (a & c) ^ (b & c); + const std::uint32_t t2 = s0 + maj; + hh = g; + g = f; + f = e; + e = d + t1; + d = c; + c = b; + b = a; + a = t1 + t2; + } + h[0] += a; + h[1] += b; + h[2] += c; + h[3] += d; + h[4] += e; + h[5] += f; + h[6] += g; + h[7] += hh; + } + + static constexpr char hex[] = "0123456789abcdef"; + std::string out; + out.reserve(64); + for (std::uint32_t v : h) + for (int i = 7; i >= 0; --i) + out.push_back(hex[(v >> (4 * i)) & 0xf]); + return out; +} + +} // namespace checks diff --git a/cpp/checks/toolkit_checks.cpp b/cpp/checks/toolkit_checks.cpp new file mode 100644 index 0000000..224ca98 --- /dev/null +++ b/cpp/checks/toolkit_checks.cpp @@ -0,0 +1,134 @@ +// C++ reading directly from the SysML Toolkit through the binding library, loaded at run time. +// Build and run from the repository root (add -static on MinGW): +// g++ -std=c++17 -Wall -Werror -I cpp/include -I vendor cpp/checks/toolkit_checks.cpp -o cpp/out/toolkit_checks +// cpp/out/toolkit_checks +// Exits 0 with a note when the library is not built, so payload checks still run everywhere; with +// SYSML_REQUIRE_TOOLKIT=1 a missing library is a failure instead. +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +using namespace sysml; + +static void check(bool cond, const char* what) { + if (!cond) throw std::runtime_error(std::string("FAILED: ") + what); +} + +/// The member a SysML Toolkit refusal names (`Type::inheritedMemberships()` gives +/// `inheritedMemberships()`). +static std::string refused_member(const std::string& message) { + const auto i = message.find(" is not answered by the SysML Toolkit"); + if (i == std::string::npos) return ""; + std::string head = message.substr(0, i); + const auto j = head.rfind("::"); + return j == std::string::npos ? head : head.substr(j + 2); +} + +/// A check that meets the SysML Toolkit's refusal of `member` first (not_implemented_in_toolkit +/// naming it): an expected failure, reported as one. It fails when it passes (the SysML Toolkit +/// answers now: remove the expectation) or when it stops on anything else. +static void expect_refusal(const std::string& member, const std::string& reason, const std::string& what, + const std::function& body) { + try { + body(); + } catch (const not_implemented_in_toolkit& e) { + if (refused_member(e.what()) == member) { + std::cout << "expected failure: " << what << ": the SysML Toolkit refuses " << member << " (" << reason << ")\n"; + return; + } + throw; + } + throw std::runtime_error("FAILED: " + what + ": the SysML Toolkit answers " + member + " now; remove the expected refusal"); +} + +int main() { + std::string path; + try { + path = ToolkitBackend::Library::default_path(); + } catch (const sdk_error& e) { + const char* require = std::getenv("SYSML_REQUIRE_TOOLKIT"); + if (require && std::string(require) == "1") { + std::cerr << "SYSML_REQUIRE_TOOLKIT=1 but " << e.what() << "\n"; + return 1; + } + std::cout << "SysML Toolkit checks skipped: binding library not built\n"; + return 0; + } + const std::string source = + "package Demo { part def Wheel; part def Car { part wheels : Wheel[4]; attribute mass; } part def Sports :> Car { part spoiler; } part def Link { part a; part b; connect a to b; } }"; + auto be = ToolkitBackend::open_sources({{"inline.sysml", source}}); + ToolkitBackend* raw = be.get(); + Model m = Model::from_backend(std::move(be)); + + Element car = m.resolve("Demo::Car").value(); + check(car.is_a(), "Car is a PartDefinition"); + auto car_def = car.as(); + check(car_def.getQualifiedName().value() == "Demo::Car", "qualifiedName"); + check(car_def.getOwner().value().is_a(), "owner is the package"); + auto feats = car_def.getOwnedFeature(); + check(feats.size() == 2 && feats[0].getDeclaredName().value() == "wheels", "ownedFeature"); + check(feats[0].is_a(), "wheels is a PartUsage"); + expect_refusal("type", "it waits on implied relationships", "type", [&] { + auto types = feats[0].getType(); + check(types.size() == 1 && types[0].getDeclaredName().value() == "Wheel", "type"); + }); + check(feats[0].getIsComposite().value() == true, "isComposite"); + auto sports = m.resolve("Demo::Sports").value().as(); + expect_refusal("inheritedFeature", "it waits on implied relationships", "inheritedFeature", + [&] { check(sports.getInheritedFeature().size() == 2, "inheritedFeature computed by the SysML Toolkit"); }); + check(car == m.resolve("Demo::Car").value(), "identity by elementId"); + check(car.element_id().size() == 36, "elementId is a UUID"); + // Operations, through the SysML Toolkit's operation entry point; it refuses what it cannot + // answer as specified. + check(car_def.effectiveName().value() == "Car", "effectiveName"); + expect_refusal("connectorEnd", "it waits on the implied end redefinitions", "an unnamed connection end is named by the end it redefines", [&] { + std::optional connection; + for (const Feature& f : m.resolve("Demo::Link").value().as().getOwnedFeature()) + if (f.is_a()) connection = f.as(); + Feature end = connection.value().getConnectorEnd().at(0); + check(!end.getDeclaredName() && end.effectiveName().value() == "source", + "an unnamed connection end is named by the end it redefines"); + }); + expect_refusal("inheritedMemberships()", "its evidence is incomplete", "inheritedMemberships", [&] { + auto memberships = sports.inheritedMemberships({}, {}, false); + check(memberships.size() == 2 && memberships[0].getMemberName().value() == "wheels", "inheritedMemberships"); + }); + bool op_refused = false; + try { + (void)sports.isCompatibleWith(car_def); + } catch (const not_implemented_in_toolkit& e) { + op_refused = std::string(e.what()).find("isCompatibleWith") != std::string::npos; + } + check(op_refused, "an operation the SysML Toolkit cannot answer as specified is refused"); + check(raw->full_json().rfind("[", 0) == 0, "full_json"); + + // Text beyond ASCII, a requirement's text (a list of strings), the members every element has, + // the top-level namespaces, the elements of a metaclass, and elements as keys. + Model sizes = Model::from_backend(ToolkitBackend::open_sources({{"größe.sysml", + "package Sizes { doc /* Größe und Wärme */ requirement def Light { doc /* Keep it light. */ } part def Last; }"}})); + check(sizes.resolve("Sizes::Last").value().is_a(), "a source with text beyond ASCII loads whole"); + check(sizes.resolve("Sizes").value().getDocumentation().at(0).getBody().value_or("").find("Größe und Wärme") != std::string::npos, + "text beyond ASCII comes back intact"); + auto light = sizes.resolve("Sizes::Light").value().as(); + std::vector text = light.getText(); + check(text.size() == 1 && text[0].rfind("Keep it light.", 0) == 0, "a requirement's text is a list of strings"); + Element owner = light.getOwner().value(); + check(owner.getName() == std::optional("Sizes"), "the members of Element, read on a plain Element"); + bool found = false; + for (const Element& root : sizes.roots()) + for (const Element& member : root.as().getOwnedMember()) + found = found || member.getName() == std::optional("Sizes"); + check(found, "roots"); + check(sizes.elements_of_type().size() == 1, "elements_of_type"); + std::unordered_set keys{owner, sizes.resolve("Sizes").value()}; + check(keys.size() == 1, "elements hash as they compare"); + std::cout << "ALL C++ SYSML TOOLKIT CHECKS PASSED\n"; + return 0; +} diff --git a/cpp/include/sysml/classes.g.hpp b/cpp/include/sysml/classes.g.hpp new file mode 100644 index 0000000..6b216d8 --- /dev/null +++ b/cpp/include/sysml/classes.g.hpp @@ -0,0 +1,38790 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cpp.py. +// Virtual-inheritance metaclass hierarchy over the SDK runtime +// (sdk.hpp): every struct is a view of the same element. +#pragma once + +#include "sdk.hpp" + +namespace sysml { + +/// concrete — KerML 20250201. +struct Namespace : public virtual Element { + static constexpr std::string_view kind_name = "Namespace"; + Namespace() = default; + Namespace(const Namespace&) = default; + Namespace& operator=(const Namespace&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getImportedMembership() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedImport() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector namesOf(const std::optional& element) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Type : public virtual Namespace { + static constexpr std::string_view kind_name = "Type"; + Type() = default; + Type(const Type&) = default; + Type& operator=(const Type&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Feature : public virtual Type { + static constexpr std::string_view kind_name = "Feature"; + Feature() = default; + Feature(const Feature&) = default; + Feature& operator=(const Feature&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Step : public virtual Feature { + static constexpr std::string_view kind_name = "Step"; + Step() = default; + Step(const Step&) = default; + Step& operator=(const Step&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct Usage : public virtual Feature { + static constexpr std::string_view kind_name = "Usage"; + Usage() = default; + Usage(const Usage&) = default; + Usage& operator=(const Usage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct OccurrenceUsage : public virtual Usage { + static constexpr std::string_view kind_name = "OccurrenceUsage"; + OccurrenceUsage() = default; + OccurrenceUsage(const OccurrenceUsage&) = default; + OccurrenceUsage& operator=(const OccurrenceUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ActionUsage : public virtual Step, public virtual OccurrenceUsage { + static constexpr std::string_view kind_name = "ActionUsage"; + ActionUsage() = default; + ActionUsage(const ActionUsage&) = default; + ActionUsage& operator=(const ActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AcceptActionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "AcceptActionUsage"; + AcceptActionUsage() = default; + AcceptActionUsage(const AcceptActionUsage&) = default; + AcceptActionUsage& operator=(const AcceptActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPayloadArgument() const; + std::optional getPayloadParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getReceiverArgument() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional isTriggerAction() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Classifier : public virtual Type { + static constexpr std::string_view kind_name = "Classifier"; + Classifier() = default; + Classifier(const Classifier&) = default; + Classifier& operator=(const Classifier&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct Definition : public virtual Classifier { + static constexpr std::string_view kind_name = "Definition"; + Definition() = default; + Definition(const Definition&) = default; + Definition& operator=(const Definition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Class : public virtual Classifier { + static constexpr std::string_view kind_name = "Class"; + Class() = default; + Class(const Class&) = default; + Class& operator=(const Class&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct OccurrenceDefinition : public virtual Definition, public virtual Class { + static constexpr std::string_view kind_name = "OccurrenceDefinition"; + OccurrenceDefinition() = default; + OccurrenceDefinition(const OccurrenceDefinition&) = default; + OccurrenceDefinition& operator=(const OccurrenceDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Behavior : public virtual Class { + static constexpr std::string_view kind_name = "Behavior"; + Behavior() = default; + Behavior(const Behavior&) = default; + Behavior& operator=(const Behavior&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ActionDefinition : public virtual OccurrenceDefinition, public virtual Behavior { + static constexpr std::string_view kind_name = "ActionDefinition"; + ActionDefinition() = default; + ActionDefinition(const ActionDefinition&) = default; + ActionDefinition& operator=(const ActionDefinition&) = default; + std::vector getAction() const; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// abstract — KerML 20250201. +struct Relationship : public virtual Element { + static constexpr std::string_view kind_name = "Relationship"; + Relationship() = default; + Relationship(const Relationship&) = default; + Relationship& operator=(const Relationship&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Membership : public virtual Relationship { + static constexpr std::string_view kind_name = "Membership"; + Membership() = default; + Membership(const Membership&) = default; + Membership& operator=(const Membership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct OwningMembership : public virtual Membership { + static constexpr std::string_view kind_name = "OwningMembership"; + OwningMembership() = default; + OwningMembership(const OwningMembership&) = default; + OwningMembership& operator=(const OwningMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct FeatureMembership : public virtual OwningMembership { + static constexpr std::string_view kind_name = "FeatureMembership"; + FeatureMembership() = default; + FeatureMembership(const FeatureMembership&) = default; + FeatureMembership& operator=(const FeatureMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct ParameterMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "ParameterMembership"; + ParameterMembership() = default; + ParameterMembership(const ParameterMembership&) = default; + ParameterMembership& operator=(const ParameterMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberParameter() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional parameterDirection() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct ActorMembership : public virtual ParameterMembership { + static constexpr std::string_view kind_name = "ActorMembership"; + ActorMembership() = default; + ActorMembership(const ActorMembership&) = default; + ActorMembership& operator=(const ActorMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::optional getOwnedActorParameter() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberParameter() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional parameterDirection() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Structure : public virtual Class { + static constexpr std::string_view kind_name = "Structure"; + Structure() = default; + Structure(const Structure&) = default; + Structure& operator=(const Structure&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Association : public virtual Classifier, public virtual Relationship { + static constexpr std::string_view kind_name = "Association"; + Association() = default; + Association(const Association&) = default; + Association& operator=(const Association&) = default; + std::vector getAliasIds() const; + std::vector getAssociationEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct AssociationStructure : public virtual Structure, public virtual Association { + static constexpr std::string_view kind_name = "AssociationStructure"; + AssociationStructure() = default; + AssociationStructure(const AssociationStructure&) = default; + AssociationStructure& operator=(const AssociationStructure&) = default; + std::vector getAliasIds() const; + std::vector getAssociationEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ItemDefinition : public virtual Structure, public virtual OccurrenceDefinition { + static constexpr std::string_view kind_name = "ItemDefinition"; + ItemDefinition() = default; + ItemDefinition(const ItemDefinition&) = default; + ItemDefinition& operator=(const ItemDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct PartDefinition : public virtual ItemDefinition { + static constexpr std::string_view kind_name = "PartDefinition"; + PartDefinition() = default; + PartDefinition(const PartDefinition&) = default; + PartDefinition& operator=(const PartDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConnectionDefinition : public virtual AssociationStructure, public virtual PartDefinition { + static constexpr std::string_view kind_name = "ConnectionDefinition"; + ConnectionDefinition() = default; + ConnectionDefinition(const ConnectionDefinition&) = default; + ConnectionDefinition& operator=(const ConnectionDefinition&) = default; + std::vector getAliasIds() const; + std::vector getAssociationEnd() const; + std::vector getConnectionEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AllocationDefinition : public virtual ConnectionDefinition { + static constexpr std::string_view kind_name = "AllocationDefinition"; + AllocationDefinition() = default; + AllocationDefinition(const AllocationDefinition&) = default; + AllocationDefinition& operator=(const AllocationDefinition&) = default; + std::vector getAliasIds() const; + std::vector getAllocation() const; + std::vector getAssociationEnd() const; + std::vector getConnectionEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ItemUsage : public virtual OccurrenceUsage { + static constexpr std::string_view kind_name = "ItemUsage"; + ItemUsage() = default; + ItemUsage(const ItemUsage&) = default; + ItemUsage& operator=(const ItemUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct PartUsage : public virtual ItemUsage { + static constexpr std::string_view kind_name = "PartUsage"; + PartUsage() = default; + PartUsage(const PartUsage&) = default; + PartUsage& operator=(const PartUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPartDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Connector : public virtual Feature, public virtual Relationship { + static constexpr std::string_view kind_name = "Connector"; + Connector() = default; + Connector(const Connector&) = default; + Connector& operator=(const Connector&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// abstract — SysML 20250201. +struct ConnectorAsUsage : public virtual Usage, public virtual Connector { + static constexpr std::string_view kind_name = "ConnectorAsUsage"; + ConnectorAsUsage() = default; + ConnectorAsUsage(const ConnectorAsUsage&) = default; + ConnectorAsUsage& operator=(const ConnectorAsUsage&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConnectionUsage : public virtual PartUsage, public virtual ConnectorAsUsage { + static constexpr std::string_view kind_name = "ConnectionUsage"; + ConnectionUsage() = default; + ConnectionUsage(const ConnectionUsage&) = default; + ConnectionUsage& operator=(const ConnectionUsage&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectionDefinition() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPartDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AllocationUsage : public virtual ConnectionUsage { + static constexpr std::string_view kind_name = "AllocationUsage"; + AllocationUsage() = default; + AllocationUsage(const AllocationUsage&) = default; + AllocationUsage& operator=(const AllocationUsage&) = default; + std::vector getAliasIds() const; + std::vector getAllocationDefinition() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectionDefinition() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPartDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Function : public virtual Behavior { + static constexpr std::string_view kind_name = "Function"; + Function() = default; + Function(const Function&) = default; + Function& operator=(const Function&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct CalculationDefinition : public virtual ActionDefinition, public virtual Function { + static constexpr std::string_view kind_name = "CalculationDefinition"; + CalculationDefinition() = default; + CalculationDefinition(const CalculationDefinition&) = default; + CalculationDefinition& operator=(const CalculationDefinition&) = default; + std::vector getAction() const; + std::vector getAliasIds() const; + std::vector getCalculation() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct CaseDefinition : public virtual CalculationDefinition { + static constexpr std::string_view kind_name = "CaseDefinition"; + CaseDefinition() = default; + CaseDefinition(const CaseDefinition&) = default; + CaseDefinition& operator=(const CaseDefinition&) = default; + std::vector getAction() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getCalculation() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getObjectiveRequirement() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AnalysisCaseDefinition : public virtual CaseDefinition { + static constexpr std::string_view kind_name = "AnalysisCaseDefinition"; + AnalysisCaseDefinition() = default; + AnalysisCaseDefinition(const AnalysisCaseDefinition&) = default; + AnalysisCaseDefinition& operator=(const AnalysisCaseDefinition&) = default; + std::vector getAction() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getCalculation() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getObjectiveRequirement() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getResultExpression() const; + std::optional getShortName() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Expression : public virtual Step { + static constexpr std::string_view kind_name = "Expression"; + Expression() = default; + Expression(const Expression&) = default; + Expression& operator=(const Expression&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct CalculationUsage : public virtual Expression, public virtual ActionUsage { + static constexpr std::string_view kind_name = "CalculationUsage"; + CalculationUsage() = default; + CalculationUsage(const CalculationUsage&) = default; + CalculationUsage& operator=(const CalculationUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getCalculationDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct CaseUsage : public virtual CalculationUsage { + static constexpr std::string_view kind_name = "CaseUsage"; + CaseUsage() = default; + CaseUsage(const CaseUsage&) = default; + CaseUsage& operator=(const CaseUsage&) = default; + std::vector getActionDefinition() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getCalculationDefinition() const; + std::optional getCaseDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::optional getObjectiveRequirement() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AnalysisCaseUsage : public virtual CaseUsage { + static constexpr std::string_view kind_name = "AnalysisCaseUsage"; + AnalysisCaseUsage() = default; + AnalysisCaseUsage(const AnalysisCaseUsage&) = default; + AnalysisCaseUsage& operator=(const AnalysisCaseUsage&) = default; + std::vector getActionDefinition() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::optional getAnalysisCaseDefinition() const; + std::vector getBehavior() const; + std::optional getCalculationDefinition() const; + std::optional getCaseDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::optional getObjectiveRequirement() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getResultExpression() const; + std::optional getShortName() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct AnnotatingElement : public virtual Element { + static constexpr std::string_view kind_name = "AnnotatingElement"; + AnnotatingElement() = default; + AnnotatingElement(const AnnotatingElement&) = default; + AnnotatingElement& operator=(const AnnotatingElement&) = default; + std::vector getAliasIds() const; + std::vector getAnnotatedElement() const; + std::vector getAnnotation() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotatingRelationship() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningAnnotatingRelationship() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Annotation : public virtual Relationship { + static constexpr std::string_view kind_name = "Annotation"; + Annotation() = default; + Annotation(const Annotation&) = default; + Annotation& operator=(const Annotation&) = default; + std::vector getAliasIds() const; + std::optional getAnnotatedElement() const; + std::optional getAnnotatingElement() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::optional getOwnedAnnotatingElement() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningAnnotatedElement() const; + std::optional getOwningAnnotatingElement() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct BooleanExpression : public virtual Expression { + static constexpr std::string_view kind_name = "BooleanExpression"; + BooleanExpression() = default; + BooleanExpression(const BooleanExpression&) = default; + BooleanExpression& operator=(const BooleanExpression&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Invariant : public virtual BooleanExpression { + static constexpr std::string_view kind_name = "Invariant"; + Invariant() = default; + Invariant(const Invariant&) = default; + Invariant& operator=(const Invariant&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsNegated() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConstraintUsage : public virtual OccurrenceUsage, public virtual BooleanExpression { + static constexpr std::string_view kind_name = "ConstraintUsage"; + ConstraintUsage() = default; + ConstraintUsage(const ConstraintUsage&) = default; + ConstraintUsage& operator=(const ConstraintUsage&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getConstraintDefinition() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AssertConstraintUsage : public virtual Invariant, public virtual ConstraintUsage { + static constexpr std::string_view kind_name = "AssertConstraintUsage"; + AssertConstraintUsage() = default; + AssertConstraintUsage(const AssertConstraintUsage&) = default; + AssertConstraintUsage& operator=(const AssertConstraintUsage&) = default; + std::vector getAliasIds() const; + std::optional getAssertedConstraint() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getConstraintDefinition() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsNegated() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AssignmentActionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "AssignmentActionUsage"; + AssignmentActionUsage() = default; + AssignmentActionUsage(const AssignmentActionUsage&) = default; + AssignmentActionUsage& operator=(const AssignmentActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getReferent() const; + std::optional getShortName() const; + std::optional getTargetArgument() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::optional getValueExpression() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct DataType : public virtual Classifier { + static constexpr std::string_view kind_name = "DataType"; + DataType() = default; + DataType(const DataType&) = default; + DataType& operator=(const DataType&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AttributeDefinition : public virtual DataType, public virtual Definition { + static constexpr std::string_view kind_name = "AttributeDefinition"; + AttributeDefinition() = default; + AttributeDefinition(const AttributeDefinition&) = default; + AttributeDefinition& operator=(const AttributeDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct AttributeUsage : public virtual Usage { + static constexpr std::string_view kind_name = "AttributeUsage"; + AttributeUsage() = default; + AttributeUsage(const AttributeUsage&) = default; + AttributeUsage& operator=(const AttributeUsage&) = default; + std::vector getAliasIds() const; + std::vector getAttributeDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct BindingConnector : public virtual Connector { + static constexpr std::string_view kind_name = "BindingConnector"; + BindingConnector() = default; + BindingConnector(const BindingConnector&) = default; + BindingConnector& operator=(const BindingConnector&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct BindingConnectorAsUsage : public virtual BindingConnector, public virtual ConnectorAsUsage { + static constexpr std::string_view kind_name = "BindingConnectorAsUsage"; + BindingConnectorAsUsage() = default; + BindingConnectorAsUsage(const BindingConnectorAsUsage&) = default; + BindingConnectorAsUsage& operator=(const BindingConnectorAsUsage&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// abstract — KerML 20250201. +struct InstantiationExpression : public virtual Expression { + static constexpr std::string_view kind_name = "InstantiationExpression"; + InstantiationExpression() = default; + InstantiationExpression(const InstantiationExpression&) = default; + InstantiationExpression& operator=(const InstantiationExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct InvocationExpression : public virtual InstantiationExpression { + static constexpr std::string_view kind_name = "InvocationExpression"; + InvocationExpression() = default; + InvocationExpression(const InvocationExpression&) = default; + InvocationExpression& operator=(const InvocationExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct OperatorExpression : public virtual InvocationExpression { + static constexpr std::string_view kind_name = "OperatorExpression"; + OperatorExpression() = default; + OperatorExpression(const OperatorExpression&) = default; + OperatorExpression& operator=(const OperatorExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getOperator() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct CollectExpression : public virtual OperatorExpression { + static constexpr std::string_view kind_name = "CollectExpression"; + CollectExpression() = default; + CollectExpression(const CollectExpression&) = default; + CollectExpression& operator=(const CollectExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getOperator() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Comment : public virtual AnnotatingElement { + static constexpr std::string_view kind_name = "Comment"; + Comment() = default; + Comment(const Comment&) = default; + Comment& operator=(const Comment&) = default; + std::vector getAliasIds() const; + std::vector getAnnotatedElement() const; + std::vector getAnnotation() const; + std::optional getBody() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getLocale() const; + std::optional getName() const; + std::vector getOwnedAnnotatingRelationship() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningAnnotatingRelationship() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Predicate : public virtual Function { + static constexpr std::string_view kind_name = "Predicate"; + Predicate() = default; + Predicate(const Predicate&) = default; + Predicate& operator=(const Predicate&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConstraintDefinition : public virtual OccurrenceDefinition, public virtual Predicate { + static constexpr std::string_view kind_name = "ConstraintDefinition"; + ConstraintDefinition() = default; + ConstraintDefinition(const ConstraintDefinition&) = default; + ConstraintDefinition& operator=(const ConstraintDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct RequirementDefinition : public virtual ConstraintDefinition { + static constexpr std::string_view kind_name = "RequirementDefinition"; + RequirementDefinition() = default; + RequirementDefinition(const RequirementDefinition&) = default; + RequirementDefinition& operator=(const RequirementDefinition&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getAssumedConstraint() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getFramedConcern() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConcernDefinition : public virtual RequirementDefinition { + static constexpr std::string_view kind_name = "ConcernDefinition"; + ConcernDefinition() = default; + ConcernDefinition(const ConcernDefinition&) = default; + ConcernDefinition& operator=(const ConcernDefinition&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getAssumedConstraint() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getFramedConcern() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct RequirementUsage : public virtual ConstraintUsage { + static constexpr std::string_view kind_name = "RequirementUsage"; + RequirementUsage() = default; + RequirementUsage(const RequirementUsage&) = default; + RequirementUsage& operator=(const RequirementUsage&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getAssumedConstraint() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getConstraintDefinition() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFramedConcern() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getRequirementDefinition() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConcernUsage : public virtual RequirementUsage { + static constexpr std::string_view kind_name = "ConcernUsage"; + ConcernUsage() = default; + ConcernUsage(const ConcernUsage&) = default; + ConcernUsage& operator=(const ConcernUsage&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getAssumedConstraint() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getConcernDefinition() const; + std::optional getConstraintDefinition() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFramedConcern() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getRequirementDefinition() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct PortDefinition : public virtual Structure, public virtual OccurrenceDefinition { + static constexpr std::string_view kind_name = "PortDefinition"; + PortDefinition() = default; + PortDefinition(const PortDefinition&) = default; + PortDefinition& operator=(const PortDefinition&) = default; + std::vector getAliasIds() const; + std::optional getConjugatedPortDefinition() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ConjugatedPortDefinition : public virtual PortDefinition { + static constexpr std::string_view kind_name = "ConjugatedPortDefinition"; + ConjugatedPortDefinition() = default; + ConjugatedPortDefinition(const ConjugatedPortDefinition&) = default; + ConjugatedPortDefinition& operator=(const ConjugatedPortDefinition&) = default; + std::vector getAliasIds() const; + std::optional getConjugatedPortDefinition() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getOriginalPortDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::optional getOwnedPortConjugator() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Specialization : public virtual Relationship { + static constexpr std::string_view kind_name = "Specialization"; + Specialization() = default; + Specialization(const Specialization&) = default; + Specialization& operator=(const Specialization&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct FeatureTyping : public virtual Specialization { + static constexpr std::string_view kind_name = "FeatureTyping"; + FeatureTyping() = default; + FeatureTyping(const FeatureTyping&) = default; + FeatureTyping& operator=(const FeatureTyping&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getType() const; + std::optional getTypedFeature() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct ConjugatedPortTyping : public virtual FeatureTyping { + static constexpr std::string_view kind_name = "ConjugatedPortTyping"; + ConjugatedPortTyping() = default; + ConjugatedPortTyping(const ConjugatedPortTyping&) = default; + ConjugatedPortTyping& operator=(const ConjugatedPortTyping&) = default; + std::vector getAliasIds() const; + std::optional getConjugatedPortDefinition() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getPortDefinition() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getType() const; + std::optional getTypedFeature() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Conjugation : public virtual Relationship { + static constexpr std::string_view kind_name = "Conjugation"; + Conjugation() = default; + Conjugation(const Conjugation&) = default; + Conjugation& operator=(const Conjugation&) = default; + std::vector getAliasIds() const; + std::optional getConjugatedType() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::optional getOriginalType() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct ConstructorExpression : public virtual InstantiationExpression { + static constexpr std::string_view kind_name = "ConstructorExpression"; + ConstructorExpression() = default; + ConstructorExpression(const ConstructorExpression&) = default; + ConstructorExpression& operator=(const ConstructorExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// abstract — SysML 20250201. +struct ControlNode : public virtual ActionUsage { + static constexpr std::string_view kind_name = "ControlNode"; + ControlNode() = default; + ControlNode(const ControlNode&) = default; + ControlNode& operator=(const ControlNode&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::optional multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Subsetting : public virtual Specialization { + static constexpr std::string_view kind_name = "Subsetting"; + Subsetting() = default; + Subsetting(const Subsetting&) = default; + Subsetting& operator=(const Subsetting&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::optional getSubsettedFeature() const; + std::optional getSubsettingFeature() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct CrossSubsetting : public virtual Subsetting { + static constexpr std::string_view kind_name = "CrossSubsetting"; + CrossSubsetting() = default; + CrossSubsetting(const CrossSubsetting&) = default; + CrossSubsetting& operator=(const CrossSubsetting&) = default; + std::vector getAliasIds() const; + std::optional getCrossedFeature() const; + std::optional getCrossingFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::optional getSubsettedFeature() const; + std::optional getSubsettingFeature() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct DecisionNode : public virtual ControlNode { + static constexpr std::string_view kind_name = "DecisionNode"; + DecisionNode() = default; + DecisionNode(const DecisionNode&) = default; + DecisionNode& operator=(const DecisionNode&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::optional multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Dependency : public virtual Relationship { + static constexpr std::string_view kind_name = "Dependency"; + Dependency() = default; + Dependency(const Dependency&) = default; + Dependency& operator=(const Dependency&) = default; + std::vector getAliasIds() const; + std::vector getClient() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getSupplier() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Differencing : public virtual Relationship { + static constexpr std::string_view kind_name = "Differencing"; + Differencing() = default; + Differencing(const Differencing&) = default; + Differencing& operator=(const Differencing&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDifferencingType() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getTypeDifferenced() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Disjoining : public virtual Relationship { + static constexpr std::string_view kind_name = "Disjoining"; + Disjoining() = default; + Disjoining(const Disjoining&) = default; + Disjoining& operator=(const Disjoining&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDisjoiningType() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getTypeDisjoined() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Documentation : public virtual Comment { + static constexpr std::string_view kind_name = "Documentation"; + Documentation() = default; + Documentation(const Documentation&) = default; + Documentation& operator=(const Documentation&) = default; + std::vector getAliasIds() const; + std::vector getAnnotatedElement() const; + std::vector getAnnotation() const; + std::optional getBody() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getDocumentedElement() const; + std::optional getElementId() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getLocale() const; + std::optional getName() const; + std::vector getOwnedAnnotatingRelationship() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningAnnotatingRelationship() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct ElementFilterMembership : public virtual OwningMembership { + static constexpr std::string_view kind_name = "ElementFilterMembership"; + ElementFilterMembership() = default; + ElementFilterMembership(const ElementFilterMembership&) = default; + ElementFilterMembership& operator=(const ElementFilterMembership&) = default; + std::vector getAliasIds() const; + std::optional getCondition() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct EndFeatureMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "EndFeatureMembership"; + EndFeatureMembership() = default; + EndFeatureMembership(const EndFeatureMembership&) = default; + EndFeatureMembership& operator=(const EndFeatureMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct EnumerationDefinition : public virtual AttributeDefinition { + static constexpr std::string_view kind_name = "EnumerationDefinition"; + EnumerationDefinition() = default; + EnumerationDefinition(const EnumerationDefinition&) = default; + EnumerationDefinition& operator=(const EnumerationDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getEnumeratedValue() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct EnumerationUsage : public virtual AttributeUsage { + static constexpr std::string_view kind_name = "EnumerationUsage"; + EnumerationUsage() = default; + EnumerationUsage(const EnumerationUsage&) = default; + EnumerationUsage& operator=(const EnumerationUsage&) = default; + std::vector getAliasIds() const; + std::vector getAttributeDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::optional getEnumerationDefinition() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct EventOccurrenceUsage : public virtual OccurrenceUsage { + static constexpr std::string_view kind_name = "EventOccurrenceUsage"; + EventOccurrenceUsage() = default; + EventOccurrenceUsage(const EventOccurrenceUsage&) = default; + EventOccurrenceUsage& operator=(const EventOccurrenceUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::optional getEventOccurrence() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct PerformActionUsage : public virtual EventOccurrenceUsage, public virtual ActionUsage { + static constexpr std::string_view kind_name = "PerformActionUsage"; + PerformActionUsage() = default; + PerformActionUsage(const PerformActionUsage&) = default; + PerformActionUsage& operator=(const PerformActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::optional getEventOccurrence() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPerformedAction() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct StateUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "StateUsage"; + StateUsage() = default; + StateUsage(const StateUsage&) = default; + StateUsage& operator=(const StateUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::optional getDoAction() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::optional getEntryAction() const; + std::optional getExitAction() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsParallel() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getStateDefinition() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional isSubstateUsage(const std::optional& isParallel) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ExhibitStateUsage : public virtual PerformActionUsage, public virtual StateUsage { + static constexpr std::string_view kind_name = "ExhibitStateUsage"; + ExhibitStateUsage() = default; + ExhibitStateUsage(const ExhibitStateUsage&) = default; + ExhibitStateUsage& operator=(const ExhibitStateUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::optional getDoAction() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::optional getEntryAction() const; + std::optional getEventOccurrence() const; + std::optional getExhibitedState() const; + std::optional getExitAction() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsParallel() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPerformedAction() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getStateDefinition() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional isSubstateUsage(const std::optional& isParallel) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// abstract — KerML 20250201. +struct Import : public virtual Relationship { + static constexpr std::string_view kind_name = "Import"; + Import() = default; + Import(const Import&) = default; + Import& operator=(const Import&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getImportOwningNamespace() const; + std::optional getImportedElement() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsImportAll() const; + std::optional getIsLibraryElement() const; + std::optional getIsRecursive() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// abstract — SysML 20250201. +struct Expose : public virtual Import { + static constexpr std::string_view kind_name = "Expose"; + Expose() = default; + Expose(const Expose&) = default; + Expose& operator=(const Expose&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getImportOwningNamespace() const; + std::optional getImportedElement() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsImportAll() const; + std::optional getIsLibraryElement() const; + std::optional getIsRecursive() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct FeatureChainExpression : public virtual OperatorExpression { + static constexpr std::string_view kind_name = "FeatureChainExpression"; + FeatureChainExpression() = default; + FeatureChainExpression(const FeatureChainExpression&) = default; + FeatureChainExpression& operator=(const FeatureChainExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getOperator() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::optional getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional sourceTargetFeature() const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct FeatureChaining : public virtual Relationship { + static constexpr std::string_view kind_name = "FeatureChaining"; + FeatureChaining() = default; + FeatureChaining(const FeatureChaining&) = default; + FeatureChaining& operator=(const FeatureChaining&) = default; + std::vector getAliasIds() const; + std::optional getChainingFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getFeatureChained() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct FeatureInverting : public virtual Relationship { + static constexpr std::string_view kind_name = "FeatureInverting"; + FeatureInverting() = default; + FeatureInverting(const FeatureInverting&) = default; + FeatureInverting& operator=(const FeatureInverting&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getFeatureInverted() const; + std::optional getInvertingFeature() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct FeatureReferenceExpression : public virtual Expression { + static constexpr std::string_view kind_name = "FeatureReferenceExpression"; + FeatureReferenceExpression() = default; + FeatureReferenceExpression(const FeatureReferenceExpression&) = default; + FeatureReferenceExpression& operator=(const FeatureReferenceExpression&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getReferent() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct FeatureValue : public virtual OwningMembership { + static constexpr std::string_view kind_name = "FeatureValue"; + FeatureValue() = default; + FeatureValue(const FeatureValue&) = default; + FeatureValue& operator=(const FeatureValue&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getFeatureWithValue() const; + std::optional getIsDefault() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsInitial() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getValue() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Flow : public virtual Connector, public virtual Step { + static constexpr std::string_view kind_name = "Flow"; + Flow() = default; + Flow(const Flow&) = default; + Flow& operator=(const Flow&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFlowEnd() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getInteraction() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getPayloadFeature() const; + std::vector getPayloadType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::optional getSourceOutputFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::optional getTargetInputFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Interaction : public virtual Association, public virtual Behavior { + static constexpr std::string_view kind_name = "Interaction"; + Interaction() = default; + Interaction(const Interaction&) = default; + Interaction& operator=(const Interaction&) = default; + std::vector getAliasIds() const; + std::vector getAssociationEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getStep() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct FlowDefinition : public virtual ActionDefinition, public virtual Interaction { + static constexpr std::string_view kind_name = "FlowDefinition"; + FlowDefinition() = default; + FlowDefinition(const FlowDefinition&) = default; + FlowDefinition& operator=(const FlowDefinition&) = default; + std::vector getAction() const; + std::vector getAliasIds() const; + std::vector getAssociationEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getFlowEnd() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getStep() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct FlowEnd : public virtual Feature { + static constexpr std::string_view kind_name = "FlowEnd"; + FlowEnd() = default; + FlowEnd(const FlowEnd&) = default; + FlowEnd& operator=(const FlowEnd&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct FlowUsage : public virtual ConnectorAsUsage, public virtual Flow, public virtual ActionUsage { + static constexpr std::string_view kind_name = "FlowUsage"; + FlowUsage() = default; + FlowUsage(const FlowUsage&) = default; + FlowUsage& operator=(const FlowUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFlowDefinition() const; + std::vector getFlowEnd() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getInteraction() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPayloadFeature() const; + std::vector getPayloadType() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::optional getSourceOutputFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::optional getTargetInputFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// abstract — SysML 20250201. +struct LoopActionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "LoopActionUsage"; + LoopActionUsage() = default; + LoopActionUsage(const LoopActionUsage&) = default; + LoopActionUsage& operator=(const LoopActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getBodyAction() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ForLoopActionUsage : public virtual LoopActionUsage { + static constexpr std::string_view kind_name = "ForLoopActionUsage"; + ForLoopActionUsage() = default; + ForLoopActionUsage(const ForLoopActionUsage&) = default; + ForLoopActionUsage& operator=(const ForLoopActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getBodyAction() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getLoopVariable() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getSeqArgument() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ForkNode : public virtual ControlNode { + static constexpr std::string_view kind_name = "ForkNode"; + ForkNode() = default; + ForkNode(const ForkNode&) = default; + ForkNode& operator=(const ForkNode&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::optional multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct RequirementConstraintMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "RequirementConstraintMembership"; + RequirementConstraintMembership() = default; + RequirementConstraintMembership(const RequirementConstraintMembership&) = default; + RequirementConstraintMembership& operator=(const RequirementConstraintMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getKind() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConstraint() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getReferencedConstraint() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct FramedConcernMembership : public virtual RequirementConstraintMembership { + static constexpr std::string_view kind_name = "FramedConcernMembership"; + FramedConcernMembership() = default; + FramedConcernMembership(const FramedConcernMembership&) = default; + FramedConcernMembership& operator=(const FramedConcernMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getKind() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConcern() const; + std::optional getOwnedConstraint() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getReferencedConcern() const; + std::optional getReferencedConstraint() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct IfActionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "IfActionUsage"; + IfActionUsage() = default; + IfActionUsage(const IfActionUsage&) = default; + IfActionUsage& operator=(const IfActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getElseAction() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getIfArgument() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional getThenAction() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct UseCaseUsage : public virtual CaseUsage { + static constexpr std::string_view kind_name = "UseCaseUsage"; + UseCaseUsage() = default; + UseCaseUsage(const UseCaseUsage&) = default; + UseCaseUsage& operator=(const UseCaseUsage&) = default; + std::vector getActionDefinition() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getCalculationDefinition() const; + std::optional getCaseDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getIncludedUseCase() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::optional getObjectiveRequirement() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::optional getUseCaseDefinition() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct IncludeUseCaseUsage : public virtual UseCaseUsage, public virtual PerformActionUsage { + static constexpr std::string_view kind_name = "IncludeUseCaseUsage"; + IncludeUseCaseUsage() = default; + IncludeUseCaseUsage(const IncludeUseCaseUsage&) = default; + IncludeUseCaseUsage& operator=(const IncludeUseCaseUsage&) = default; + std::vector getActionDefinition() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getCalculationDefinition() const; + std::optional getCaseDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::optional getEventOccurrence() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getIncludedUseCase() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::optional getObjectiveRequirement() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPerformedAction() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::optional getUseCaseDefinition() const; + std::optional getUseCaseIncluded() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct IndexExpression : public virtual OperatorExpression { + static constexpr std::string_view kind_name = "IndexExpression"; + IndexExpression() = default; + IndexExpression(const IndexExpression&) = default; + IndexExpression& operator=(const IndexExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getOperator() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct InterfaceDefinition : public virtual ConnectionDefinition { + static constexpr std::string_view kind_name = "InterfaceDefinition"; + InterfaceDefinition() = default; + InterfaceDefinition(const InterfaceDefinition&) = default; + InterfaceDefinition& operator=(const InterfaceDefinition&) = default; + std::vector getAliasIds() const; + std::vector getAssociationEnd() const; + std::vector getConnectionEnd() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getInterfaceEnd() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedType() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceType() const; + std::vector getTarget() const; + std::vector getTargetType() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct InterfaceUsage : public virtual ConnectionUsage { + static constexpr std::string_view kind_name = "InterfaceUsage"; + InterfaceUsage() = default; + InterfaceUsage(const InterfaceUsage&) = default; + InterfaceUsage& operator=(const InterfaceUsage&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectionDefinition() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getInterfaceDefinition() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPartDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Intersecting : public virtual Relationship { + static constexpr std::string_view kind_name = "Intersecting"; + Intersecting() = default; + Intersecting(const Intersecting&) = default; + Intersecting& operator=(const Intersecting&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIntersectingType() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getTypeIntersected() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct JoinNode : public virtual ControlNode { + static constexpr std::string_view kind_name = "JoinNode"; + JoinNode() = default; + JoinNode(const JoinNode&) = default; + JoinNode& operator=(const JoinNode&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::optional multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Package : public virtual Namespace { + static constexpr std::string_view kind_name = "Package"; + Package() = default; + Package(const Package&) = default; + Package& operator=(const Package&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getFilterCondition() const; + std::vector getImportedMembership() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedImport() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional includeAsMember(const std::optional& element) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector namesOf(const std::optional& element) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LibraryPackage : public virtual Package { + static constexpr std::string_view kind_name = "LibraryPackage"; + LibraryPackage() = default; + LibraryPackage(const LibraryPackage&) = default; + LibraryPackage& operator=(const LibraryPackage&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getFilterCondition() const; + std::vector getImportedMembership() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsStandard() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedImport() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional includeAsMember(const std::optional& element) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector namesOf(const std::optional& element) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LiteralExpression : public virtual Expression { + static constexpr std::string_view kind_name = "LiteralExpression"; + LiteralExpression() = default; + LiteralExpression(const LiteralExpression&) = default; + LiteralExpression& operator=(const LiteralExpression&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LiteralBoolean : public virtual LiteralExpression { + static constexpr std::string_view kind_name = "LiteralBoolean"; + LiteralBoolean() = default; + LiteralBoolean(const LiteralBoolean&) = default; + LiteralBoolean& operator=(const LiteralBoolean&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::optional getValue() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LiteralInfinity : public virtual LiteralExpression { + static constexpr std::string_view kind_name = "LiteralInfinity"; + LiteralInfinity() = default; + LiteralInfinity(const LiteralInfinity&) = default; + LiteralInfinity& operator=(const LiteralInfinity&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LiteralInteger : public virtual LiteralExpression { + static constexpr std::string_view kind_name = "LiteralInteger"; + LiteralInteger() = default; + LiteralInteger(const LiteralInteger&) = default; + LiteralInteger& operator=(const LiteralInteger&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::optional getValue() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LiteralRational : public virtual LiteralExpression { + static constexpr std::string_view kind_name = "LiteralRational"; + LiteralRational() = default; + LiteralRational(const LiteralRational&) = default; + LiteralRational& operator=(const LiteralRational&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::optional getValue() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct LiteralString : public virtual LiteralExpression { + static constexpr std::string_view kind_name = "LiteralString"; + LiteralString() = default; + LiteralString(const LiteralString&) = default; + LiteralString& operator=(const LiteralString&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::optional getValue() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct MembershipImport : public virtual Import { + static constexpr std::string_view kind_name = "MembershipImport"; + MembershipImport() = default; + MembershipImport(const MembershipImport&) = default; + MembershipImport& operator=(const MembershipImport&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getImportOwningNamespace() const; + std::optional getImportedElement() const; + std::optional getImportedMembership() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsImportAll() const; + std::optional getIsLibraryElement() const; + std::optional getIsRecursive() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct MembershipExpose : public virtual MembershipImport, public virtual Expose { + static constexpr std::string_view kind_name = "MembershipExpose"; + MembershipExpose() = default; + MembershipExpose(const MembershipExpose&) = default; + MembershipExpose& operator=(const MembershipExpose&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getImportOwningNamespace() const; + std::optional getImportedElement() const; + std::optional getImportedMembership() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsImportAll() const; + std::optional getIsLibraryElement() const; + std::optional getIsRecursive() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct MergeNode : public virtual ControlNode { + static constexpr std::string_view kind_name = "MergeNode"; + MergeNode() = default; + MergeNode(const MergeNode&) = default; + MergeNode& operator=(const MergeNode&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::optional multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Metaclass : public virtual Structure { + static constexpr std::string_view kind_name = "Metaclass"; + Metaclass() = default; + Metaclass(const Metaclass&) = default; + Metaclass& operator=(const Metaclass&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct MetadataAccessExpression : public virtual Expression { + static constexpr std::string_view kind_name = "MetadataAccessExpression"; + MetadataAccessExpression() = default; + MetadataAccessExpression(const MetadataAccessExpression&) = default; + MetadataAccessExpression& operator=(const MetadataAccessExpression&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getReferencedElement() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional metaclassFeature() const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct MetadataDefinition : public virtual ItemDefinition, public virtual Metaclass { + static constexpr std::string_view kind_name = "MetadataDefinition"; + MetadataDefinition() = default; + MetadataDefinition(const MetadataDefinition&) = default; + MetadataDefinition& operator=(const MetadataDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct MetadataFeature : public virtual AnnotatingElement, public virtual Feature { + static constexpr std::string_view kind_name = "MetadataFeature"; + MetadataFeature() = default; + MetadataFeature(const MetadataFeature&) = default; + MetadataFeature& operator=(const MetadataFeature&) = default; + std::vector getAliasIds() const; + std::vector getAnnotatedElement() const; + std::vector getAnnotation() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMetaclass() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotatingRelationship() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningAnnotatingRelationship() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluateFeature(const std::optional& baseFeature) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSemantic() const; + std::optional isSyntactic() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional syntaxElement() const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct MetadataUsage : public virtual MetadataFeature, public virtual ItemUsage { + static constexpr std::string_view kind_name = "MetadataUsage"; + MetadataUsage() = default; + MetadataUsage(const MetadataUsage&) = default; + MetadataUsage& operator=(const MetadataUsage&) = default; + std::vector getAliasIds() const; + std::vector getAnnotatedElement() const; + std::vector getAnnotation() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMetaclass() const; + std::optional getMetadataDefinition() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotatingRelationship() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningAnnotatingRelationship() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluateFeature(const std::optional& baseFeature) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSemantic() const; + std::optional isSyntactic() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional syntaxElement() const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Multiplicity : public virtual Feature { + static constexpr std::string_view kind_name = "Multiplicity"; + Multiplicity() = default; + Multiplicity(const Multiplicity&) = default; + Multiplicity& operator=(const Multiplicity&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct MultiplicityRange : public virtual Multiplicity { + static constexpr std::string_view kind_name = "MultiplicityRange"; + MultiplicityRange() = default; + MultiplicityRange(const MultiplicityRange&) = default; + MultiplicityRange& operator=(const MultiplicityRange&) = default; + std::vector getAliasIds() const; + std::vector getBound() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getLowerBound() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::optional getUpperBound() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional hasBounds(const std::optional& lower, const std::optional& upper) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional valueOf(const std::optional& bound) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct NamespaceImport : public virtual Import { + static constexpr std::string_view kind_name = "NamespaceImport"; + NamespaceImport() = default; + NamespaceImport(const NamespaceImport&) = default; + NamespaceImport& operator=(const NamespaceImport&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getImportOwningNamespace() const; + std::optional getImportedElement() const; + std::optional getImportedNamespace() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsImportAll() const; + std::optional getIsLibraryElement() const; + std::optional getIsRecursive() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct NamespaceExpose : public virtual Expose, public virtual NamespaceImport { + static constexpr std::string_view kind_name = "NamespaceExpose"; + NamespaceExpose() = default; + NamespaceExpose(const NamespaceExpose&) = default; + NamespaceExpose& operator=(const NamespaceExpose&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getImportOwningNamespace() const; + std::optional getImportedElement() const; + std::optional getImportedNamespace() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsImportAll() const; + std::optional getIsLibraryElement() const; + std::optional getIsRecursive() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct NullExpression : public virtual Expression { + static constexpr std::string_view kind_name = "NullExpression"; + NullExpression() = default; + NullExpression(const NullExpression&) = default; + NullExpression& operator=(const NullExpression&) = default; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ObjectiveMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "ObjectiveMembership"; + ObjectiveMembership() = default; + ObjectiveMembership(const ObjectiveMembership&) = default; + ObjectiveMembership& operator=(const ObjectiveMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::optional getOwnedObjectiveRequirement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct PayloadFeature : public virtual Feature { + static constexpr std::string_view kind_name = "PayloadFeature"; + PayloadFeature() = default; + PayloadFeature(const PayloadFeature&) = default; + PayloadFeature& operator=(const PayloadFeature&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct PortConjugation : public virtual Conjugation { + static constexpr std::string_view kind_name = "PortConjugation"; + PortConjugation() = default; + PortConjugation(const PortConjugation&) = default; + PortConjugation& operator=(const PortConjugation&) = default; + std::vector getAliasIds() const; + std::optional getConjugatedPortDefinition() const; + std::optional getConjugatedType() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::optional getOriginalPortDefinition() const; + std::optional getOriginalType() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct PortUsage : public virtual OccurrenceUsage { + static constexpr std::string_view kind_name = "PortUsage"; + PortUsage() = default; + PortUsage(const PortUsage&) = default; + PortUsage& operator=(const PortUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPortDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct Redefinition : public virtual Subsetting { + static constexpr std::string_view kind_name = "Redefinition"; + Redefinition() = default; + Redefinition(const Redefinition&) = default; + Redefinition& operator=(const Redefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getRedefinedFeature() const; + std::optional getRedefiningFeature() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::optional getSubsettedFeature() const; + std::optional getSubsettingFeature() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct ReferenceSubsetting : public virtual Subsetting { + static constexpr std::string_view kind_name = "ReferenceSubsetting"; + ReferenceSubsetting() = default; + ReferenceSubsetting(const ReferenceSubsetting&) = default; + ReferenceSubsetting& operator=(const ReferenceSubsetting&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeature() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getReferencedFeature() const; + std::optional getReferencingFeature() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::optional getSubsettedFeature() const; + std::optional getSubsettingFeature() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct ReferenceUsage : public virtual Usage { + static constexpr std::string_view kind_name = "ReferenceUsage"; + ReferenceUsage() = default; + ReferenceUsage(const ReferenceUsage&) = default; + ReferenceUsage& operator=(const ReferenceUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct RenderingDefinition : public virtual PartDefinition { + static constexpr std::string_view kind_name = "RenderingDefinition"; + RenderingDefinition() = default; + RenderingDefinition(const RenderingDefinition&) = default; + RenderingDefinition& operator=(const RenderingDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRendering() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct RenderingUsage : public virtual PartUsage { + static constexpr std::string_view kind_name = "RenderingUsage"; + RenderingUsage() = default; + RenderingUsage(const RenderingUsage&) = default; + RenderingUsage& operator=(const RenderingUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPartDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getRenderingDefinition() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct RequirementVerificationMembership : public virtual RequirementConstraintMembership { + static constexpr std::string_view kind_name = "RequirementVerificationMembership"; + RequirementVerificationMembership() = default; + RequirementVerificationMembership(const RequirementVerificationMembership&) = default; + RequirementVerificationMembership& operator=(const RequirementVerificationMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getKind() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConstraint() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwnedRequirement() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getReferencedConstraint() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVerifiedRequirement() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct ResultExpressionMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "ResultExpressionMembership"; + ResultExpressionMembership() = default; + ResultExpressionMembership(const ResultExpressionMembership&) = default; + ResultExpressionMembership& operator=(const ResultExpressionMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwnedResultExpression() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct ReturnParameterMembership : public virtual ParameterMembership { + static constexpr std::string_view kind_name = "ReturnParameterMembership"; + ReturnParameterMembership() = default; + ReturnParameterMembership(const ReturnParameterMembership&) = default; + ReturnParameterMembership& operator=(const ReturnParameterMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberParameter() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional parameterDirection() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct SatisfyRequirementUsage : public virtual RequirementUsage, public virtual AssertConstraintUsage { + static constexpr std::string_view kind_name = "SatisfyRequirementUsage"; + SatisfyRequirementUsage() = default; + SatisfyRequirementUsage(const SatisfyRequirementUsage&) = default; + SatisfyRequirementUsage& operator=(const SatisfyRequirementUsage&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::optional getAssertedConstraint() const; + std::vector getAssumedConstraint() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getConstraintDefinition() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFramedConcern() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsNegated() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getRequirementDefinition() const; + std::optional getResult() const; + std::optional getSatisfiedRequirement() const; + std::optional getSatisfyingFeature() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct SelectExpression : public virtual OperatorExpression { + static constexpr std::string_view kind_name = "SelectExpression"; + SelectExpression() = default; + SelectExpression(const SelectExpression&) = default; + SelectExpression& operator=(const SelectExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getOperator() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct SendActionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "SendActionUsage"; + SendActionUsage() = default; + SendActionUsage(const SendActionUsage&) = default; + SendActionUsage& operator=(const SendActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPayloadArgument() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getReceiverArgument() const; + std::optional getSenderArgument() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct StakeholderMembership : public virtual ParameterMembership { + static constexpr std::string_view kind_name = "StakeholderMembership"; + StakeholderMembership() = default; + StakeholderMembership(const StakeholderMembership&) = default; + StakeholderMembership& operator=(const StakeholderMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberParameter() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwnedStakeholderParameter() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional parameterDirection() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct StateDefinition : public virtual ActionDefinition { + static constexpr std::string_view kind_name = "StateDefinition"; + StateDefinition() = default; + StateDefinition(const StateDefinition&) = default; + StateDefinition& operator=(const StateDefinition&) = default; + std::vector getAction() const; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDoAction() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEntryAction() const; + std::optional getExitAction() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsParallel() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getState() const; + std::vector getStep() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct StateSubactionMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "StateSubactionMembership"; + StateSubactionMembership() = default; + StateSubactionMembership(const StateSubactionMembership&) = default; + StateSubactionMembership& operator=(const StateSubactionMembership&) = default; + std::optional getAction() const; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getKind() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Subclassification : public virtual Specialization { + static constexpr std::string_view kind_name = "Subclassification"; + Subclassification() = default; + Subclassification(const Subclassification&) = default; + Subclassification& operator=(const Subclassification&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getGeneral() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningClassifier() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSpecific() const; + std::optional getSubclassifier() const; + std::optional getSuperclassifier() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct SubjectMembership : public virtual ParameterMembership { + static constexpr std::string_view kind_name = "SubjectMembership"; + SubjectMembership() = default; + SubjectMembership(const SubjectMembership&) = default; + SubjectMembership& operator=(const SubjectMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberParameter() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwnedSubjectParameter() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional parameterDirection() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Succession : public virtual Connector { + static constexpr std::string_view kind_name = "Succession"; + Succession() = default; + Succession(const Succession&) = default; + Succession& operator=(const Succession&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct SuccessionAsUsage : public virtual ConnectorAsUsage, public virtual Succession { + static constexpr std::string_view kind_name = "SuccessionAsUsage"; + SuccessionAsUsage() = default; + SuccessionAsUsage(const SuccessionAsUsage&) = default; + SuccessionAsUsage& operator=(const SuccessionAsUsage&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct SuccessionFlow : public virtual Succession, public virtual Flow { + static constexpr std::string_view kind_name = "SuccessionFlow"; + SuccessionFlow() = default; + SuccessionFlow(const SuccessionFlow&) = default; + SuccessionFlow& operator=(const SuccessionFlow&) = default; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFlowEnd() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getInteraction() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getPayloadFeature() const; + std::vector getPayloadType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::optional getSourceOutputFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::optional getTargetInputFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct SuccessionFlowUsage : public virtual SuccessionFlow, public virtual FlowUsage { + static constexpr std::string_view kind_name = "SuccessionFlowUsage"; + SuccessionFlowUsage() = default; + SuccessionFlowUsage(const SuccessionFlowUsage&) = default; + SuccessionFlowUsage& operator=(const SuccessionFlowUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getAssociation() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::vector getConnectorEnd() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::optional getDefaultFeaturingType() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFlowDefinition() const; + std::vector getFlowEnd() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getInteraction() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPayloadFeature() const; + std::vector getPayloadType() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::vector getRelatedFeature() const; + std::optional getShortName() const; + std::vector getSource() const; + std::optional getSourceFeature() const; + std::optional getSourceOutputFeature() const; + std::vector getTarget() const; + std::vector getTargetFeature() const; + std::optional getTargetInputFeature() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct TerminateActionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "TerminateActionUsage"; + TerminateActionUsage() = default; + TerminateActionUsage(const TerminateActionUsage&) = default; + TerminateActionUsage& operator=(const TerminateActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::optional getTerminatedOccurrenceArgument() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct TextualRepresentation : public virtual AnnotatingElement { + static constexpr std::string_view kind_name = "TextualRepresentation"; + TextualRepresentation() = default; + TextualRepresentation(const TextualRepresentation&) = default; + TextualRepresentation& operator=(const TextualRepresentation&) = default; + std::vector getAliasIds() const; + std::vector getAnnotatedElement() const; + std::vector getAnnotation() const; + std::optional getBody() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getLanguage() const; + std::optional getName() const; + std::vector getOwnedAnnotatingRelationship() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningAnnotatingRelationship() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::optional getRepresentedElement() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct TransitionFeatureMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "TransitionFeatureMembership"; + TransitionFeatureMembership() = default; + TransitionFeatureMembership(const TransitionFeatureMembership&) = default; + TransitionFeatureMembership& operator=(const TransitionFeatureMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getKind() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getTransitionFeature() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct TransitionUsage : public virtual ActionUsage { + static constexpr std::string_view kind_name = "TransitionUsage"; + TransitionUsage() = default; + TransitionUsage(const TransitionUsage&) = default; + TransitionUsage& operator=(const TransitionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::vector getEffectAction() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getGuardExpression() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::optional getSource() const; + std::optional getSuccession() const; + std::optional getTarget() const; + std::vector getTextualRepresentation() const; + std::vector getTriggerAction() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional sourceFeature() const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional triggerPayloadParameter() const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct TriggerInvocationExpression : public virtual InvocationExpression { + static constexpr std::string_view kind_name = "TriggerInvocationExpression"; + TriggerInvocationExpression() = default; + TriggerInvocationExpression(const TriggerInvocationExpression&) = default; + TriggerInvocationExpression& operator=(const TriggerInvocationExpression&) = default; + std::vector getAliasIds() const; + std::vector getArgument() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::optional getInstantiatedType() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getKind() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional instantiatedType() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — KerML 20250201. +struct TypeFeaturing : public virtual Relationship { + static constexpr std::string_view kind_name = "TypeFeaturing"; + TypeFeaturing() = default; + TypeFeaturing(const TypeFeaturing&) = default; + TypeFeaturing& operator=(const TypeFeaturing&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getFeatureOfType() const; + std::optional getFeaturingType() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningFeatureOfType() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — KerML 20250201. +struct Unioning : public virtual Relationship { + static constexpr std::string_view kind_name = "Unioning"; + Unioning() = default; + Unioning(const Unioning&) = default; + Unioning& operator=(const Unioning&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getTypeUnioned() const; + std::optional getUnioningType() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct UseCaseDefinition : public virtual CaseDefinition { + static constexpr std::string_view kind_name = "UseCaseDefinition"; + UseCaseDefinition() = default; + UseCaseDefinition(const UseCaseDefinition&) = default; + UseCaseDefinition& operator=(const UseCaseDefinition&) = default; + std::vector getAction() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getCalculation() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getIncludedUseCase() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getObjectiveRequirement() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct VariantMembership : public virtual OwningMembership { + static constexpr std::string_view kind_name = "VariantMembership"; + VariantMembership() = default; + VariantMembership(const VariantMembership&) = default; + VariantMembership& operator=(const VariantMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwnedVariantUsage() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct VerificationCaseDefinition : public virtual CaseDefinition { + static constexpr std::string_view kind_name = "VerificationCaseDefinition"; + VerificationCaseDefinition() = default; + VerificationCaseDefinition(const VerificationCaseDefinition&) = default; + VerificationCaseDefinition& operator=(const VerificationCaseDefinition&) = default; + std::vector getAction() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getCalculation() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::optional getObjectiveRequirement() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector getVerifiedRequirement() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct VerificationCaseUsage : public virtual CaseUsage { + static constexpr std::string_view kind_name = "VerificationCaseUsage"; + VerificationCaseUsage() = default; + VerificationCaseUsage(const VerificationCaseUsage&) = default; + VerificationCaseUsage& operator=(const VerificationCaseUsage&) = default; + std::vector getActionDefinition() const; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getCalculationDefinition() const; + std::optional getCaseDefinition() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::optional getObjectiveRequirement() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getResult() const; + std::optional getShortName() const; + std::optional getSubjectParameter() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::optional getVerificationCaseDefinition() const; + std::vector getVerifiedRequirement() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ViewDefinition : public virtual PartDefinition { + static constexpr std::string_view kind_name = "ViewDefinition"; + ViewDefinition() = default; + ViewDefinition(const ViewDefinition&) = default; + ViewDefinition& operator=(const ViewDefinition&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getQualifiedName() const; + std::vector getSatisfiedViewpoint() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector getView() const; + std::vector getViewCondition() const; + std::optional getViewRendering() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ViewRenderingMembership : public virtual FeatureMembership { + static constexpr std::string_view kind_name = "ViewRenderingMembership"; + ViewRenderingMembership() = default; + ViewRenderingMembership(const ViewRenderingMembership&) = default; + ViewRenderingMembership& operator=(const ViewRenderingMembership&) = default; + std::vector getAliasIds() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::optional getIsImplied() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsLibraryElement() const; + std::optional getMemberElement() const; + std::optional getMemberElementId() const; + std::optional getMemberName() const; + std::optional getMemberShortName() const; + std::optional getMembershipOwningNamespace() const; + std::optional getName() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedElement() const; + std::optional getOwnedMemberElement() const; + std::optional getOwnedMemberElementId() const; + std::optional getOwnedMemberFeature() const; + std::optional getOwnedMemberName() const; + std::optional getOwnedMemberShortName() const; + std::vector getOwnedRelatedElement() const; + std::vector getOwnedRelationship() const; + std::optional getOwnedRendering() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelatedElement() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getQualifiedName() const; + std::optional getReferencedRendering() const; + std::vector getRelatedElement() const; + std::optional getShortName() const; + std::vector getSource() const; + std::vector getTarget() const; + std::vector getTextualRepresentation() const; + std::optional getVisibility() const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::optional isDistinguishableFrom(const std::optional& other) const; + std::optional libraryNamespace() const; + std::optional path() const; +}; + +/// concrete — SysML 20250201. +struct ViewUsage : public virtual PartUsage { + static constexpr std::string_view kind_name = "ViewUsage"; + ViewUsage() = default; + ViewUsage(const ViewUsage&) = default; + ViewUsage& operator=(const ViewUsage&) = default; + std::vector getAliasIds() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getExposedElement() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::vector getItemDefinition() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getPartDefinition() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::vector getSatisfiedViewpoint() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector getViewCondition() const; + std::optional getViewDefinition() const; + std::optional getViewRendering() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::optional includeAsExposed(const std::optional& element) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ViewpointDefinition : public virtual RequirementDefinition { + static constexpr std::string_view kind_name = "ViewpointDefinition"; + ViewpointDefinition() = default; + ViewpointDefinition(const ViewpointDefinition&) = default; + ViewpointDefinition& operator=(const ViewpointDefinition&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getAssumedConstraint() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::vector getExpression() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::vector getFramedConcern() const; + std::vector getImportedMembership() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsConjugated() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsSufficient() const; + std::optional getIsVariation() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getOutput() const; + std::vector getOwnedAction() const; + std::vector getOwnedAllocation() const; + std::vector getOwnedAnalysisCase() const; + std::vector getOwnedAnnotation() const; + std::vector getOwnedAttribute() const; + std::vector getOwnedCalculation() const; + std::vector getOwnedCase() const; + std::vector getOwnedConcern() const; + std::optional getOwnedConjugator() const; + std::vector getOwnedConnection() const; + std::vector getOwnedConstraint() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedEnumeration() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedFlow() const; + std::vector getOwnedImport() const; + std::vector getOwnedInterface() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedItem() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedMetadata() const; + std::vector getOwnedOccurrence() const; + std::vector getOwnedPart() const; + std::vector getOwnedPort() const; + std::vector getOwnedReference() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedRendering() const; + std::vector getOwnedRequirement() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedState() const; + std::vector getOwnedSubclassification() const; + std::vector getOwnedTransition() const; + std::vector getOwnedUnioning() const; + std::vector getOwnedUsage() const; + std::vector getOwnedUseCase() const; + std::vector getOwnedVerificationCase() const; + std::vector getOwnedView() const; + std::vector getOwnedViewpoint() const; + std::optional getOwner() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::vector getParameter() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::vector getStep() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::vector getViewpointStakeholder() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct ViewpointUsage : public virtual RequirementUsage { + static constexpr std::string_view kind_name = "ViewpointUsage"; + ViewpointUsage() = default; + ViewpointUsage(const ViewpointUsage&) = default; + ViewpointUsage& operator=(const ViewpointUsage&) = default; + std::vector getActorParameter() const; + std::vector getAliasIds() const; + std::vector getAssumedConstraint() const; + std::vector getBehavior() const; + std::vector getChainingFeature() const; + std::optional getConstraintDefinition() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getFramedConcern() const; + std::optional getFunction() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsModelLevelEvaluable() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getPredicate() const; + std::optional getQualifiedName() const; + std::optional getReqId() const; + std::vector getRequiredConstraint() const; + std::optional getRequirementDefinition() const; + std::optional getResult() const; + std::optional getShortName() const; + std::vector getStakeholderParameter() const; + std::optional getSubjectParameter() const; + std::vector getText() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::optional getViewpointDefinition() const; + std::vector getViewpointStakeholder() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional checkCondition(const std::optional& target) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector evaluate(const std::optional& target) const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::optional modelLevelEvaluable(const std::vector& visited) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +/// concrete — SysML 20250201. +struct WhileLoopActionUsage : public virtual LoopActionUsage { + static constexpr std::string_view kind_name = "WhileLoopActionUsage"; + WhileLoopActionUsage() = default; + WhileLoopActionUsage(const WhileLoopActionUsage&) = default; + WhileLoopActionUsage& operator=(const WhileLoopActionUsage&) = default; + std::vector getActionDefinition() const; + std::vector getAliasIds() const; + std::vector getBehavior() const; + std::optional getBodyAction() const; + std::vector getChainingFeature() const; + std::optional getCrossFeature() const; + std::optional getDeclaredName() const; + std::optional getDeclaredShortName() const; + std::vector getDefinition() const; + std::vector getDifferencingType() const; + std::vector getDirectedFeature() const; + std::vector getDirectedUsage() const; + std::optional getDirection() const; + std::vector getDocumentation() const; + std::optional getElementId() const; + std::vector getEndFeature() const; + std::optional getEndOwningType() const; + std::vector getFeature() const; + std::vector getFeatureMembership() const; + std::optional getFeatureTarget() const; + std::vector getFeaturingType() const; + std::vector getImportedMembership() const; + std::optional getIndividualDefinition() const; + std::vector getInheritedFeature() const; + std::vector getInheritedMembership() const; + std::vector getInput() const; + std::vector getIntersectingType() const; + std::optional getIsAbstract() const; + std::optional getIsComposite() const; + std::optional getIsConjugated() const; + std::optional getIsConstant() const; + std::optional getIsDerived() const; + std::optional getIsEnd() const; + std::optional getIsImpliedIncluded() const; + std::optional getIsIndividual() const; + std::optional getIsLibraryElement() const; + std::optional getIsOrdered() const; + std::optional getIsPortion() const; + std::optional getIsReference() const; + std::optional getIsSufficient() const; + std::optional getIsUnique() const; + std::optional getIsVariable() const; + std::optional getIsVariation() const; + std::optional getMayTimeVary() const; + std::vector getMember() const; + std::vector getMembership() const; + std::optional getMultiplicity() const; + std::optional getName() const; + std::vector getNestedAction() const; + std::vector getNestedAllocation() const; + std::vector getNestedAnalysisCase() const; + std::vector getNestedAttribute() const; + std::vector getNestedCalculation() const; + std::vector getNestedCase() const; + std::vector getNestedConcern() const; + std::vector getNestedConnection() const; + std::vector getNestedConstraint() const; + std::vector getNestedEnumeration() const; + std::vector getNestedFlow() const; + std::vector getNestedInterface() const; + std::vector getNestedItem() const; + std::vector getNestedMetadata() const; + std::vector getNestedOccurrence() const; + std::vector getNestedPart() const; + std::vector getNestedPort() const; + std::vector getNestedReference() const; + std::vector getNestedRendering() const; + std::vector getNestedRequirement() const; + std::vector getNestedState() const; + std::vector getNestedTransition() const; + std::vector getNestedUsage() const; + std::vector getNestedUseCase() const; + std::vector getNestedVerificationCase() const; + std::vector getNestedView() const; + std::vector getNestedViewpoint() const; + std::vector getOccurrenceDefinition() const; + std::vector getOutput() const; + std::vector getOwnedAnnotation() const; + std::optional getOwnedConjugator() const; + std::optional getOwnedCrossSubsetting() const; + std::vector getOwnedDifferencing() const; + std::vector getOwnedDisjoining() const; + std::vector getOwnedElement() const; + std::vector getOwnedEndFeature() const; + std::vector getOwnedFeature() const; + std::vector getOwnedFeatureChaining() const; + std::vector getOwnedFeatureInverting() const; + std::vector getOwnedFeatureMembership() const; + std::vector getOwnedImport() const; + std::vector getOwnedIntersecting() const; + std::vector getOwnedMember() const; + std::vector getOwnedMembership() const; + std::vector getOwnedRedefinition() const; + std::optional getOwnedReferenceSubsetting() const; + std::vector getOwnedRelationship() const; + std::vector getOwnedSpecialization() const; + std::vector getOwnedSubsetting() const; + std::vector getOwnedTypeFeaturing() const; + std::vector getOwnedTyping() const; + std::vector getOwnedUnioning() const; + std::optional getOwner() const; + std::optional getOwningDefinition() const; + std::optional getOwningFeatureMembership() const; + std::optional getOwningMembership() const; + std::optional getOwningNamespace() const; + std::optional getOwningRelationship() const; + std::optional getOwningType() const; + std::optional getOwningUsage() const; + std::vector getParameter() const; + std::optional getPortionKind() const; + std::optional getQualifiedName() const; + std::optional getShortName() const; + std::vector getTextualRepresentation() const; + std::vector getType() const; + std::vector getUnioningType() const; + std::optional getUntilArgument() const; + std::vector getUsage() const; + std::vector getVariant() const; + std::vector getVariantMembership() const; + std::optional getWhileArgument() const; + std::vector allRedefinedFeatures() const; + std::vector allRedefinedFeaturesOf(const std::optional& membership) const; + std::vector allSupertypes() const; + std::optional argument(const std::optional& i) const; + std::vector asCartesianProduct() const; + std::optional canAccess(const std::optional& feature) const; + std::optional directionFor(const std::optional& type) const; + std::optional directionOf(const std::optional& feature) const; + std::optional directionOfExcluding(const std::optional& feature, const std::vector& excluded) const; + std::optional effectiveName() const; + std::optional effectiveShortName() const; + std::optional escapedName() const; + std::vector importedMemberships(const std::vector& excluded) const; + std::vector inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::vector inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional inputParameter(const std::optional& i) const; + std::vector inputParameters() const; + std::optional isCartesianProduct() const; + std::optional isCompatibleWith(const std::optional& otherType) const; + std::optional isFeaturedWithin(const std::optional& type) const; + std::optional isFeaturingType(const std::optional& type) const; + std::optional isOwnedCrossFeature() const; + std::optional isSubactionUsage() const; + std::optional libraryNamespace() const; + std::vector membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const; + std::vector multiplicities() const; + std::vector namesOf(const std::optional& element) const; + std::optional namingFeature() const; + std::vector nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const; + std::optional ownedCrossFeature() const; + std::optional path() const; + std::optional qualificationOf(const std::optional& qualifiedName) const; + std::optional redefines(const std::optional& redefinedFeature) const; + std::optional redefinesFromLibrary(const std::optional& libraryFeatureName) const; + std::optional referencedFeatureTarget() const; + std::vector removeRedefinedFeatures(const std::vector& memberships) const; + std::optional resolve(const std::optional& qualifiedName) const; + std::optional resolveGlobal(const std::optional& qualifiedName) const; + std::optional resolveLocal(const std::optional& name) const; + std::optional resolveVisible(const std::optional& name) const; + std::optional specializes(const std::optional& supertype) const; + std::optional specializesFromLibrary(const std::optional& libraryTypeName) const; + std::optional subsetsChain(const std::optional& first, const std::optional& second) const; + std::vector supertypes(const std::optional& excludeImplied) const; + std::vector typingFeatures() const; + std::optional unqualifiedNameOf(const std::optional& qualifiedName) const; + std::optional visibilityOf(const std::optional& mem) const; + std::vector visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const; +}; + +// --- typed getter definitions (all structs complete) --- +inline std::vector Element::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Element::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Element::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Element::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Element::getElementId() const { return read_string_("elementId"); } +inline std::optional Element::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Element::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Element::getName() const { return read_string_("name"); } +inline std::vector Element::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Element::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Element::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Element::getOwner() const { return read_ref_("owner"); } +inline std::optional Element::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Element::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Element::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Element::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Element::getShortName() const { return read_string_("shortName"); } +inline std::vector Element::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Element::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Element::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Element::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Element::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Element::path() const { return as_string_(call_("path", {})); } +inline std::vector Namespace::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Namespace::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Namespace::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Namespace::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Namespace::getElementId() const { return read_string_("elementId"); } +inline std::vector Namespace::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional Namespace::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Namespace::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::vector Namespace::getMember() const { return read_list_("member"); } +inline std::vector Namespace::getMembership() const { return read_list_("membership"); } +inline std::optional Namespace::getName() const { return read_string_("name"); } +inline std::vector Namespace::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Namespace::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Namespace::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Namespace::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Namespace::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Namespace::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Namespace::getOwner() const { return read_ref_("owner"); } +inline std::optional Namespace::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Namespace::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Namespace::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Namespace::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Namespace::getShortName() const { return read_string_("shortName"); } +inline std::vector Namespace::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Namespace::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Namespace::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Namespace::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Namespace::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional Namespace::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Namespace::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Namespace::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Namespace::path() const { return as_string_(call_("path", {})); } +inline std::optional Namespace::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Namespace::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Namespace::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Namespace::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Namespace::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Namespace::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Namespace::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Namespace::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Type::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Type::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Type::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Type::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Type::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Type::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Type::getElementId() const { return read_string_("elementId"); } +inline std::vector Type::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Type::getFeature() const { return read_list_("feature"); } +inline std::vector Type::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Type::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Type::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Type::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Type::getInput() const { return read_list_("input"); } +inline std::vector Type::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Type::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Type::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Type::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Type::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Type::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Type::getMember() const { return read_list_("member"); } +inline std::vector Type::getMembership() const { return read_list_("membership"); } +inline std::optional Type::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Type::getName() const { return read_string_("name"); } +inline std::vector Type::getOutput() const { return read_list_("output"); } +inline std::vector Type::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Type::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Type::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Type::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Type::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Type::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Type::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Type::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Type::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Type::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Type::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Type::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Type::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Type::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Type::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Type::getOwner() const { return read_ref_("owner"); } +inline std::optional Type::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Type::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Type::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Type::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Type::getShortName() const { return read_string_("shortName"); } +inline std::vector Type::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Type::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Type::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Type::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Type::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Type::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Type::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Type::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Type::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Type::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Type::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Type::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Type::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Type::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Type::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Type::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Type::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Type::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Type::path() const { return as_string_(call_("path", {})); } +inline std::optional Type::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Type::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Type::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Type::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Type::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Type::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Type::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Type::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Type::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Type::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Type::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Type::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Feature::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Feature::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional Feature::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Feature::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Feature::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Feature::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Feature::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Feature::getDirection() const { return read_string_("direction"); } +inline std::vector Feature::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Feature::getElementId() const { return read_string_("elementId"); } +inline std::vector Feature::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Feature::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Feature::getFeature() const { return read_list_("feature"); } +inline std::vector Feature::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Feature::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Feature::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Feature::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Feature::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Feature::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Feature::getInput() const { return read_list_("input"); } +inline std::vector Feature::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Feature::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Feature::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Feature::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Feature::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Feature::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Feature::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Feature::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Feature::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Feature::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Feature::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Feature::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Feature::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Feature::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Feature::getMember() const { return read_list_("member"); } +inline std::vector Feature::getMembership() const { return read_list_("membership"); } +inline std::optional Feature::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Feature::getName() const { return read_string_("name"); } +inline std::vector Feature::getOutput() const { return read_list_("output"); } +inline std::vector Feature::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Feature::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Feature::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Feature::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Feature::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Feature::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Feature::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Feature::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Feature::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Feature::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Feature::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Feature::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Feature::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Feature::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Feature::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Feature::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Feature::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Feature::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Feature::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Feature::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Feature::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Feature::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Feature::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Feature::getOwner() const { return read_ref_("owner"); } +inline std::optional Feature::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Feature::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Feature::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Feature::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Feature::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Feature::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Feature::getShortName() const { return read_string_("shortName"); } +inline std::vector Feature::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Feature::getType() const { return read_list_("type"); } +inline std::vector Feature::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Feature::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Feature::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Feature::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Feature::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Feature::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Feature::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Feature::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Feature::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Feature::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Feature::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Feature::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Feature::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Feature::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Feature::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Feature::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Feature::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Feature::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Feature::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Feature::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Feature::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Feature::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Feature::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Feature::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Feature::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Feature::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Feature::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Feature::path() const { return as_string_(call_("path", {})); } +inline std::optional Feature::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Feature::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Feature::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Feature::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Feature::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Feature::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Feature::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Feature::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Feature::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Feature::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Feature::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Feature::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Feature::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Feature::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Feature::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Feature::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Step::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Step::getBehavior() const { return read_list_("behavior"); } +inline std::vector Step::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional Step::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Step::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Step::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Step::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Step::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Step::getDirection() const { return read_string_("direction"); } +inline std::vector Step::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Step::getElementId() const { return read_string_("elementId"); } +inline std::vector Step::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Step::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Step::getFeature() const { return read_list_("feature"); } +inline std::vector Step::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Step::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Step::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Step::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Step::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Step::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Step::getInput() const { return read_list_("input"); } +inline std::vector Step::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Step::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Step::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Step::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Step::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Step::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Step::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Step::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Step::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Step::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Step::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Step::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Step::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Step::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Step::getMember() const { return read_list_("member"); } +inline std::vector Step::getMembership() const { return read_list_("membership"); } +inline std::optional Step::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Step::getName() const { return read_string_("name"); } +inline std::vector Step::getOutput() const { return read_list_("output"); } +inline std::vector Step::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Step::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Step::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Step::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Step::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Step::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Step::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Step::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Step::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Step::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Step::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Step::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Step::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Step::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Step::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Step::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Step::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Step::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Step::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Step::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Step::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Step::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Step::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Step::getOwner() const { return read_ref_("owner"); } +inline std::optional Step::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Step::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Step::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Step::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Step::getOwningType() const { return read_ref_("owningType"); } +inline std::vector Step::getParameter() const { return read_list_("parameter"); } +inline std::optional Step::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Step::getShortName() const { return read_string_("shortName"); } +inline std::vector Step::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Step::getType() const { return read_list_("type"); } +inline std::vector Step::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Step::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Step::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Step::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Step::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Step::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Step::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Step::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Step::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Step::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Step::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Step::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Step::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Step::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Step::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Step::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Step::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Step::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Step::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Step::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Step::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Step::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Step::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Step::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Step::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Step::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Step::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Step::path() const { return as_string_(call_("path", {})); } +inline std::optional Step::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Step::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Step::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Step::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Step::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Step::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Step::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Step::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Step::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Step::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Step::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Step::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Step::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Step::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Step::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Step::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Usage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Usage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional Usage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Usage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Usage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Usage::getDefinition() const { return read_list_("definition"); } +inline std::vector Usage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Usage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Usage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional Usage::getDirection() const { return read_string_("direction"); } +inline std::vector Usage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Usage::getElementId() const { return read_string_("elementId"); } +inline std::vector Usage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Usage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Usage::getFeature() const { return read_list_("feature"); } +inline std::vector Usage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Usage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Usage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Usage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Usage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Usage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Usage::getInput() const { return read_list_("input"); } +inline std::vector Usage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Usage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Usage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Usage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Usage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Usage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Usage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Usage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Usage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Usage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Usage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Usage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional Usage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Usage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Usage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional Usage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional Usage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector Usage::getMember() const { return read_list_("member"); } +inline std::vector Usage::getMembership() const { return read_list_("membership"); } +inline std::optional Usage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Usage::getName() const { return read_string_("name"); } +inline std::vector Usage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector Usage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector Usage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector Usage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector Usage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector Usage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector Usage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector Usage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector Usage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector Usage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector Usage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector Usage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector Usage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector Usage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector Usage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector Usage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector Usage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector Usage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector Usage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector Usage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector Usage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector Usage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector Usage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector Usage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector Usage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector Usage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector Usage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector Usage::getOutput() const { return read_list_("output"); } +inline std::vector Usage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Usage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Usage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Usage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Usage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Usage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Usage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Usage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Usage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Usage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Usage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Usage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Usage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Usage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Usage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Usage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Usage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Usage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Usage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Usage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Usage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Usage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Usage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Usage::getOwner() const { return read_ref_("owner"); } +inline std::optional Usage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional Usage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Usage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Usage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Usage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Usage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Usage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional Usage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Usage::getShortName() const { return read_string_("shortName"); } +inline std::vector Usage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Usage::getType() const { return read_list_("type"); } +inline std::vector Usage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Usage::getUsage() const { return read_list_("usage"); } +inline std::vector Usage::getVariant() const { return read_list_("variant"); } +inline std::vector Usage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector Usage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Usage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Usage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Usage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Usage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Usage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Usage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Usage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Usage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Usage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Usage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Usage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Usage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Usage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Usage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Usage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Usage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Usage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Usage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Usage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Usage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Usage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Usage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Usage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Usage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Usage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Usage::path() const { return as_string_(call_("path", {})); } +inline std::optional Usage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Usage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Usage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional Usage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector Usage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Usage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Usage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Usage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Usage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Usage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Usage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Usage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Usage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Usage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Usage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Usage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Usage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector OccurrenceUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector OccurrenceUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional OccurrenceUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional OccurrenceUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional OccurrenceUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector OccurrenceUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector OccurrenceUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector OccurrenceUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector OccurrenceUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional OccurrenceUsage::getDirection() const { return read_string_("direction"); } +inline std::vector OccurrenceUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional OccurrenceUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector OccurrenceUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional OccurrenceUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector OccurrenceUsage::getFeature() const { return read_list_("feature"); } +inline std::vector OccurrenceUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional OccurrenceUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector OccurrenceUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector OccurrenceUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional OccurrenceUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector OccurrenceUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector OccurrenceUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector OccurrenceUsage::getInput() const { return read_list_("input"); } +inline std::vector OccurrenceUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional OccurrenceUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional OccurrenceUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional OccurrenceUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional OccurrenceUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional OccurrenceUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional OccurrenceUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional OccurrenceUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional OccurrenceUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional OccurrenceUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional OccurrenceUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional OccurrenceUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional OccurrenceUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional OccurrenceUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional OccurrenceUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional OccurrenceUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional OccurrenceUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional OccurrenceUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector OccurrenceUsage::getMember() const { return read_list_("member"); } +inline std::vector OccurrenceUsage::getMembership() const { return read_list_("membership"); } +inline std::optional OccurrenceUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional OccurrenceUsage::getName() const { return read_string_("name"); } +inline std::vector OccurrenceUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector OccurrenceUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector OccurrenceUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector OccurrenceUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector OccurrenceUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector OccurrenceUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector OccurrenceUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector OccurrenceUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector OccurrenceUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector OccurrenceUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector OccurrenceUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector OccurrenceUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector OccurrenceUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector OccurrenceUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector OccurrenceUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector OccurrenceUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector OccurrenceUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector OccurrenceUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector OccurrenceUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector OccurrenceUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector OccurrenceUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector OccurrenceUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector OccurrenceUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector OccurrenceUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector OccurrenceUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector OccurrenceUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector OccurrenceUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector OccurrenceUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector OccurrenceUsage::getOutput() const { return read_list_("output"); } +inline std::vector OccurrenceUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional OccurrenceUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional OccurrenceUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector OccurrenceUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector OccurrenceUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector OccurrenceUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector OccurrenceUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector OccurrenceUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector OccurrenceUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector OccurrenceUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector OccurrenceUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector OccurrenceUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector OccurrenceUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector OccurrenceUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector OccurrenceUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector OccurrenceUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional OccurrenceUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector OccurrenceUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector OccurrenceUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector OccurrenceUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector OccurrenceUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector OccurrenceUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector OccurrenceUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional OccurrenceUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional OccurrenceUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional OccurrenceUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional OccurrenceUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional OccurrenceUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional OccurrenceUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional OccurrenceUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional OccurrenceUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional OccurrenceUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional OccurrenceUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional OccurrenceUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector OccurrenceUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector OccurrenceUsage::getType() const { return read_list_("type"); } +inline std::vector OccurrenceUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector OccurrenceUsage::getUsage() const { return read_list_("usage"); } +inline std::vector OccurrenceUsage::getVariant() const { return read_list_("variant"); } +inline std::vector OccurrenceUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector OccurrenceUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector OccurrenceUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector OccurrenceUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector OccurrenceUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional OccurrenceUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional OccurrenceUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional OccurrenceUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional OccurrenceUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional OccurrenceUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional OccurrenceUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional OccurrenceUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector OccurrenceUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector OccurrenceUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector OccurrenceUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional OccurrenceUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional OccurrenceUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional OccurrenceUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional OccurrenceUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional OccurrenceUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional OccurrenceUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector OccurrenceUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector OccurrenceUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector OccurrenceUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional OccurrenceUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector OccurrenceUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional OccurrenceUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional OccurrenceUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional OccurrenceUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional OccurrenceUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional OccurrenceUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector OccurrenceUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional OccurrenceUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional OccurrenceUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional OccurrenceUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional OccurrenceUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional OccurrenceUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector OccurrenceUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector OccurrenceUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional OccurrenceUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector OccurrenceUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector ActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector ActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ActionUsage::getInput() const { return read_list_("input"); } +inline std::vector ActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ActionUsage::getMember() const { return read_list_("member"); } +inline std::vector ActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ActionUsage::getName() const { return read_string_("name"); } +inline std::vector ActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector ActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional ActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ActionUsage::getType() const { return read_list_("type"); } +inline std::vector ActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector ActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector ActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional ActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional ActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AcceptActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector AcceptActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AcceptActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector AcceptActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional AcceptActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional AcceptActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AcceptActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AcceptActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector AcceptActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AcceptActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AcceptActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional AcceptActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector AcceptActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AcceptActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector AcceptActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional AcceptActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector AcceptActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector AcceptActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional AcceptActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector AcceptActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector AcceptActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional AcceptActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector AcceptActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AcceptActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AcceptActionUsage::getInput() const { return read_list_("input"); } +inline std::vector AcceptActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AcceptActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AcceptActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional AcceptActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AcceptActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional AcceptActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional AcceptActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional AcceptActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AcceptActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AcceptActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AcceptActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional AcceptActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional AcceptActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional AcceptActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AcceptActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional AcceptActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional AcceptActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional AcceptActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector AcceptActionUsage::getMember() const { return read_list_("member"); } +inline std::vector AcceptActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional AcceptActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AcceptActionUsage::getName() const { return read_string_("name"); } +inline std::vector AcceptActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector AcceptActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector AcceptActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector AcceptActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector AcceptActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector AcceptActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector AcceptActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector AcceptActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector AcceptActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector AcceptActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector AcceptActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector AcceptActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector AcceptActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector AcceptActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector AcceptActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector AcceptActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector AcceptActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector AcceptActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector AcceptActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector AcceptActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector AcceptActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector AcceptActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector AcceptActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector AcceptActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector AcceptActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector AcceptActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector AcceptActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector AcceptActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector AcceptActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector AcceptActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AcceptActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional AcceptActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector AcceptActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AcceptActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AcceptActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AcceptActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AcceptActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AcceptActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector AcceptActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector AcceptActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AcceptActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AcceptActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AcceptActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AcceptActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AcceptActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional AcceptActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector AcceptActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AcceptActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AcceptActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector AcceptActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector AcceptActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector AcceptActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AcceptActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional AcceptActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional AcceptActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional AcceptActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AcceptActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AcceptActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AcceptActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional AcceptActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector AcceptActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional AcceptActionUsage::getPayloadArgument() const { return read_ref_("payloadArgument"); } +inline std::optional AcceptActionUsage::getPayloadParameter() const { return read_ref_("payloadParameter"); } +inline std::optional AcceptActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional AcceptActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AcceptActionUsage::getReceiverArgument() const { return read_ref_("receiverArgument"); } +inline std::optional AcceptActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector AcceptActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AcceptActionUsage::getType() const { return read_list_("type"); } +inline std::vector AcceptActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AcceptActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector AcceptActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector AcceptActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AcceptActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector AcceptActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AcceptActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AcceptActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector AcceptActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional AcceptActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional AcceptActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional AcceptActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AcceptActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AcceptActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AcceptActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AcceptActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AcceptActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AcceptActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AcceptActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AcceptActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector AcceptActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional AcceptActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional AcceptActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AcceptActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional AcceptActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional AcceptActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional AcceptActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional AcceptActionUsage::isTriggerAction() const { return as_bool_(call_("isTriggerAction", {})); } +inline std::optional AcceptActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AcceptActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AcceptActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AcceptActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional AcceptActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector AcceptActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AcceptActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional AcceptActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional AcceptActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional AcceptActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional AcceptActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional AcceptActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector AcceptActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AcceptActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AcceptActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AcceptActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AcceptActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AcceptActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AcceptActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional AcceptActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector AcceptActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector AcceptActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional AcceptActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AcceptActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AcceptActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Classifier::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Classifier::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Classifier::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Classifier::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Classifier::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Classifier::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Classifier::getElementId() const { return read_string_("elementId"); } +inline std::vector Classifier::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Classifier::getFeature() const { return read_list_("feature"); } +inline std::vector Classifier::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Classifier::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Classifier::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Classifier::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Classifier::getInput() const { return read_list_("input"); } +inline std::vector Classifier::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Classifier::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Classifier::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Classifier::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Classifier::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Classifier::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Classifier::getMember() const { return read_list_("member"); } +inline std::vector Classifier::getMembership() const { return read_list_("membership"); } +inline std::optional Classifier::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Classifier::getName() const { return read_string_("name"); } +inline std::vector Classifier::getOutput() const { return read_list_("output"); } +inline std::vector Classifier::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Classifier::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Classifier::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Classifier::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Classifier::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Classifier::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Classifier::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Classifier::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Classifier::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Classifier::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Classifier::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Classifier::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Classifier::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Classifier::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Classifier::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Classifier::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Classifier::getOwner() const { return read_ref_("owner"); } +inline std::optional Classifier::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Classifier::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Classifier::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Classifier::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Classifier::getShortName() const { return read_string_("shortName"); } +inline std::vector Classifier::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Classifier::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Classifier::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Classifier::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Classifier::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Classifier::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Classifier::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Classifier::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Classifier::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Classifier::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Classifier::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Classifier::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Classifier::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Classifier::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Classifier::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Classifier::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Classifier::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Classifier::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Classifier::path() const { return as_string_(call_("path", {})); } +inline std::optional Classifier::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Classifier::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Classifier::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Classifier::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Classifier::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Classifier::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Classifier::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Classifier::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Classifier::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Classifier::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Classifier::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Classifier::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Definition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Definition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Definition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Definition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Definition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Definition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector Definition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Definition::getElementId() const { return read_string_("elementId"); } +inline std::vector Definition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Definition::getFeature() const { return read_list_("feature"); } +inline std::vector Definition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Definition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Definition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Definition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Definition::getInput() const { return read_list_("input"); } +inline std::vector Definition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Definition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Definition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Definition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Definition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Definition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Definition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector Definition::getMember() const { return read_list_("member"); } +inline std::vector Definition::getMembership() const { return read_list_("membership"); } +inline std::optional Definition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Definition::getName() const { return read_string_("name"); } +inline std::vector Definition::getOutput() const { return read_list_("output"); } +inline std::vector Definition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector Definition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector Definition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector Definition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Definition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector Definition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector Definition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector Definition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional Definition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Definition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector Definition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector Definition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Definition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Definition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Definition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Definition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector Definition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Definition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Definition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector Definition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Definition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector Definition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Definition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector Definition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Definition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Definition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector Definition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector Definition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector Definition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector Definition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector Definition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Definition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector Definition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector Definition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Definition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector Definition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Definition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector Definition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector Definition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector Definition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector Definition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector Definition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector Definition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional Definition::getOwner() const { return read_ref_("owner"); } +inline std::optional Definition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Definition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Definition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Definition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Definition::getShortName() const { return read_string_("shortName"); } +inline std::vector Definition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Definition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Definition::getUsage() const { return read_list_("usage"); } +inline std::vector Definition::getVariant() const { return read_list_("variant"); } +inline std::vector Definition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector Definition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Definition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Definition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Definition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Definition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Definition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Definition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Definition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Definition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Definition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Definition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Definition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Definition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Definition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Definition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Definition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Definition::path() const { return as_string_(call_("path", {})); } +inline std::optional Definition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Definition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Definition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Definition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Definition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Definition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Definition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Definition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Definition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Definition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Definition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Definition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Class::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Class::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Class::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Class::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Class::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Class::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Class::getElementId() const { return read_string_("elementId"); } +inline std::vector Class::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Class::getFeature() const { return read_list_("feature"); } +inline std::vector Class::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Class::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Class::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Class::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Class::getInput() const { return read_list_("input"); } +inline std::vector Class::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Class::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Class::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Class::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Class::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Class::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Class::getMember() const { return read_list_("member"); } +inline std::vector Class::getMembership() const { return read_list_("membership"); } +inline std::optional Class::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Class::getName() const { return read_string_("name"); } +inline std::vector Class::getOutput() const { return read_list_("output"); } +inline std::vector Class::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Class::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Class::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Class::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Class::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Class::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Class::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Class::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Class::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Class::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Class::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Class::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Class::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Class::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Class::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Class::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Class::getOwner() const { return read_ref_("owner"); } +inline std::optional Class::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Class::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Class::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Class::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Class::getShortName() const { return read_string_("shortName"); } +inline std::vector Class::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Class::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Class::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Class::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Class::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Class::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Class::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Class::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Class::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Class::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Class::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Class::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Class::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Class::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Class::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Class::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Class::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Class::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Class::path() const { return as_string_(call_("path", {})); } +inline std::optional Class::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Class::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Class::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Class::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Class::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Class::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Class::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Class::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Class::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Class::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Class::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Class::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector OccurrenceDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional OccurrenceDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional OccurrenceDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector OccurrenceDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector OccurrenceDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector OccurrenceDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector OccurrenceDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional OccurrenceDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector OccurrenceDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector OccurrenceDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector OccurrenceDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector OccurrenceDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector OccurrenceDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector OccurrenceDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector OccurrenceDefinition::getInput() const { return read_list_("input"); } +inline std::vector OccurrenceDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional OccurrenceDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional OccurrenceDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional OccurrenceDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional OccurrenceDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional OccurrenceDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional OccurrenceDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional OccurrenceDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector OccurrenceDefinition::getMember() const { return read_list_("member"); } +inline std::vector OccurrenceDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional OccurrenceDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional OccurrenceDefinition::getName() const { return read_string_("name"); } +inline std::vector OccurrenceDefinition::getOutput() const { return read_list_("output"); } +inline std::vector OccurrenceDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector OccurrenceDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector OccurrenceDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector OccurrenceDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector OccurrenceDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector OccurrenceDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector OccurrenceDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector OccurrenceDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional OccurrenceDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector OccurrenceDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector OccurrenceDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector OccurrenceDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector OccurrenceDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector OccurrenceDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector OccurrenceDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector OccurrenceDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector OccurrenceDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector OccurrenceDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector OccurrenceDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector OccurrenceDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector OccurrenceDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector OccurrenceDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector OccurrenceDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector OccurrenceDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector OccurrenceDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector OccurrenceDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector OccurrenceDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector OccurrenceDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector OccurrenceDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector OccurrenceDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector OccurrenceDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector OccurrenceDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector OccurrenceDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector OccurrenceDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector OccurrenceDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector OccurrenceDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector OccurrenceDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector OccurrenceDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector OccurrenceDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector OccurrenceDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector OccurrenceDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector OccurrenceDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector OccurrenceDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional OccurrenceDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional OccurrenceDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional OccurrenceDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional OccurrenceDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional OccurrenceDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional OccurrenceDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector OccurrenceDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector OccurrenceDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector OccurrenceDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector OccurrenceDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector OccurrenceDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector OccurrenceDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector OccurrenceDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional OccurrenceDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional OccurrenceDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional OccurrenceDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional OccurrenceDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional OccurrenceDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector OccurrenceDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector OccurrenceDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector OccurrenceDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional OccurrenceDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional OccurrenceDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector OccurrenceDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector OccurrenceDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector OccurrenceDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector OccurrenceDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional OccurrenceDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional OccurrenceDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector OccurrenceDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional OccurrenceDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional OccurrenceDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional OccurrenceDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional OccurrenceDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector OccurrenceDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional OccurrenceDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional OccurrenceDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector OccurrenceDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Behavior::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Behavior::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Behavior::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Behavior::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Behavior::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Behavior::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Behavior::getElementId() const { return read_string_("elementId"); } +inline std::vector Behavior::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Behavior::getFeature() const { return read_list_("feature"); } +inline std::vector Behavior::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Behavior::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Behavior::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Behavior::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Behavior::getInput() const { return read_list_("input"); } +inline std::vector Behavior::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Behavior::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Behavior::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Behavior::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Behavior::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Behavior::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Behavior::getMember() const { return read_list_("member"); } +inline std::vector Behavior::getMembership() const { return read_list_("membership"); } +inline std::optional Behavior::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Behavior::getName() const { return read_string_("name"); } +inline std::vector Behavior::getOutput() const { return read_list_("output"); } +inline std::vector Behavior::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Behavior::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Behavior::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Behavior::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Behavior::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Behavior::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Behavior::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Behavior::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Behavior::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Behavior::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Behavior::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Behavior::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Behavior::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Behavior::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Behavior::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Behavior::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Behavior::getOwner() const { return read_ref_("owner"); } +inline std::optional Behavior::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Behavior::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Behavior::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector Behavior::getParameter() const { return read_list_("parameter"); } +inline std::optional Behavior::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Behavior::getShortName() const { return read_string_("shortName"); } +inline std::vector Behavior::getStep() const { return read_list_("step"); } +inline std::vector Behavior::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Behavior::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Behavior::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Behavior::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Behavior::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Behavior::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Behavior::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Behavior::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Behavior::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Behavior::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Behavior::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Behavior::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Behavior::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Behavior::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Behavior::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Behavior::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Behavior::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Behavior::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Behavior::path() const { return as_string_(call_("path", {})); } +inline std::optional Behavior::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Behavior::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Behavior::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Behavior::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Behavior::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Behavior::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Behavior::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Behavior::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Behavior::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Behavior::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Behavior::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Behavior::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ActionDefinition::getAction() const { return read_list_("action"); } +inline std::vector ActionDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ActionDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ActionDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ActionDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ActionDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ActionDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ActionDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ActionDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ActionDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ActionDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ActionDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ActionDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ActionDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ActionDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ActionDefinition::getInput() const { return read_list_("input"); } +inline std::vector ActionDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ActionDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ActionDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ActionDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ActionDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ActionDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ActionDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ActionDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ActionDefinition::getMember() const { return read_list_("member"); } +inline std::vector ActionDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ActionDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ActionDefinition::getName() const { return read_string_("name"); } +inline std::vector ActionDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ActionDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ActionDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ActionDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ActionDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ActionDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ActionDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ActionDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ActionDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ActionDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ActionDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ActionDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ActionDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ActionDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ActionDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ActionDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ActionDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ActionDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ActionDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ActionDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ActionDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ActionDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ActionDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ActionDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ActionDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ActionDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ActionDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ActionDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ActionDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ActionDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ActionDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ActionDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ActionDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ActionDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ActionDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ActionDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ActionDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ActionDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ActionDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ActionDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ActionDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ActionDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ActionDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ActionDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ActionDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ActionDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ActionDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ActionDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector ActionDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional ActionDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ActionDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ActionDefinition::getStep() const { return read_list_("step"); } +inline std::vector ActionDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ActionDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ActionDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ActionDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ActionDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ActionDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ActionDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ActionDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ActionDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ActionDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ActionDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ActionDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ActionDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ActionDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ActionDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ActionDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ActionDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ActionDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ActionDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ActionDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ActionDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ActionDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ActionDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ActionDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ActionDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ActionDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ActionDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ActionDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ActionDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ActionDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ActionDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ActionDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ActionDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ActionDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Relationship::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Relationship::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Relationship::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Relationship::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Relationship::getElementId() const { return read_string_("elementId"); } +inline std::optional Relationship::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Relationship::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Relationship::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Relationship::getName() const { return read_string_("name"); } +inline std::vector Relationship::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Relationship::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Relationship::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Relationship::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Relationship::getOwner() const { return read_ref_("owner"); } +inline std::optional Relationship::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Relationship::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Relationship::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Relationship::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Relationship::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Relationship::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Relationship::getShortName() const { return read_string_("shortName"); } +inline std::vector Relationship::getSource() const { return read_list_("source"); } +inline std::vector Relationship::getTarget() const { return read_list_("target"); } +inline std::vector Relationship::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Relationship::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Relationship::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Relationship::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Relationship::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Relationship::path() const { return as_string_(call_("path", {})); } +inline std::vector Membership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Membership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Membership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Membership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Membership::getElementId() const { return read_string_("elementId"); } +inline std::optional Membership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Membership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Membership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Membership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional Membership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional Membership::getMemberName() const { return read_string_("memberName"); } +inline std::optional Membership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional Membership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional Membership::getName() const { return read_string_("name"); } +inline std::vector Membership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Membership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Membership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Membership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Membership::getOwner() const { return read_ref_("owner"); } +inline std::optional Membership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Membership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Membership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Membership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Membership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Membership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Membership::getShortName() const { return read_string_("shortName"); } +inline std::vector Membership::getSource() const { return read_list_("source"); } +inline std::vector Membership::getTarget() const { return read_list_("target"); } +inline std::vector Membership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Membership::getVisibility() const { return read_string_("visibility"); } +inline std::optional Membership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Membership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Membership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Membership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional Membership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Membership::path() const { return as_string_(call_("path", {})); } +inline std::vector OwningMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional OwningMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional OwningMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector OwningMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional OwningMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional OwningMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional OwningMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional OwningMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional OwningMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional OwningMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional OwningMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional OwningMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional OwningMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional OwningMembership::getName() const { return read_string_("name"); } +inline std::vector OwningMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector OwningMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional OwningMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional OwningMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional OwningMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional OwningMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector OwningMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector OwningMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional OwningMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional OwningMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional OwningMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional OwningMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional OwningMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional OwningMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector OwningMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional OwningMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector OwningMembership::getSource() const { return read_list_("source"); } +inline std::vector OwningMembership::getTarget() const { return read_list_("target"); } +inline std::vector OwningMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional OwningMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional OwningMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional OwningMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional OwningMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional OwningMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional OwningMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional OwningMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector FeatureMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional FeatureMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional FeatureMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FeatureMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional FeatureMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional FeatureMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional FeatureMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional FeatureMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional FeatureMembership::getName() const { return read_string_("name"); } +inline std::vector FeatureMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector FeatureMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional FeatureMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional FeatureMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional FeatureMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional FeatureMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional FeatureMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector FeatureMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FeatureMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional FeatureMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FeatureMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional FeatureMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FeatureMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional FeatureMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector FeatureMembership::getSource() const { return read_list_("source"); } +inline std::vector FeatureMembership::getTarget() const { return read_list_("target"); } +inline std::vector FeatureMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional FeatureMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional FeatureMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional FeatureMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional FeatureMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional FeatureMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector ParameterMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ParameterMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ParameterMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ParameterMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ParameterMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ParameterMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ParameterMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ParameterMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ParameterMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ParameterMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ParameterMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ParameterMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ParameterMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ParameterMembership::getName() const { return read_string_("name"); } +inline std::vector ParameterMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ParameterMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ParameterMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ParameterMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ParameterMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional ParameterMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ParameterMembership::getOwnedMemberParameter() const { return read_ref_("ownedMemberParameter"); } +inline std::optional ParameterMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector ParameterMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ParameterMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ParameterMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ParameterMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ParameterMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ParameterMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ParameterMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ParameterMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ParameterMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ParameterMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ParameterMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ParameterMembership::getSource() const { return read_list_("source"); } +inline std::vector ParameterMembership::getTarget() const { return read_list_("target"); } +inline std::vector ParameterMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ParameterMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ParameterMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ParameterMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ParameterMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ParameterMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ParameterMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ParameterMembership::parameterDirection() const { return as_string_(call_("parameterDirection", {})); } +inline std::optional ParameterMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector ActorMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ActorMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ActorMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ActorMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ActorMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ActorMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ActorMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ActorMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ActorMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ActorMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ActorMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ActorMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ActorMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ActorMembership::getName() const { return read_string_("name"); } +inline std::optional ActorMembership::getOwnedActorParameter() const { return read_ref_("ownedActorParameter"); } +inline std::vector ActorMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ActorMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ActorMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ActorMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ActorMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional ActorMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ActorMembership::getOwnedMemberParameter() const { return read_ref_("ownedMemberParameter"); } +inline std::optional ActorMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector ActorMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ActorMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ActorMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ActorMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ActorMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ActorMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ActorMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ActorMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ActorMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ActorMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ActorMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ActorMembership::getSource() const { return read_list_("source"); } +inline std::vector ActorMembership::getTarget() const { return read_list_("target"); } +inline std::vector ActorMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ActorMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ActorMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ActorMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ActorMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ActorMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ActorMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ActorMembership::parameterDirection() const { return as_string_(call_("parameterDirection", {})); } +inline std::optional ActorMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector Structure::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Structure::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Structure::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Structure::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Structure::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Structure::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Structure::getElementId() const { return read_string_("elementId"); } +inline std::vector Structure::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Structure::getFeature() const { return read_list_("feature"); } +inline std::vector Structure::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Structure::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Structure::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Structure::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Structure::getInput() const { return read_list_("input"); } +inline std::vector Structure::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Structure::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Structure::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Structure::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Structure::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Structure::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Structure::getMember() const { return read_list_("member"); } +inline std::vector Structure::getMembership() const { return read_list_("membership"); } +inline std::optional Structure::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Structure::getName() const { return read_string_("name"); } +inline std::vector Structure::getOutput() const { return read_list_("output"); } +inline std::vector Structure::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Structure::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Structure::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Structure::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Structure::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Structure::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Structure::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Structure::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Structure::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Structure::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Structure::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Structure::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Structure::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Structure::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Structure::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Structure::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Structure::getOwner() const { return read_ref_("owner"); } +inline std::optional Structure::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Structure::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Structure::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Structure::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Structure::getShortName() const { return read_string_("shortName"); } +inline std::vector Structure::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Structure::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Structure::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Structure::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Structure::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Structure::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Structure::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Structure::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Structure::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Structure::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Structure::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Structure::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Structure::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Structure::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Structure::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Structure::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Structure::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Structure::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Structure::path() const { return as_string_(call_("path", {})); } +inline std::optional Structure::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Structure::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Structure::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Structure::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Structure::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Structure::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Structure::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Structure::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Structure::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Structure::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Structure::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Structure::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Association::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Association::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::optional Association::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Association::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Association::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Association::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Association::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Association::getElementId() const { return read_string_("elementId"); } +inline std::vector Association::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Association::getFeature() const { return read_list_("feature"); } +inline std::vector Association::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Association::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Association::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Association::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Association::getInput() const { return read_list_("input"); } +inline std::vector Association::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Association::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Association::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Association::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Association::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Association::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Association::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Association::getMember() const { return read_list_("member"); } +inline std::vector Association::getMembership() const { return read_list_("membership"); } +inline std::optional Association::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Association::getName() const { return read_string_("name"); } +inline std::vector Association::getOutput() const { return read_list_("output"); } +inline std::vector Association::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Association::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Association::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Association::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Association::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Association::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Association::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Association::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Association::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Association::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Association::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Association::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Association::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Association::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Association::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Association::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Association::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Association::getOwner() const { return read_ref_("owner"); } +inline std::optional Association::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Association::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Association::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Association::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Association::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Association::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector Association::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional Association::getShortName() const { return read_string_("shortName"); } +inline std::vector Association::getSource() const { return read_list_("source"); } +inline std::optional Association::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector Association::getTarget() const { return read_list_("target"); } +inline std::vector Association::getTargetType() const { return read_list_("targetType"); } +inline std::vector Association::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Association::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Association::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Association::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Association::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Association::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Association::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Association::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Association::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Association::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Association::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Association::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Association::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Association::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Association::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Association::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Association::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Association::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Association::path() const { return as_string_(call_("path", {})); } +inline std::optional Association::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Association::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Association::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Association::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Association::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Association::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Association::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Association::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Association::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Association::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Association::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Association::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AssociationStructure::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AssociationStructure::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::optional AssociationStructure::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AssociationStructure::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AssociationStructure::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AssociationStructure::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AssociationStructure::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AssociationStructure::getElementId() const { return read_string_("elementId"); } +inline std::vector AssociationStructure::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector AssociationStructure::getFeature() const { return read_list_("feature"); } +inline std::vector AssociationStructure::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector AssociationStructure::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector AssociationStructure::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AssociationStructure::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AssociationStructure::getInput() const { return read_list_("input"); } +inline std::vector AssociationStructure::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AssociationStructure::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AssociationStructure::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AssociationStructure::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional AssociationStructure::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AssociationStructure::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AssociationStructure::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector AssociationStructure::getMember() const { return read_list_("member"); } +inline std::vector AssociationStructure::getMembership() const { return read_list_("membership"); } +inline std::optional AssociationStructure::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AssociationStructure::getName() const { return read_string_("name"); } +inline std::vector AssociationStructure::getOutput() const { return read_list_("output"); } +inline std::vector AssociationStructure::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AssociationStructure::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector AssociationStructure::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AssociationStructure::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AssociationStructure::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AssociationStructure::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AssociationStructure::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AssociationStructure::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AssociationStructure::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AssociationStructure::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AssociationStructure::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AssociationStructure::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AssociationStructure::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector AssociationStructure::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AssociationStructure::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AssociationStructure::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector AssociationStructure::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AssociationStructure::getOwner() const { return read_ref_("owner"); } +inline std::optional AssociationStructure::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AssociationStructure::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AssociationStructure::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional AssociationStructure::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AssociationStructure::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector AssociationStructure::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector AssociationStructure::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional AssociationStructure::getShortName() const { return read_string_("shortName"); } +inline std::vector AssociationStructure::getSource() const { return read_list_("source"); } +inline std::optional AssociationStructure::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector AssociationStructure::getTarget() const { return read_list_("target"); } +inline std::vector AssociationStructure::getTargetType() const { return read_list_("targetType"); } +inline std::vector AssociationStructure::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AssociationStructure::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AssociationStructure::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AssociationStructure::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AssociationStructure::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AssociationStructure::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AssociationStructure::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AssociationStructure::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AssociationStructure::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AssociationStructure::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AssociationStructure::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AssociationStructure::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AssociationStructure::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AssociationStructure::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AssociationStructure::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AssociationStructure::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AssociationStructure::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector AssociationStructure::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AssociationStructure::path() const { return as_string_(call_("path", {})); } +inline std::optional AssociationStructure::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector AssociationStructure::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AssociationStructure::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AssociationStructure::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AssociationStructure::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AssociationStructure::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AssociationStructure::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AssociationStructure::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector AssociationStructure::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional AssociationStructure::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AssociationStructure::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AssociationStructure::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ItemDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ItemDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ItemDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ItemDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ItemDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ItemDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ItemDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ItemDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ItemDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ItemDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ItemDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ItemDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ItemDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ItemDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ItemDefinition::getInput() const { return read_list_("input"); } +inline std::vector ItemDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ItemDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ItemDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ItemDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ItemDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ItemDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ItemDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ItemDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ItemDefinition::getMember() const { return read_list_("member"); } +inline std::vector ItemDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ItemDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ItemDefinition::getName() const { return read_string_("name"); } +inline std::vector ItemDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ItemDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ItemDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ItemDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ItemDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ItemDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ItemDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ItemDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ItemDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ItemDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ItemDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ItemDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ItemDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ItemDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ItemDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ItemDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ItemDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ItemDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ItemDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ItemDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ItemDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ItemDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ItemDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ItemDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ItemDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ItemDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ItemDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ItemDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ItemDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ItemDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ItemDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ItemDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ItemDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ItemDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ItemDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ItemDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ItemDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ItemDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ItemDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ItemDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ItemDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ItemDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ItemDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ItemDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ItemDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ItemDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ItemDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ItemDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ItemDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ItemDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ItemDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ItemDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ItemDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ItemDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ItemDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ItemDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ItemDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ItemDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ItemDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ItemDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ItemDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ItemDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ItemDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ItemDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ItemDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ItemDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ItemDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ItemDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ItemDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ItemDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ItemDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ItemDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ItemDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ItemDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ItemDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ItemDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ItemDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ItemDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ItemDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ItemDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ItemDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ItemDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ItemDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ItemDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector PartDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional PartDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PartDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PartDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector PartDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector PartDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector PartDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PartDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector PartDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector PartDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector PartDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector PartDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector PartDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector PartDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector PartDefinition::getInput() const { return read_list_("input"); } +inline std::vector PartDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional PartDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional PartDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional PartDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PartDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional PartDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PartDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional PartDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector PartDefinition::getMember() const { return read_list_("member"); } +inline std::vector PartDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional PartDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional PartDefinition::getName() const { return read_string_("name"); } +inline std::vector PartDefinition::getOutput() const { return read_list_("output"); } +inline std::vector PartDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector PartDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector PartDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector PartDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector PartDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector PartDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector PartDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector PartDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional PartDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector PartDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector PartDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector PartDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector PartDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector PartDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PartDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector PartDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector PartDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector PartDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector PartDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector PartDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector PartDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector PartDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector PartDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector PartDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector PartDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector PartDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector PartDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector PartDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector PartDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector PartDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector PartDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector PartDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector PartDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector PartDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector PartDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector PartDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector PartDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector PartDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector PartDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector PartDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector PartDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector PartDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector PartDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional PartDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional PartDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PartDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PartDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PartDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional PartDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector PartDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector PartDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector PartDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector PartDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector PartDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector PartDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector PartDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional PartDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional PartDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional PartDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PartDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PartDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector PartDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector PartDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector PartDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PartDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional PartDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector PartDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector PartDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector PartDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector PartDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PartDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional PartDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector PartDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional PartDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional PartDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional PartDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional PartDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional PartDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional PartDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector PartDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional PartDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional PartDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector PartDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConnectionDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConnectionDefinition::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::vector ConnectionDefinition::getConnectionEnd() const { return read_list_("connectionEnd"); } +inline std::optional ConnectionDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConnectionDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConnectionDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConnectionDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConnectionDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ConnectionDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConnectionDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ConnectionDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ConnectionDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ConnectionDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ConnectionDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ConnectionDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConnectionDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConnectionDefinition::getInput() const { return read_list_("input"); } +inline std::vector ConnectionDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConnectionDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConnectionDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConnectionDefinition::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ConnectionDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConnectionDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConnectionDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConnectionDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConnectionDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ConnectionDefinition::getMember() const { return read_list_("member"); } +inline std::vector ConnectionDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ConnectionDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConnectionDefinition::getName() const { return read_string_("name"); } +inline std::vector ConnectionDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ConnectionDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ConnectionDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ConnectionDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ConnectionDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ConnectionDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ConnectionDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ConnectionDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ConnectionDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ConnectionDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ConnectionDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ConnectionDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ConnectionDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConnectionDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConnectionDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConnectionDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConnectionDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ConnectionDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConnectionDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConnectionDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ConnectionDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConnectionDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ConnectionDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConnectionDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ConnectionDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConnectionDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConnectionDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ConnectionDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ConnectionDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ConnectionDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ConnectionDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ConnectionDefinition::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ConnectionDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConnectionDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ConnectionDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ConnectionDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConnectionDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ConnectionDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ConnectionDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ConnectionDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ConnectionDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ConnectionDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ConnectionDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ConnectionDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ConnectionDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ConnectionDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ConnectionDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConnectionDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConnectionDefinition::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ConnectionDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConnectionDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ConnectionDefinition::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector ConnectionDefinition::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional ConnectionDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ConnectionDefinition::getSource() const { return read_list_("source"); } +inline std::optional ConnectionDefinition::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector ConnectionDefinition::getTarget() const { return read_list_("target"); } +inline std::vector ConnectionDefinition::getTargetType() const { return read_list_("targetType"); } +inline std::vector ConnectionDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConnectionDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConnectionDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ConnectionDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ConnectionDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConnectionDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConnectionDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ConnectionDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConnectionDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConnectionDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConnectionDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConnectionDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConnectionDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConnectionDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConnectionDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConnectionDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConnectionDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConnectionDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ConnectionDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConnectionDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ConnectionDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConnectionDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ConnectionDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ConnectionDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConnectionDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConnectionDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConnectionDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConnectionDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ConnectionDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ConnectionDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConnectionDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AllocationDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AllocationDefinition::getAllocation() const { return read_list_("allocation"); } +inline std::vector AllocationDefinition::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::vector AllocationDefinition::getConnectionEnd() const { return read_list_("connectionEnd"); } +inline std::optional AllocationDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AllocationDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AllocationDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AllocationDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AllocationDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector AllocationDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AllocationDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector AllocationDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector AllocationDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector AllocationDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector AllocationDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector AllocationDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AllocationDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AllocationDefinition::getInput() const { return read_list_("input"); } +inline std::vector AllocationDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AllocationDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AllocationDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AllocationDefinition::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional AllocationDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AllocationDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AllocationDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AllocationDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AllocationDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector AllocationDefinition::getMember() const { return read_list_("member"); } +inline std::vector AllocationDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional AllocationDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AllocationDefinition::getName() const { return read_string_("name"); } +inline std::vector AllocationDefinition::getOutput() const { return read_list_("output"); } +inline std::vector AllocationDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector AllocationDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector AllocationDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector AllocationDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector AllocationDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector AllocationDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector AllocationDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector AllocationDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional AllocationDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector AllocationDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector AllocationDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector AllocationDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AllocationDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AllocationDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AllocationDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AllocationDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector AllocationDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AllocationDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AllocationDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector AllocationDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AllocationDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector AllocationDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AllocationDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector AllocationDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AllocationDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AllocationDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector AllocationDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector AllocationDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector AllocationDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector AllocationDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector AllocationDefinition::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector AllocationDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AllocationDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector AllocationDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector AllocationDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AllocationDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector AllocationDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector AllocationDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector AllocationDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector AllocationDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector AllocationDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector AllocationDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector AllocationDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector AllocationDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional AllocationDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional AllocationDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AllocationDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AllocationDefinition::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional AllocationDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AllocationDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector AllocationDefinition::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector AllocationDefinition::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional AllocationDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector AllocationDefinition::getSource() const { return read_list_("source"); } +inline std::optional AllocationDefinition::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector AllocationDefinition::getTarget() const { return read_list_("target"); } +inline std::vector AllocationDefinition::getTargetType() const { return read_list_("targetType"); } +inline std::vector AllocationDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AllocationDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AllocationDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector AllocationDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector AllocationDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AllocationDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AllocationDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AllocationDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AllocationDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AllocationDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AllocationDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AllocationDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AllocationDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AllocationDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AllocationDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AllocationDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AllocationDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AllocationDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AllocationDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AllocationDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector AllocationDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AllocationDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional AllocationDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector AllocationDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AllocationDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AllocationDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AllocationDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AllocationDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AllocationDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AllocationDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector AllocationDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional AllocationDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AllocationDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AllocationDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ItemUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ItemUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ItemUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ItemUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ItemUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ItemUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ItemUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ItemUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ItemUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ItemUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ItemUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ItemUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ItemUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ItemUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ItemUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ItemUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ItemUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ItemUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ItemUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ItemUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ItemUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ItemUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ItemUsage::getInput() const { return read_list_("input"); } +inline std::vector ItemUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ItemUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ItemUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ItemUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ItemUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ItemUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ItemUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ItemUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ItemUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ItemUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ItemUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ItemUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ItemUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ItemUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ItemUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ItemUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ItemUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ItemUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional ItemUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ItemUsage::getMember() const { return read_list_("member"); } +inline std::vector ItemUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ItemUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ItemUsage::getName() const { return read_string_("name"); } +inline std::vector ItemUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ItemUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ItemUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ItemUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ItemUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ItemUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ItemUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ItemUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ItemUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ItemUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ItemUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ItemUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ItemUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ItemUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ItemUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ItemUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ItemUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ItemUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ItemUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ItemUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ItemUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ItemUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ItemUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ItemUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ItemUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ItemUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ItemUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ItemUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ItemUsage::getOutput() const { return read_list_("output"); } +inline std::vector ItemUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ItemUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ItemUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ItemUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ItemUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ItemUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ItemUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ItemUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ItemUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ItemUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ItemUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ItemUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ItemUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ItemUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ItemUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ItemUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ItemUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ItemUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ItemUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ItemUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ItemUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ItemUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ItemUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ItemUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ItemUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ItemUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ItemUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ItemUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ItemUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ItemUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ItemUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional ItemUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ItemUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ItemUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ItemUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ItemUsage::getType() const { return read_list_("type"); } +inline std::vector ItemUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ItemUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ItemUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ItemUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ItemUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ItemUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ItemUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ItemUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ItemUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ItemUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ItemUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ItemUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ItemUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ItemUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ItemUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ItemUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ItemUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ItemUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ItemUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ItemUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ItemUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ItemUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ItemUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ItemUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ItemUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ItemUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ItemUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ItemUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ItemUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ItemUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ItemUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ItemUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ItemUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ItemUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ItemUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ItemUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ItemUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ItemUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ItemUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ItemUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ItemUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ItemUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ItemUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ItemUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ItemUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ItemUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ItemUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ItemUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector PartUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector PartUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional PartUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional PartUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PartUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PartUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector PartUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector PartUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector PartUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional PartUsage::getDirection() const { return read_string_("direction"); } +inline std::vector PartUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PartUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector PartUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional PartUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector PartUsage::getFeature() const { return read_list_("feature"); } +inline std::vector PartUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional PartUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector PartUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector PartUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional PartUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector PartUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector PartUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector PartUsage::getInput() const { return read_list_("input"); } +inline std::vector PartUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional PartUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional PartUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional PartUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional PartUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional PartUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional PartUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional PartUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PartUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional PartUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PartUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional PartUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional PartUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional PartUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional PartUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional PartUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional PartUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector PartUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional PartUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector PartUsage::getMember() const { return read_list_("member"); } +inline std::vector PartUsage::getMembership() const { return read_list_("membership"); } +inline std::optional PartUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional PartUsage::getName() const { return read_string_("name"); } +inline std::vector PartUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector PartUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector PartUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector PartUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector PartUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector PartUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector PartUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector PartUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector PartUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector PartUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector PartUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector PartUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector PartUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector PartUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector PartUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector PartUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector PartUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector PartUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector PartUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector PartUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector PartUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector PartUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector PartUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector PartUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector PartUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector PartUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector PartUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector PartUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector PartUsage::getOutput() const { return read_list_("output"); } +inline std::vector PartUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional PartUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional PartUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector PartUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector PartUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector PartUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PartUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector PartUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector PartUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector PartUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector PartUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector PartUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector PartUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector PartUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector PartUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector PartUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional PartUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector PartUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector PartUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector PartUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector PartUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector PartUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector PartUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional PartUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional PartUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional PartUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional PartUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PartUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PartUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PartUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional PartUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector PartUsage::getPartDefinition() const { return read_list_("partDefinition"); } +inline std::optional PartUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional PartUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional PartUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector PartUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector PartUsage::getType() const { return read_list_("type"); } +inline std::vector PartUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector PartUsage::getUsage() const { return read_list_("usage"); } +inline std::vector PartUsage::getVariant() const { return read_list_("variant"); } +inline std::vector PartUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector PartUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector PartUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector PartUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector PartUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional PartUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional PartUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional PartUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional PartUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional PartUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PartUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PartUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector PartUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector PartUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector PartUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PartUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional PartUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional PartUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional PartUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional PartUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional PartUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector PartUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector PartUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector PartUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional PartUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector PartUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PartUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional PartUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional PartUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional PartUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional PartUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional PartUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector PartUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional PartUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional PartUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional PartUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional PartUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional PartUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional PartUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional PartUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector PartUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector PartUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional PartUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional PartUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector PartUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Connector::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Connector::getAssociation() const { return read_list_("association"); } +inline std::vector Connector::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector Connector::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional Connector::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Connector::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Connector::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional Connector::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector Connector::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Connector::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Connector::getDirection() const { return read_string_("direction"); } +inline std::vector Connector::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Connector::getElementId() const { return read_string_("elementId"); } +inline std::vector Connector::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Connector::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Connector::getFeature() const { return read_list_("feature"); } +inline std::vector Connector::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Connector::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Connector::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Connector::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Connector::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Connector::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Connector::getInput() const { return read_list_("input"); } +inline std::vector Connector::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Connector::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Connector::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Connector::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Connector::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Connector::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Connector::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Connector::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Connector::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Connector::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Connector::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Connector::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Connector::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Connector::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Connector::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Connector::getMember() const { return read_list_("member"); } +inline std::vector Connector::getMembership() const { return read_list_("membership"); } +inline std::optional Connector::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Connector::getName() const { return read_string_("name"); } +inline std::vector Connector::getOutput() const { return read_list_("output"); } +inline std::vector Connector::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Connector::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Connector::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Connector::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Connector::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Connector::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Connector::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Connector::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Connector::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Connector::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Connector::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Connector::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Connector::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Connector::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Connector::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Connector::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Connector::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Connector::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Connector::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Connector::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Connector::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Connector::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Connector::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Connector::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Connector::getOwner() const { return read_ref_("owner"); } +inline std::optional Connector::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Connector::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Connector::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Connector::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Connector::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Connector::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Connector::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Connector::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector Connector::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional Connector::getShortName() const { return read_string_("shortName"); } +inline std::vector Connector::getSource() const { return read_list_("source"); } +inline std::optional Connector::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector Connector::getTarget() const { return read_list_("target"); } +inline std::vector Connector::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector Connector::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Connector::getType() const { return read_list_("type"); } +inline std::vector Connector::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Connector::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Connector::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Connector::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Connector::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Connector::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Connector::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Connector::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Connector::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Connector::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Connector::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Connector::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Connector::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Connector::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Connector::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Connector::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Connector::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Connector::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Connector::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Connector::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Connector::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Connector::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Connector::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Connector::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Connector::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Connector::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Connector::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Connector::path() const { return as_string_(call_("path", {})); } +inline std::optional Connector::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Connector::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Connector::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Connector::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Connector::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Connector::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Connector::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Connector::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Connector::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Connector::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Connector::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Connector::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Connector::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Connector::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Connector::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Connector::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConnectorAsUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConnectorAsUsage::getAssociation() const { return read_list_("association"); } +inline std::vector ConnectorAsUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector ConnectorAsUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional ConnectorAsUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ConnectorAsUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConnectorAsUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional ConnectorAsUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector ConnectorAsUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ConnectorAsUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConnectorAsUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConnectorAsUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ConnectorAsUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ConnectorAsUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConnectorAsUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ConnectorAsUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ConnectorAsUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ConnectorAsUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ConnectorAsUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ConnectorAsUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ConnectorAsUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ConnectorAsUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ConnectorAsUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConnectorAsUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConnectorAsUsage::getInput() const { return read_list_("input"); } +inline std::vector ConnectorAsUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConnectorAsUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConnectorAsUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ConnectorAsUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConnectorAsUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ConnectorAsUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ConnectorAsUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ConnectorAsUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ConnectorAsUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConnectorAsUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConnectorAsUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ConnectorAsUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ConnectorAsUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ConnectorAsUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConnectorAsUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ConnectorAsUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ConnectorAsUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ConnectorAsUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ConnectorAsUsage::getMember() const { return read_list_("member"); } +inline std::vector ConnectorAsUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ConnectorAsUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConnectorAsUsage::getName() const { return read_string_("name"); } +inline std::vector ConnectorAsUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ConnectorAsUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ConnectorAsUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ConnectorAsUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ConnectorAsUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ConnectorAsUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ConnectorAsUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ConnectorAsUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ConnectorAsUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ConnectorAsUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ConnectorAsUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ConnectorAsUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ConnectorAsUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ConnectorAsUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ConnectorAsUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ConnectorAsUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ConnectorAsUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ConnectorAsUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ConnectorAsUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ConnectorAsUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ConnectorAsUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ConnectorAsUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ConnectorAsUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ConnectorAsUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ConnectorAsUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ConnectorAsUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ConnectorAsUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ConnectorAsUsage::getOutput() const { return read_list_("output"); } +inline std::vector ConnectorAsUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ConnectorAsUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ConnectorAsUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ConnectorAsUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConnectorAsUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConnectorAsUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConnectorAsUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConnectorAsUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConnectorAsUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ConnectorAsUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ConnectorAsUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConnectorAsUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConnectorAsUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConnectorAsUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConnectorAsUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConnectorAsUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ConnectorAsUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ConnectorAsUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ConnectorAsUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConnectorAsUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConnectorAsUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ConnectorAsUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ConnectorAsUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ConnectorAsUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ConnectorAsUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ConnectorAsUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ConnectorAsUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ConnectorAsUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConnectorAsUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConnectorAsUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ConnectorAsUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConnectorAsUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ConnectorAsUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional ConnectorAsUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ConnectorAsUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector ConnectorAsUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional ConnectorAsUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ConnectorAsUsage::getSource() const { return read_list_("source"); } +inline std::optional ConnectorAsUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector ConnectorAsUsage::getTarget() const { return read_list_("target"); } +inline std::vector ConnectorAsUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector ConnectorAsUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConnectorAsUsage::getType() const { return read_list_("type"); } +inline std::vector ConnectorAsUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConnectorAsUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ConnectorAsUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ConnectorAsUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConnectorAsUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ConnectorAsUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConnectorAsUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ConnectorAsUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ConnectorAsUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ConnectorAsUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ConnectorAsUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConnectorAsUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConnectorAsUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConnectorAsUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConnectorAsUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConnectorAsUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConnectorAsUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConnectorAsUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConnectorAsUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ConnectorAsUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConnectorAsUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ConnectorAsUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ConnectorAsUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ConnectorAsUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConnectorAsUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ConnectorAsUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConnectorAsUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ConnectorAsUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ConnectorAsUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConnectorAsUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ConnectorAsUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ConnectorAsUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ConnectorAsUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ConnectorAsUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ConnectorAsUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ConnectorAsUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConnectorAsUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConnectorAsUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConnectorAsUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConnectorAsUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConnectorAsUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConnectorAsUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ConnectorAsUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ConnectorAsUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ConnectorAsUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ConnectorAsUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConnectorAsUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConnectorAsUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConnectionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConnectionUsage::getAssociation() const { return read_list_("association"); } +inline std::vector ConnectionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector ConnectionUsage::getConnectionDefinition() const { return read_list_("connectionDefinition"); } +inline std::vector ConnectionUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional ConnectionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ConnectionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConnectionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional ConnectionUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector ConnectionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ConnectionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConnectionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConnectionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ConnectionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ConnectionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConnectionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ConnectionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ConnectionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ConnectionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ConnectionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ConnectionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ConnectionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ConnectionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ConnectionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ConnectionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConnectionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConnectionUsage::getInput() const { return read_list_("input"); } +inline std::vector ConnectionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConnectionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConnectionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ConnectionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConnectionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ConnectionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ConnectionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ConnectionUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ConnectionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConnectionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConnectionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConnectionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ConnectionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ConnectionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ConnectionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConnectionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ConnectionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ConnectionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ConnectionUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional ConnectionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ConnectionUsage::getMember() const { return read_list_("member"); } +inline std::vector ConnectionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ConnectionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConnectionUsage::getName() const { return read_string_("name"); } +inline std::vector ConnectionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ConnectionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ConnectionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ConnectionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ConnectionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ConnectionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ConnectionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ConnectionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ConnectionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ConnectionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ConnectionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ConnectionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ConnectionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ConnectionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ConnectionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ConnectionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ConnectionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ConnectionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ConnectionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ConnectionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ConnectionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ConnectionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ConnectionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ConnectionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ConnectionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ConnectionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ConnectionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ConnectionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ConnectionUsage::getOutput() const { return read_list_("output"); } +inline std::vector ConnectionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ConnectionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ConnectionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ConnectionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConnectionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConnectionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConnectionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConnectionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConnectionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ConnectionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ConnectionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConnectionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConnectionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConnectionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConnectionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConnectionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ConnectionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ConnectionUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ConnectionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConnectionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConnectionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ConnectionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ConnectionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ConnectionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ConnectionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ConnectionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ConnectionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ConnectionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConnectionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConnectionUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ConnectionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConnectionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ConnectionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ConnectionUsage::getPartDefinition() const { return read_list_("partDefinition"); } +inline std::optional ConnectionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ConnectionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ConnectionUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector ConnectionUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional ConnectionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ConnectionUsage::getSource() const { return read_list_("source"); } +inline std::optional ConnectionUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector ConnectionUsage::getTarget() const { return read_list_("target"); } +inline std::vector ConnectionUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector ConnectionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConnectionUsage::getType() const { return read_list_("type"); } +inline std::vector ConnectionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConnectionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ConnectionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ConnectionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConnectionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ConnectionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConnectionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ConnectionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ConnectionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ConnectionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ConnectionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConnectionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConnectionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConnectionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConnectionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConnectionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConnectionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConnectionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConnectionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ConnectionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConnectionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ConnectionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ConnectionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ConnectionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConnectionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ConnectionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConnectionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ConnectionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ConnectionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConnectionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ConnectionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ConnectionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ConnectionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ConnectionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ConnectionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConnectionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConnectionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConnectionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConnectionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ConnectionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ConnectionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ConnectionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ConnectionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConnectionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConnectionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AllocationUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AllocationUsage::getAllocationDefinition() const { return read_list_("allocationDefinition"); } +inline std::vector AllocationUsage::getAssociation() const { return read_list_("association"); } +inline std::vector AllocationUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector AllocationUsage::getConnectionDefinition() const { return read_list_("connectionDefinition"); } +inline std::vector AllocationUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional AllocationUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional AllocationUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AllocationUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional AllocationUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector AllocationUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector AllocationUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AllocationUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AllocationUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional AllocationUsage::getDirection() const { return read_string_("direction"); } +inline std::vector AllocationUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AllocationUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector AllocationUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional AllocationUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector AllocationUsage::getFeature() const { return read_list_("feature"); } +inline std::vector AllocationUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional AllocationUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector AllocationUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector AllocationUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional AllocationUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector AllocationUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AllocationUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AllocationUsage::getInput() const { return read_list_("input"); } +inline std::vector AllocationUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AllocationUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AllocationUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional AllocationUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AllocationUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional AllocationUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional AllocationUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional AllocationUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional AllocationUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AllocationUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AllocationUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AllocationUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional AllocationUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional AllocationUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional AllocationUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AllocationUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional AllocationUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional AllocationUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector AllocationUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional AllocationUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector AllocationUsage::getMember() const { return read_list_("member"); } +inline std::vector AllocationUsage::getMembership() const { return read_list_("membership"); } +inline std::optional AllocationUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AllocationUsage::getName() const { return read_string_("name"); } +inline std::vector AllocationUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector AllocationUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector AllocationUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector AllocationUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector AllocationUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector AllocationUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector AllocationUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector AllocationUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector AllocationUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector AllocationUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector AllocationUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector AllocationUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector AllocationUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector AllocationUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector AllocationUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector AllocationUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector AllocationUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector AllocationUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector AllocationUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector AllocationUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector AllocationUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector AllocationUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector AllocationUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector AllocationUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector AllocationUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector AllocationUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector AllocationUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector AllocationUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector AllocationUsage::getOutput() const { return read_list_("output"); } +inline std::vector AllocationUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AllocationUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional AllocationUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector AllocationUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AllocationUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AllocationUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AllocationUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AllocationUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AllocationUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector AllocationUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector AllocationUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AllocationUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AllocationUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AllocationUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AllocationUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AllocationUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional AllocationUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector AllocationUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector AllocationUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AllocationUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AllocationUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector AllocationUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector AllocationUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector AllocationUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AllocationUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional AllocationUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional AllocationUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional AllocationUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AllocationUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AllocationUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional AllocationUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AllocationUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional AllocationUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector AllocationUsage::getPartDefinition() const { return read_list_("partDefinition"); } +inline std::optional AllocationUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional AllocationUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector AllocationUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector AllocationUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional AllocationUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector AllocationUsage::getSource() const { return read_list_("source"); } +inline std::optional AllocationUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector AllocationUsage::getTarget() const { return read_list_("target"); } +inline std::vector AllocationUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector AllocationUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AllocationUsage::getType() const { return read_list_("type"); } +inline std::vector AllocationUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AllocationUsage::getUsage() const { return read_list_("usage"); } +inline std::vector AllocationUsage::getVariant() const { return read_list_("variant"); } +inline std::vector AllocationUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AllocationUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector AllocationUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AllocationUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector AllocationUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional AllocationUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional AllocationUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional AllocationUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AllocationUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AllocationUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AllocationUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AllocationUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AllocationUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AllocationUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AllocationUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AllocationUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional AllocationUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AllocationUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional AllocationUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional AllocationUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional AllocationUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AllocationUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AllocationUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AllocationUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional AllocationUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector AllocationUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AllocationUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional AllocationUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional AllocationUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional AllocationUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional AllocationUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional AllocationUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector AllocationUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AllocationUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AllocationUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AllocationUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AllocationUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AllocationUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AllocationUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional AllocationUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector AllocationUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector AllocationUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional AllocationUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AllocationUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AllocationUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Function::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Function::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Function::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Function::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Function::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Function::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Function::getElementId() const { return read_string_("elementId"); } +inline std::vector Function::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Function::getExpression() const { return read_list_("expression"); } +inline std::vector Function::getFeature() const { return read_list_("feature"); } +inline std::vector Function::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Function::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Function::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Function::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Function::getInput() const { return read_list_("input"); } +inline std::vector Function::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Function::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Function::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Function::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Function::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Function::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional Function::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Function::getMember() const { return read_list_("member"); } +inline std::vector Function::getMembership() const { return read_list_("membership"); } +inline std::optional Function::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Function::getName() const { return read_string_("name"); } +inline std::vector Function::getOutput() const { return read_list_("output"); } +inline std::vector Function::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Function::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Function::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Function::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Function::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Function::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Function::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Function::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Function::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Function::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Function::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Function::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Function::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Function::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Function::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Function::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Function::getOwner() const { return read_ref_("owner"); } +inline std::optional Function::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Function::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Function::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector Function::getParameter() const { return read_list_("parameter"); } +inline std::optional Function::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Function::getResult() const { return read_ref_("result"); } +inline std::optional Function::getShortName() const { return read_string_("shortName"); } +inline std::vector Function::getStep() const { return read_list_("step"); } +inline std::vector Function::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Function::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Function::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Function::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Function::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Function::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Function::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Function::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Function::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Function::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Function::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Function::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Function::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Function::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Function::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Function::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Function::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Function::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Function::path() const { return as_string_(call_("path", {})); } +inline std::optional Function::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Function::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Function::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Function::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Function::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Function::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Function::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Function::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Function::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Function::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Function::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Function::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector CalculationDefinition::getAction() const { return read_list_("action"); } +inline std::vector CalculationDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector CalculationDefinition::getCalculation() const { return read_list_("calculation"); } +inline std::optional CalculationDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional CalculationDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector CalculationDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector CalculationDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector CalculationDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector CalculationDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional CalculationDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector CalculationDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector CalculationDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector CalculationDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector CalculationDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector CalculationDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector CalculationDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector CalculationDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector CalculationDefinition::getInput() const { return read_list_("input"); } +inline std::vector CalculationDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional CalculationDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional CalculationDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional CalculationDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional CalculationDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional CalculationDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional CalculationDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional CalculationDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional CalculationDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector CalculationDefinition::getMember() const { return read_list_("member"); } +inline std::vector CalculationDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional CalculationDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional CalculationDefinition::getName() const { return read_string_("name"); } +inline std::vector CalculationDefinition::getOutput() const { return read_list_("output"); } +inline std::vector CalculationDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector CalculationDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector CalculationDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector CalculationDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector CalculationDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector CalculationDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector CalculationDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector CalculationDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional CalculationDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector CalculationDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector CalculationDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector CalculationDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector CalculationDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector CalculationDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector CalculationDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector CalculationDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector CalculationDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector CalculationDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector CalculationDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector CalculationDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector CalculationDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector CalculationDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector CalculationDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector CalculationDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector CalculationDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector CalculationDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector CalculationDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector CalculationDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector CalculationDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector CalculationDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector CalculationDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector CalculationDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector CalculationDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector CalculationDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector CalculationDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector CalculationDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector CalculationDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector CalculationDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector CalculationDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector CalculationDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector CalculationDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector CalculationDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector CalculationDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional CalculationDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional CalculationDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional CalculationDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional CalculationDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector CalculationDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional CalculationDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional CalculationDefinition::getResult() const { return read_ref_("result"); } +inline std::optional CalculationDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector CalculationDefinition::getStep() const { return read_list_("step"); } +inline std::vector CalculationDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector CalculationDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector CalculationDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector CalculationDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector CalculationDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector CalculationDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector CalculationDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional CalculationDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional CalculationDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional CalculationDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional CalculationDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional CalculationDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector CalculationDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector CalculationDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector CalculationDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CalculationDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional CalculationDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector CalculationDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector CalculationDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector CalculationDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector CalculationDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CalculationDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional CalculationDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector CalculationDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional CalculationDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional CalculationDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional CalculationDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional CalculationDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional CalculationDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional CalculationDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector CalculationDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional CalculationDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional CalculationDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector CalculationDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector CaseDefinition::getAction() const { return read_list_("action"); } +inline std::vector CaseDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector CaseDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector CaseDefinition::getCalculation() const { return read_list_("calculation"); } +inline std::optional CaseDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional CaseDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector CaseDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector CaseDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector CaseDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector CaseDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional CaseDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector CaseDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector CaseDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector CaseDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector CaseDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector CaseDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector CaseDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector CaseDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector CaseDefinition::getInput() const { return read_list_("input"); } +inline std::vector CaseDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional CaseDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional CaseDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional CaseDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional CaseDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional CaseDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional CaseDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional CaseDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional CaseDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector CaseDefinition::getMember() const { return read_list_("member"); } +inline std::vector CaseDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional CaseDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional CaseDefinition::getName() const { return read_string_("name"); } +inline std::optional CaseDefinition::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector CaseDefinition::getOutput() const { return read_list_("output"); } +inline std::vector CaseDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector CaseDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector CaseDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector CaseDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector CaseDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector CaseDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector CaseDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector CaseDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional CaseDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector CaseDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector CaseDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector CaseDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector CaseDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector CaseDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector CaseDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector CaseDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector CaseDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector CaseDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector CaseDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector CaseDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector CaseDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector CaseDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector CaseDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector CaseDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector CaseDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector CaseDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector CaseDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector CaseDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector CaseDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector CaseDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector CaseDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector CaseDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector CaseDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector CaseDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector CaseDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector CaseDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector CaseDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector CaseDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector CaseDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector CaseDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector CaseDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector CaseDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector CaseDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional CaseDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional CaseDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional CaseDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional CaseDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector CaseDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional CaseDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional CaseDefinition::getResult() const { return read_ref_("result"); } +inline std::optional CaseDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector CaseDefinition::getStep() const { return read_list_("step"); } +inline std::optional CaseDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector CaseDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector CaseDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector CaseDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector CaseDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector CaseDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector CaseDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector CaseDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional CaseDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional CaseDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional CaseDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional CaseDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional CaseDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector CaseDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector CaseDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector CaseDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CaseDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional CaseDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector CaseDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector CaseDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector CaseDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector CaseDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CaseDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional CaseDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector CaseDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional CaseDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional CaseDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional CaseDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional CaseDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional CaseDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional CaseDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector CaseDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional CaseDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional CaseDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector CaseDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AnalysisCaseDefinition::getAction() const { return read_list_("action"); } +inline std::vector AnalysisCaseDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector AnalysisCaseDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AnalysisCaseDefinition::getCalculation() const { return read_list_("calculation"); } +inline std::optional AnalysisCaseDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AnalysisCaseDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AnalysisCaseDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AnalysisCaseDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AnalysisCaseDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector AnalysisCaseDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AnalysisCaseDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector AnalysisCaseDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector AnalysisCaseDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector AnalysisCaseDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector AnalysisCaseDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector AnalysisCaseDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector AnalysisCaseDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AnalysisCaseDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AnalysisCaseDefinition::getInput() const { return read_list_("input"); } +inline std::vector AnalysisCaseDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AnalysisCaseDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AnalysisCaseDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AnalysisCaseDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AnalysisCaseDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AnalysisCaseDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AnalysisCaseDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional AnalysisCaseDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AnalysisCaseDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector AnalysisCaseDefinition::getMember() const { return read_list_("member"); } +inline std::vector AnalysisCaseDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional AnalysisCaseDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AnalysisCaseDefinition::getName() const { return read_string_("name"); } +inline std::optional AnalysisCaseDefinition::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector AnalysisCaseDefinition::getOutput() const { return read_list_("output"); } +inline std::vector AnalysisCaseDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector AnalysisCaseDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector AnalysisCaseDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector AnalysisCaseDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector AnalysisCaseDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector AnalysisCaseDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector AnalysisCaseDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector AnalysisCaseDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional AnalysisCaseDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector AnalysisCaseDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector AnalysisCaseDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector AnalysisCaseDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AnalysisCaseDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AnalysisCaseDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AnalysisCaseDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AnalysisCaseDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector AnalysisCaseDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AnalysisCaseDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AnalysisCaseDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector AnalysisCaseDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AnalysisCaseDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector AnalysisCaseDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AnalysisCaseDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector AnalysisCaseDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AnalysisCaseDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AnalysisCaseDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector AnalysisCaseDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector AnalysisCaseDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector AnalysisCaseDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector AnalysisCaseDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector AnalysisCaseDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AnalysisCaseDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector AnalysisCaseDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector AnalysisCaseDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AnalysisCaseDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector AnalysisCaseDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector AnalysisCaseDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector AnalysisCaseDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector AnalysisCaseDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector AnalysisCaseDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector AnalysisCaseDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector AnalysisCaseDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector AnalysisCaseDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional AnalysisCaseDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional AnalysisCaseDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AnalysisCaseDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AnalysisCaseDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector AnalysisCaseDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional AnalysisCaseDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AnalysisCaseDefinition::getResult() const { return read_ref_("result"); } +inline std::optional AnalysisCaseDefinition::getResultExpression() const { return read_ref_("resultExpression"); } +inline std::optional AnalysisCaseDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector AnalysisCaseDefinition::getStep() const { return read_list_("step"); } +inline std::optional AnalysisCaseDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector AnalysisCaseDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AnalysisCaseDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AnalysisCaseDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector AnalysisCaseDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector AnalysisCaseDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AnalysisCaseDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AnalysisCaseDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AnalysisCaseDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AnalysisCaseDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AnalysisCaseDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AnalysisCaseDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AnalysisCaseDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AnalysisCaseDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AnalysisCaseDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AnalysisCaseDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AnalysisCaseDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AnalysisCaseDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AnalysisCaseDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AnalysisCaseDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AnalysisCaseDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector AnalysisCaseDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AnalysisCaseDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional AnalysisCaseDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector AnalysisCaseDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AnalysisCaseDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AnalysisCaseDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AnalysisCaseDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AnalysisCaseDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector AnalysisCaseDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional AnalysisCaseDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AnalysisCaseDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Expression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Expression::getBehavior() const { return read_list_("behavior"); } +inline std::vector Expression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional Expression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Expression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Expression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Expression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Expression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Expression::getDirection() const { return read_string_("direction"); } +inline std::vector Expression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Expression::getElementId() const { return read_string_("elementId"); } +inline std::vector Expression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Expression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Expression::getFeature() const { return read_list_("feature"); } +inline std::vector Expression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Expression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Expression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional Expression::getFunction() const { return read_ref_("function"); } +inline std::vector Expression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Expression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Expression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Expression::getInput() const { return read_list_("input"); } +inline std::vector Expression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Expression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Expression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Expression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Expression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Expression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Expression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Expression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Expression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Expression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional Expression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Expression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Expression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Expression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Expression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Expression::getMember() const { return read_list_("member"); } +inline std::vector Expression::getMembership() const { return read_list_("membership"); } +inline std::optional Expression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Expression::getName() const { return read_string_("name"); } +inline std::vector Expression::getOutput() const { return read_list_("output"); } +inline std::vector Expression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Expression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Expression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Expression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Expression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Expression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Expression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Expression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Expression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Expression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Expression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Expression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Expression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Expression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Expression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Expression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Expression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Expression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Expression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Expression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Expression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Expression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Expression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Expression::getOwner() const { return read_ref_("owner"); } +inline std::optional Expression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Expression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Expression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Expression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Expression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector Expression::getParameter() const { return read_list_("parameter"); } +inline std::optional Expression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Expression::getResult() const { return read_ref_("result"); } +inline std::optional Expression::getShortName() const { return read_string_("shortName"); } +inline std::vector Expression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Expression::getType() const { return read_list_("type"); } +inline std::vector Expression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Expression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Expression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Expression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Expression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Expression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Expression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional Expression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Expression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Expression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Expression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Expression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Expression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Expression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector Expression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Expression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Expression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Expression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Expression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Expression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Expression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Expression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Expression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Expression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional Expression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector Expression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Expression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Expression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Expression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Expression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Expression::path() const { return as_string_(call_("path", {})); } +inline std::optional Expression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Expression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Expression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Expression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Expression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Expression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Expression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Expression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Expression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Expression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Expression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Expression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Expression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Expression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Expression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Expression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector CalculationUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector CalculationUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector CalculationUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional CalculationUsage::getCalculationDefinition() const { return read_ref_("calculationDefinition"); } +inline std::vector CalculationUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional CalculationUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional CalculationUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional CalculationUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector CalculationUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector CalculationUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector CalculationUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector CalculationUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional CalculationUsage::getDirection() const { return read_string_("direction"); } +inline std::vector CalculationUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional CalculationUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector CalculationUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional CalculationUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector CalculationUsage::getFeature() const { return read_list_("feature"); } +inline std::vector CalculationUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional CalculationUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector CalculationUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional CalculationUsage::getFunction() const { return read_ref_("function"); } +inline std::vector CalculationUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional CalculationUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector CalculationUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector CalculationUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector CalculationUsage::getInput() const { return read_list_("input"); } +inline std::vector CalculationUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional CalculationUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional CalculationUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional CalculationUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional CalculationUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional CalculationUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional CalculationUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional CalculationUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional CalculationUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional CalculationUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional CalculationUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional CalculationUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional CalculationUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional CalculationUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional CalculationUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional CalculationUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional CalculationUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional CalculationUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional CalculationUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector CalculationUsage::getMember() const { return read_list_("member"); } +inline std::vector CalculationUsage::getMembership() const { return read_list_("membership"); } +inline std::optional CalculationUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional CalculationUsage::getName() const { return read_string_("name"); } +inline std::vector CalculationUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector CalculationUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector CalculationUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector CalculationUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector CalculationUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector CalculationUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector CalculationUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector CalculationUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector CalculationUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector CalculationUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector CalculationUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector CalculationUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector CalculationUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector CalculationUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector CalculationUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector CalculationUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector CalculationUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector CalculationUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector CalculationUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector CalculationUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector CalculationUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector CalculationUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector CalculationUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector CalculationUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector CalculationUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector CalculationUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector CalculationUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector CalculationUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector CalculationUsage::getOutput() const { return read_list_("output"); } +inline std::vector CalculationUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional CalculationUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional CalculationUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector CalculationUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector CalculationUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector CalculationUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector CalculationUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector CalculationUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector CalculationUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector CalculationUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector CalculationUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector CalculationUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector CalculationUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector CalculationUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector CalculationUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector CalculationUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional CalculationUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector CalculationUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector CalculationUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector CalculationUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector CalculationUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector CalculationUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector CalculationUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional CalculationUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional CalculationUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional CalculationUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional CalculationUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional CalculationUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional CalculationUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional CalculationUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional CalculationUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector CalculationUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional CalculationUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional CalculationUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional CalculationUsage::getResult() const { return read_ref_("result"); } +inline std::optional CalculationUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector CalculationUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector CalculationUsage::getType() const { return read_list_("type"); } +inline std::vector CalculationUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector CalculationUsage::getUsage() const { return read_list_("usage"); } +inline std::vector CalculationUsage::getVariant() const { return read_list_("variant"); } +inline std::vector CalculationUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector CalculationUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector CalculationUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector CalculationUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional CalculationUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector CalculationUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional CalculationUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional CalculationUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional CalculationUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional CalculationUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional CalculationUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional CalculationUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional CalculationUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional CalculationUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector CalculationUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector CalculationUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector CalculationUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector CalculationUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CalculationUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector CalculationUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional CalculationUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional CalculationUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional CalculationUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional CalculationUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional CalculationUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional CalculationUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional CalculationUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector CalculationUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional CalculationUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector CalculationUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector CalculationUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional CalculationUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector CalculationUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CalculationUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional CalculationUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional CalculationUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional CalculationUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional CalculationUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional CalculationUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector CalculationUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional CalculationUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional CalculationUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional CalculationUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional CalculationUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional CalculationUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional CalculationUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional CalculationUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector CalculationUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector CalculationUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional CalculationUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional CalculationUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector CalculationUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector CaseUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector CaseUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector CaseUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector CaseUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional CaseUsage::getCalculationDefinition() const { return read_ref_("calculationDefinition"); } +inline std::optional CaseUsage::getCaseDefinition() const { return read_ref_("caseDefinition"); } +inline std::vector CaseUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional CaseUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional CaseUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional CaseUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector CaseUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector CaseUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector CaseUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector CaseUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional CaseUsage::getDirection() const { return read_string_("direction"); } +inline std::vector CaseUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional CaseUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector CaseUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional CaseUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector CaseUsage::getFeature() const { return read_list_("feature"); } +inline std::vector CaseUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional CaseUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector CaseUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional CaseUsage::getFunction() const { return read_ref_("function"); } +inline std::vector CaseUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional CaseUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector CaseUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector CaseUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector CaseUsage::getInput() const { return read_list_("input"); } +inline std::vector CaseUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional CaseUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional CaseUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional CaseUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional CaseUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional CaseUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional CaseUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional CaseUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional CaseUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional CaseUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional CaseUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional CaseUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional CaseUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional CaseUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional CaseUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional CaseUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional CaseUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional CaseUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional CaseUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector CaseUsage::getMember() const { return read_list_("member"); } +inline std::vector CaseUsage::getMembership() const { return read_list_("membership"); } +inline std::optional CaseUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional CaseUsage::getName() const { return read_string_("name"); } +inline std::vector CaseUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector CaseUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector CaseUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector CaseUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector CaseUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector CaseUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector CaseUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector CaseUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector CaseUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector CaseUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector CaseUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector CaseUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector CaseUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector CaseUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector CaseUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector CaseUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector CaseUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector CaseUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector CaseUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector CaseUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector CaseUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector CaseUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector CaseUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector CaseUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector CaseUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector CaseUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector CaseUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::optional CaseUsage::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector CaseUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector CaseUsage::getOutput() const { return read_list_("output"); } +inline std::vector CaseUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional CaseUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional CaseUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector CaseUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector CaseUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector CaseUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector CaseUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector CaseUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector CaseUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector CaseUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector CaseUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector CaseUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector CaseUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector CaseUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector CaseUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector CaseUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional CaseUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector CaseUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector CaseUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector CaseUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector CaseUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector CaseUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector CaseUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional CaseUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional CaseUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional CaseUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional CaseUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional CaseUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional CaseUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional CaseUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional CaseUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector CaseUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional CaseUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional CaseUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional CaseUsage::getResult() const { return read_ref_("result"); } +inline std::optional CaseUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional CaseUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector CaseUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector CaseUsage::getType() const { return read_list_("type"); } +inline std::vector CaseUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector CaseUsage::getUsage() const { return read_list_("usage"); } +inline std::vector CaseUsage::getVariant() const { return read_list_("variant"); } +inline std::vector CaseUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector CaseUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector CaseUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector CaseUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional CaseUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector CaseUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional CaseUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional CaseUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional CaseUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional CaseUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional CaseUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional CaseUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional CaseUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional CaseUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector CaseUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector CaseUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector CaseUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector CaseUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CaseUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector CaseUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional CaseUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional CaseUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional CaseUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional CaseUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional CaseUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional CaseUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional CaseUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector CaseUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional CaseUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector CaseUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector CaseUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional CaseUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector CaseUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CaseUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional CaseUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional CaseUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional CaseUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional CaseUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional CaseUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector CaseUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional CaseUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional CaseUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional CaseUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional CaseUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional CaseUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional CaseUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional CaseUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector CaseUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector CaseUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional CaseUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional CaseUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector CaseUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AnalysisCaseUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector AnalysisCaseUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector AnalysisCaseUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional AnalysisCaseUsage::getAnalysisCaseDefinition() const { return read_ref_("analysisCaseDefinition"); } +inline std::vector AnalysisCaseUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional AnalysisCaseUsage::getCalculationDefinition() const { return read_ref_("calculationDefinition"); } +inline std::optional AnalysisCaseUsage::getCaseDefinition() const { return read_ref_("caseDefinition"); } +inline std::vector AnalysisCaseUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional AnalysisCaseUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional AnalysisCaseUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AnalysisCaseUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AnalysisCaseUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector AnalysisCaseUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AnalysisCaseUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AnalysisCaseUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional AnalysisCaseUsage::getDirection() const { return read_string_("direction"); } +inline std::vector AnalysisCaseUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AnalysisCaseUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector AnalysisCaseUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional AnalysisCaseUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector AnalysisCaseUsage::getFeature() const { return read_list_("feature"); } +inline std::vector AnalysisCaseUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional AnalysisCaseUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector AnalysisCaseUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional AnalysisCaseUsage::getFunction() const { return read_ref_("function"); } +inline std::vector AnalysisCaseUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional AnalysisCaseUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector AnalysisCaseUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AnalysisCaseUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AnalysisCaseUsage::getInput() const { return read_list_("input"); } +inline std::vector AnalysisCaseUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AnalysisCaseUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AnalysisCaseUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional AnalysisCaseUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AnalysisCaseUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional AnalysisCaseUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional AnalysisCaseUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional AnalysisCaseUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AnalysisCaseUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AnalysisCaseUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AnalysisCaseUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional AnalysisCaseUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional AnalysisCaseUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional AnalysisCaseUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional AnalysisCaseUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AnalysisCaseUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional AnalysisCaseUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional AnalysisCaseUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional AnalysisCaseUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector AnalysisCaseUsage::getMember() const { return read_list_("member"); } +inline std::vector AnalysisCaseUsage::getMembership() const { return read_list_("membership"); } +inline std::optional AnalysisCaseUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AnalysisCaseUsage::getName() const { return read_string_("name"); } +inline std::vector AnalysisCaseUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector AnalysisCaseUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector AnalysisCaseUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector AnalysisCaseUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector AnalysisCaseUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector AnalysisCaseUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector AnalysisCaseUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector AnalysisCaseUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector AnalysisCaseUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector AnalysisCaseUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector AnalysisCaseUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector AnalysisCaseUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector AnalysisCaseUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector AnalysisCaseUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector AnalysisCaseUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector AnalysisCaseUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector AnalysisCaseUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector AnalysisCaseUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector AnalysisCaseUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector AnalysisCaseUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector AnalysisCaseUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector AnalysisCaseUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector AnalysisCaseUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector AnalysisCaseUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector AnalysisCaseUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector AnalysisCaseUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector AnalysisCaseUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::optional AnalysisCaseUsage::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector AnalysisCaseUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector AnalysisCaseUsage::getOutput() const { return read_list_("output"); } +inline std::vector AnalysisCaseUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AnalysisCaseUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional AnalysisCaseUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector AnalysisCaseUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AnalysisCaseUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AnalysisCaseUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AnalysisCaseUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AnalysisCaseUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AnalysisCaseUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector AnalysisCaseUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector AnalysisCaseUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AnalysisCaseUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AnalysisCaseUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AnalysisCaseUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AnalysisCaseUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AnalysisCaseUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional AnalysisCaseUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector AnalysisCaseUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AnalysisCaseUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AnalysisCaseUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector AnalysisCaseUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector AnalysisCaseUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector AnalysisCaseUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AnalysisCaseUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional AnalysisCaseUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional AnalysisCaseUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional AnalysisCaseUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AnalysisCaseUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AnalysisCaseUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AnalysisCaseUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional AnalysisCaseUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector AnalysisCaseUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional AnalysisCaseUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional AnalysisCaseUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AnalysisCaseUsage::getResult() const { return read_ref_("result"); } +inline std::optional AnalysisCaseUsage::getResultExpression() const { return read_ref_("resultExpression"); } +inline std::optional AnalysisCaseUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional AnalysisCaseUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector AnalysisCaseUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AnalysisCaseUsage::getType() const { return read_list_("type"); } +inline std::vector AnalysisCaseUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AnalysisCaseUsage::getUsage() const { return read_list_("usage"); } +inline std::vector AnalysisCaseUsage::getVariant() const { return read_list_("variant"); } +inline std::vector AnalysisCaseUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AnalysisCaseUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector AnalysisCaseUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AnalysisCaseUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AnalysisCaseUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector AnalysisCaseUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional AnalysisCaseUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional AnalysisCaseUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional AnalysisCaseUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional AnalysisCaseUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AnalysisCaseUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AnalysisCaseUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AnalysisCaseUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AnalysisCaseUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AnalysisCaseUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector AnalysisCaseUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AnalysisCaseUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AnalysisCaseUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AnalysisCaseUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector AnalysisCaseUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional AnalysisCaseUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional AnalysisCaseUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AnalysisCaseUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional AnalysisCaseUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional AnalysisCaseUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional AnalysisCaseUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional AnalysisCaseUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AnalysisCaseUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional AnalysisCaseUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector AnalysisCaseUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AnalysisCaseUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional AnalysisCaseUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector AnalysisCaseUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AnalysisCaseUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional AnalysisCaseUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional AnalysisCaseUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional AnalysisCaseUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional AnalysisCaseUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector AnalysisCaseUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AnalysisCaseUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AnalysisCaseUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AnalysisCaseUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AnalysisCaseUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional AnalysisCaseUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector AnalysisCaseUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector AnalysisCaseUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional AnalysisCaseUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AnalysisCaseUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AnalysisCaseUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AnnotatingElement::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AnnotatingElement::getAnnotatedElement() const { return read_list_("annotatedElement"); } +inline std::vector AnnotatingElement::getAnnotation() const { return read_list_("annotation"); } +inline std::optional AnnotatingElement::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AnnotatingElement::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AnnotatingElement::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AnnotatingElement::getElementId() const { return read_string_("elementId"); } +inline std::optional AnnotatingElement::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AnnotatingElement::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AnnotatingElement::getName() const { return read_string_("name"); } +inline std::vector AnnotatingElement::getOwnedAnnotatingRelationship() const { return read_list_("ownedAnnotatingRelationship"); } +inline std::vector AnnotatingElement::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector AnnotatingElement::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AnnotatingElement::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional AnnotatingElement::getOwner() const { return read_ref_("owner"); } +inline std::optional AnnotatingElement::getOwningAnnotatingRelationship() const { return read_ref_("owningAnnotatingRelationship"); } +inline std::optional AnnotatingElement::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AnnotatingElement::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AnnotatingElement::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AnnotatingElement::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AnnotatingElement::getShortName() const { return read_string_("shortName"); } +inline std::vector AnnotatingElement::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional AnnotatingElement::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AnnotatingElement::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AnnotatingElement::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional AnnotatingElement::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional AnnotatingElement::path() const { return as_string_(call_("path", {})); } +inline std::vector Annotation::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Annotation::getAnnotatedElement() const { return read_ref_("annotatedElement"); } +inline std::optional Annotation::getAnnotatingElement() const { return read_ref_("annotatingElement"); } +inline std::optional Annotation::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Annotation::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Annotation::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Annotation::getElementId() const { return read_string_("elementId"); } +inline std::optional Annotation::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Annotation::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Annotation::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Annotation::getName() const { return read_string_("name"); } +inline std::optional Annotation::getOwnedAnnotatingElement() const { return read_ref_("ownedAnnotatingElement"); } +inline std::vector Annotation::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Annotation::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Annotation::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Annotation::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Annotation::getOwner() const { return read_ref_("owner"); } +inline std::optional Annotation::getOwningAnnotatedElement() const { return read_ref_("owningAnnotatedElement"); } +inline std::optional Annotation::getOwningAnnotatingElement() const { return read_ref_("owningAnnotatingElement"); } +inline std::optional Annotation::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Annotation::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Annotation::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Annotation::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Annotation::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Annotation::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Annotation::getShortName() const { return read_string_("shortName"); } +inline std::vector Annotation::getSource() const { return read_list_("source"); } +inline std::vector Annotation::getTarget() const { return read_list_("target"); } +inline std::vector Annotation::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Annotation::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Annotation::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Annotation::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Annotation::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Annotation::path() const { return as_string_(call_("path", {})); } +inline std::vector BooleanExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector BooleanExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector BooleanExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional BooleanExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional BooleanExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional BooleanExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector BooleanExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector BooleanExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional BooleanExpression::getDirection() const { return read_string_("direction"); } +inline std::vector BooleanExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional BooleanExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector BooleanExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional BooleanExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector BooleanExpression::getFeature() const { return read_list_("feature"); } +inline std::vector BooleanExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional BooleanExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector BooleanExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional BooleanExpression::getFunction() const { return read_ref_("function"); } +inline std::vector BooleanExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector BooleanExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector BooleanExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector BooleanExpression::getInput() const { return read_list_("input"); } +inline std::vector BooleanExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional BooleanExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional BooleanExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional BooleanExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional BooleanExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional BooleanExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional BooleanExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional BooleanExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional BooleanExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional BooleanExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional BooleanExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional BooleanExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional BooleanExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional BooleanExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional BooleanExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector BooleanExpression::getMember() const { return read_list_("member"); } +inline std::vector BooleanExpression::getMembership() const { return read_list_("membership"); } +inline std::optional BooleanExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional BooleanExpression::getName() const { return read_string_("name"); } +inline std::vector BooleanExpression::getOutput() const { return read_list_("output"); } +inline std::vector BooleanExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional BooleanExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional BooleanExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector BooleanExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector BooleanExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector BooleanExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector BooleanExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector BooleanExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector BooleanExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector BooleanExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector BooleanExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector BooleanExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector BooleanExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector BooleanExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector BooleanExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector BooleanExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional BooleanExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector BooleanExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector BooleanExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector BooleanExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector BooleanExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector BooleanExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector BooleanExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional BooleanExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional BooleanExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional BooleanExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional BooleanExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional BooleanExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional BooleanExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector BooleanExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional BooleanExpression::getPredicate() const { return read_ref_("predicate"); } +inline std::optional BooleanExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional BooleanExpression::getResult() const { return read_ref_("result"); } +inline std::optional BooleanExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector BooleanExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector BooleanExpression::getType() const { return read_list_("type"); } +inline std::vector BooleanExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector BooleanExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector BooleanExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector BooleanExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector BooleanExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional BooleanExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional BooleanExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional BooleanExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional BooleanExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional BooleanExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional BooleanExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional BooleanExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional BooleanExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector BooleanExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector BooleanExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector BooleanExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector BooleanExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional BooleanExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional BooleanExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional BooleanExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional BooleanExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional BooleanExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional BooleanExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector BooleanExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional BooleanExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector BooleanExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector BooleanExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional BooleanExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector BooleanExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional BooleanExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional BooleanExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional BooleanExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional BooleanExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional BooleanExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector BooleanExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional BooleanExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional BooleanExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional BooleanExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional BooleanExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional BooleanExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional BooleanExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional BooleanExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector BooleanExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector BooleanExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional BooleanExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional BooleanExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector BooleanExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Invariant::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Invariant::getBehavior() const { return read_list_("behavior"); } +inline std::vector Invariant::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional Invariant::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Invariant::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Invariant::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Invariant::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Invariant::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Invariant::getDirection() const { return read_string_("direction"); } +inline std::vector Invariant::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Invariant::getElementId() const { return read_string_("elementId"); } +inline std::vector Invariant::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Invariant::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Invariant::getFeature() const { return read_list_("feature"); } +inline std::vector Invariant::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Invariant::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Invariant::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional Invariant::getFunction() const { return read_ref_("function"); } +inline std::vector Invariant::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Invariant::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Invariant::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Invariant::getInput() const { return read_list_("input"); } +inline std::vector Invariant::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Invariant::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Invariant::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Invariant::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Invariant::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Invariant::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Invariant::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Invariant::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Invariant::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Invariant::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional Invariant::getIsNegated() const { return read_bool_("isNegated"); } +inline std::optional Invariant::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Invariant::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Invariant::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Invariant::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Invariant::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Invariant::getMember() const { return read_list_("member"); } +inline std::vector Invariant::getMembership() const { return read_list_("membership"); } +inline std::optional Invariant::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Invariant::getName() const { return read_string_("name"); } +inline std::vector Invariant::getOutput() const { return read_list_("output"); } +inline std::vector Invariant::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Invariant::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Invariant::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Invariant::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Invariant::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Invariant::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Invariant::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Invariant::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Invariant::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Invariant::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Invariant::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Invariant::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Invariant::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Invariant::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Invariant::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Invariant::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Invariant::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Invariant::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Invariant::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Invariant::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Invariant::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Invariant::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Invariant::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Invariant::getOwner() const { return read_ref_("owner"); } +inline std::optional Invariant::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Invariant::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Invariant::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Invariant::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Invariant::getOwningType() const { return read_ref_("owningType"); } +inline std::vector Invariant::getParameter() const { return read_list_("parameter"); } +inline std::optional Invariant::getPredicate() const { return read_ref_("predicate"); } +inline std::optional Invariant::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Invariant::getResult() const { return read_ref_("result"); } +inline std::optional Invariant::getShortName() const { return read_string_("shortName"); } +inline std::vector Invariant::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Invariant::getType() const { return read_list_("type"); } +inline std::vector Invariant::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Invariant::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Invariant::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Invariant::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Invariant::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Invariant::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Invariant::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional Invariant::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Invariant::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Invariant::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Invariant::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Invariant::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Invariant::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Invariant::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector Invariant::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Invariant::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Invariant::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Invariant::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Invariant::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Invariant::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Invariant::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Invariant::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Invariant::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Invariant::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional Invariant::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector Invariant::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Invariant::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Invariant::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Invariant::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Invariant::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Invariant::path() const { return as_string_(call_("path", {})); } +inline std::optional Invariant::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Invariant::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Invariant::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Invariant::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Invariant::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Invariant::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Invariant::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Invariant::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Invariant::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Invariant::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Invariant::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Invariant::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Invariant::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Invariant::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Invariant::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Invariant::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConstraintUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConstraintUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector ConstraintUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ConstraintUsage::getConstraintDefinition() const { return read_ref_("constraintDefinition"); } +inline std::optional ConstraintUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ConstraintUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConstraintUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConstraintUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ConstraintUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConstraintUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConstraintUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ConstraintUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ConstraintUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConstraintUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ConstraintUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ConstraintUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ConstraintUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ConstraintUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ConstraintUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ConstraintUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional ConstraintUsage::getFunction() const { return read_ref_("function"); } +inline std::vector ConstraintUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ConstraintUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ConstraintUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConstraintUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConstraintUsage::getInput() const { return read_list_("input"); } +inline std::vector ConstraintUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConstraintUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConstraintUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ConstraintUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConstraintUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ConstraintUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ConstraintUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ConstraintUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConstraintUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConstraintUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConstraintUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ConstraintUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ConstraintUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ConstraintUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ConstraintUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConstraintUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ConstraintUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ConstraintUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ConstraintUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ConstraintUsage::getMember() const { return read_list_("member"); } +inline std::vector ConstraintUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ConstraintUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConstraintUsage::getName() const { return read_string_("name"); } +inline std::vector ConstraintUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ConstraintUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ConstraintUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ConstraintUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ConstraintUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ConstraintUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ConstraintUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ConstraintUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ConstraintUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ConstraintUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ConstraintUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ConstraintUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ConstraintUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ConstraintUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ConstraintUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ConstraintUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ConstraintUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ConstraintUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ConstraintUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ConstraintUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ConstraintUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ConstraintUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ConstraintUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ConstraintUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ConstraintUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ConstraintUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ConstraintUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ConstraintUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ConstraintUsage::getOutput() const { return read_list_("output"); } +inline std::vector ConstraintUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ConstraintUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ConstraintUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ConstraintUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConstraintUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConstraintUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConstraintUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConstraintUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConstraintUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ConstraintUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ConstraintUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConstraintUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConstraintUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConstraintUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConstraintUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConstraintUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ConstraintUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ConstraintUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConstraintUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConstraintUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ConstraintUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ConstraintUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ConstraintUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ConstraintUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ConstraintUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ConstraintUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ConstraintUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConstraintUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConstraintUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConstraintUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ConstraintUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ConstraintUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional ConstraintUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ConstraintUsage::getPredicate() const { return read_ref_("predicate"); } +inline std::optional ConstraintUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ConstraintUsage::getResult() const { return read_ref_("result"); } +inline std::optional ConstraintUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ConstraintUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConstraintUsage::getType() const { return read_list_("type"); } +inline std::vector ConstraintUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConstraintUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ConstraintUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ConstraintUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConstraintUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ConstraintUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConstraintUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ConstraintUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ConstraintUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ConstraintUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional ConstraintUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ConstraintUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConstraintUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConstraintUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConstraintUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConstraintUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConstraintUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector ConstraintUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConstraintUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConstraintUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConstraintUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ConstraintUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConstraintUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ConstraintUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ConstraintUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ConstraintUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConstraintUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional ConstraintUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector ConstraintUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConstraintUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ConstraintUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ConstraintUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConstraintUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ConstraintUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ConstraintUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ConstraintUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ConstraintUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ConstraintUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConstraintUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConstraintUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConstraintUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConstraintUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ConstraintUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ConstraintUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ConstraintUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ConstraintUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConstraintUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AssertConstraintUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional AssertConstraintUsage::getAssertedConstraint() const { return read_ref_("assertedConstraint"); } +inline std::vector AssertConstraintUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector AssertConstraintUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional AssertConstraintUsage::getConstraintDefinition() const { return read_ref_("constraintDefinition"); } +inline std::optional AssertConstraintUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional AssertConstraintUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AssertConstraintUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AssertConstraintUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector AssertConstraintUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AssertConstraintUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AssertConstraintUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional AssertConstraintUsage::getDirection() const { return read_string_("direction"); } +inline std::vector AssertConstraintUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AssertConstraintUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector AssertConstraintUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional AssertConstraintUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector AssertConstraintUsage::getFeature() const { return read_list_("feature"); } +inline std::vector AssertConstraintUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional AssertConstraintUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector AssertConstraintUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional AssertConstraintUsage::getFunction() const { return read_ref_("function"); } +inline std::vector AssertConstraintUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional AssertConstraintUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector AssertConstraintUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AssertConstraintUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AssertConstraintUsage::getInput() const { return read_list_("input"); } +inline std::vector AssertConstraintUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AssertConstraintUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AssertConstraintUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional AssertConstraintUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AssertConstraintUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional AssertConstraintUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional AssertConstraintUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional AssertConstraintUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AssertConstraintUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AssertConstraintUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AssertConstraintUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional AssertConstraintUsage::getIsNegated() const { return read_bool_("isNegated"); } +inline std::optional AssertConstraintUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional AssertConstraintUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional AssertConstraintUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional AssertConstraintUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AssertConstraintUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional AssertConstraintUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional AssertConstraintUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional AssertConstraintUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector AssertConstraintUsage::getMember() const { return read_list_("member"); } +inline std::vector AssertConstraintUsage::getMembership() const { return read_list_("membership"); } +inline std::optional AssertConstraintUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AssertConstraintUsage::getName() const { return read_string_("name"); } +inline std::vector AssertConstraintUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector AssertConstraintUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector AssertConstraintUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector AssertConstraintUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector AssertConstraintUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector AssertConstraintUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector AssertConstraintUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector AssertConstraintUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector AssertConstraintUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector AssertConstraintUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector AssertConstraintUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector AssertConstraintUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector AssertConstraintUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector AssertConstraintUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector AssertConstraintUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector AssertConstraintUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector AssertConstraintUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector AssertConstraintUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector AssertConstraintUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector AssertConstraintUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector AssertConstraintUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector AssertConstraintUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector AssertConstraintUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector AssertConstraintUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector AssertConstraintUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector AssertConstraintUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector AssertConstraintUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector AssertConstraintUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector AssertConstraintUsage::getOutput() const { return read_list_("output"); } +inline std::vector AssertConstraintUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AssertConstraintUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional AssertConstraintUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector AssertConstraintUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AssertConstraintUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AssertConstraintUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AssertConstraintUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AssertConstraintUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AssertConstraintUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector AssertConstraintUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector AssertConstraintUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AssertConstraintUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AssertConstraintUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AssertConstraintUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AssertConstraintUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AssertConstraintUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional AssertConstraintUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector AssertConstraintUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AssertConstraintUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AssertConstraintUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector AssertConstraintUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector AssertConstraintUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector AssertConstraintUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AssertConstraintUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional AssertConstraintUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional AssertConstraintUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional AssertConstraintUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AssertConstraintUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AssertConstraintUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AssertConstraintUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional AssertConstraintUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector AssertConstraintUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional AssertConstraintUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional AssertConstraintUsage::getPredicate() const { return read_ref_("predicate"); } +inline std::optional AssertConstraintUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AssertConstraintUsage::getResult() const { return read_ref_("result"); } +inline std::optional AssertConstraintUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector AssertConstraintUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AssertConstraintUsage::getType() const { return read_list_("type"); } +inline std::vector AssertConstraintUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AssertConstraintUsage::getUsage() const { return read_list_("usage"); } +inline std::vector AssertConstraintUsage::getVariant() const { return read_list_("variant"); } +inline std::vector AssertConstraintUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AssertConstraintUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector AssertConstraintUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AssertConstraintUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector AssertConstraintUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional AssertConstraintUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional AssertConstraintUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional AssertConstraintUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional AssertConstraintUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AssertConstraintUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AssertConstraintUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AssertConstraintUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AssertConstraintUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AssertConstraintUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector AssertConstraintUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AssertConstraintUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AssertConstraintUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AssertConstraintUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional AssertConstraintUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AssertConstraintUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional AssertConstraintUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional AssertConstraintUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional AssertConstraintUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AssertConstraintUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional AssertConstraintUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector AssertConstraintUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AssertConstraintUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional AssertConstraintUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector AssertConstraintUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AssertConstraintUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional AssertConstraintUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional AssertConstraintUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional AssertConstraintUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional AssertConstraintUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional AssertConstraintUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector AssertConstraintUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AssertConstraintUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AssertConstraintUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AssertConstraintUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AssertConstraintUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AssertConstraintUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AssertConstraintUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional AssertConstraintUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector AssertConstraintUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector AssertConstraintUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional AssertConstraintUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AssertConstraintUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AssertConstraintUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AssignmentActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector AssignmentActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AssignmentActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector AssignmentActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional AssignmentActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional AssignmentActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AssignmentActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AssignmentActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector AssignmentActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AssignmentActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AssignmentActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional AssignmentActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector AssignmentActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AssignmentActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector AssignmentActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional AssignmentActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector AssignmentActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector AssignmentActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional AssignmentActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector AssignmentActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector AssignmentActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional AssignmentActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector AssignmentActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AssignmentActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AssignmentActionUsage::getInput() const { return read_list_("input"); } +inline std::vector AssignmentActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AssignmentActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AssignmentActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional AssignmentActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AssignmentActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional AssignmentActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional AssignmentActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional AssignmentActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AssignmentActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional AssignmentActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AssignmentActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional AssignmentActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional AssignmentActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional AssignmentActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AssignmentActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional AssignmentActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional AssignmentActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional AssignmentActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector AssignmentActionUsage::getMember() const { return read_list_("member"); } +inline std::vector AssignmentActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional AssignmentActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AssignmentActionUsage::getName() const { return read_string_("name"); } +inline std::vector AssignmentActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector AssignmentActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector AssignmentActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector AssignmentActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector AssignmentActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector AssignmentActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector AssignmentActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector AssignmentActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector AssignmentActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector AssignmentActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector AssignmentActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector AssignmentActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector AssignmentActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector AssignmentActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector AssignmentActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector AssignmentActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector AssignmentActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector AssignmentActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector AssignmentActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector AssignmentActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector AssignmentActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector AssignmentActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector AssignmentActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector AssignmentActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector AssignmentActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector AssignmentActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector AssignmentActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector AssignmentActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector AssignmentActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector AssignmentActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AssignmentActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional AssignmentActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector AssignmentActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AssignmentActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AssignmentActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AssignmentActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AssignmentActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AssignmentActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector AssignmentActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector AssignmentActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AssignmentActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AssignmentActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AssignmentActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AssignmentActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AssignmentActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional AssignmentActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector AssignmentActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AssignmentActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AssignmentActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector AssignmentActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector AssignmentActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector AssignmentActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AssignmentActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional AssignmentActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional AssignmentActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional AssignmentActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AssignmentActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AssignmentActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AssignmentActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional AssignmentActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector AssignmentActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional AssignmentActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional AssignmentActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AssignmentActionUsage::getReferent() const { return read_ref_("referent"); } +inline std::optional AssignmentActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional AssignmentActionUsage::getTargetArgument() const { return read_ref_("targetArgument"); } +inline std::vector AssignmentActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AssignmentActionUsage::getType() const { return read_list_("type"); } +inline std::vector AssignmentActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AssignmentActionUsage::getUsage() const { return read_list_("usage"); } +inline std::optional AssignmentActionUsage::getValueExpression() const { return read_ref_("valueExpression"); } +inline std::vector AssignmentActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector AssignmentActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AssignmentActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector AssignmentActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AssignmentActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AssignmentActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector AssignmentActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional AssignmentActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional AssignmentActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional AssignmentActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AssignmentActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AssignmentActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AssignmentActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AssignmentActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AssignmentActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AssignmentActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AssignmentActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AssignmentActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector AssignmentActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional AssignmentActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional AssignmentActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AssignmentActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional AssignmentActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional AssignmentActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional AssignmentActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional AssignmentActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AssignmentActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AssignmentActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AssignmentActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional AssignmentActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector AssignmentActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AssignmentActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional AssignmentActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional AssignmentActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional AssignmentActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional AssignmentActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional AssignmentActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector AssignmentActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AssignmentActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AssignmentActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AssignmentActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AssignmentActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AssignmentActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AssignmentActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional AssignmentActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector AssignmentActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector AssignmentActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional AssignmentActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AssignmentActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AssignmentActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector DataType::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional DataType::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional DataType::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector DataType::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector DataType::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector DataType::getDocumentation() const { return read_list_("documentation"); } +inline std::optional DataType::getElementId() const { return read_string_("elementId"); } +inline std::vector DataType::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector DataType::getFeature() const { return read_list_("feature"); } +inline std::vector DataType::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector DataType::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector DataType::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector DataType::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector DataType::getInput() const { return read_list_("input"); } +inline std::vector DataType::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional DataType::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional DataType::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional DataType::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional DataType::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional DataType::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector DataType::getMember() const { return read_list_("member"); } +inline std::vector DataType::getMembership() const { return read_list_("membership"); } +inline std::optional DataType::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional DataType::getName() const { return read_string_("name"); } +inline std::vector DataType::getOutput() const { return read_list_("output"); } +inline std::vector DataType::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional DataType::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector DataType::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector DataType::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector DataType::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector DataType::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector DataType::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector DataType::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector DataType::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector DataType::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector DataType::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector DataType::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector DataType::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector DataType::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector DataType::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector DataType::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional DataType::getOwner() const { return read_ref_("owner"); } +inline std::optional DataType::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional DataType::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional DataType::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional DataType::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional DataType::getShortName() const { return read_string_("shortName"); } +inline std::vector DataType::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector DataType::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector DataType::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector DataType::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional DataType::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional DataType::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional DataType::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional DataType::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional DataType::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector DataType::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector DataType::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector DataType::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional DataType::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional DataType::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector DataType::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector DataType::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector DataType::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector DataType::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional DataType::path() const { return as_string_(call_("path", {})); } +inline std::optional DataType::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector DataType::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional DataType::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional DataType::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional DataType::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional DataType::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional DataType::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional DataType::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector DataType::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional DataType::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional DataType::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector DataType::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AttributeDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional AttributeDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AttributeDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AttributeDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AttributeDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AttributeDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector AttributeDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AttributeDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector AttributeDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector AttributeDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector AttributeDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector AttributeDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector AttributeDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AttributeDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AttributeDefinition::getInput() const { return read_list_("input"); } +inline std::vector AttributeDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AttributeDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AttributeDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AttributeDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AttributeDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AttributeDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AttributeDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector AttributeDefinition::getMember() const { return read_list_("member"); } +inline std::vector AttributeDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional AttributeDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AttributeDefinition::getName() const { return read_string_("name"); } +inline std::vector AttributeDefinition::getOutput() const { return read_list_("output"); } +inline std::vector AttributeDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector AttributeDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector AttributeDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector AttributeDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector AttributeDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector AttributeDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector AttributeDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector AttributeDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional AttributeDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector AttributeDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector AttributeDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector AttributeDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AttributeDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AttributeDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AttributeDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AttributeDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector AttributeDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AttributeDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AttributeDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector AttributeDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AttributeDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector AttributeDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AttributeDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector AttributeDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AttributeDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AttributeDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector AttributeDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector AttributeDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector AttributeDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector AttributeDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector AttributeDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AttributeDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector AttributeDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector AttributeDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AttributeDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector AttributeDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector AttributeDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector AttributeDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector AttributeDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector AttributeDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector AttributeDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector AttributeDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector AttributeDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional AttributeDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional AttributeDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AttributeDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AttributeDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AttributeDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AttributeDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector AttributeDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AttributeDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AttributeDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector AttributeDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector AttributeDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AttributeDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AttributeDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional AttributeDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AttributeDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AttributeDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AttributeDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AttributeDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AttributeDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AttributeDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AttributeDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AttributeDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AttributeDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AttributeDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AttributeDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AttributeDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector AttributeDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AttributeDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional AttributeDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector AttributeDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AttributeDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AttributeDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AttributeDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AttributeDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AttributeDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AttributeDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector AttributeDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional AttributeDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AttributeDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AttributeDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector AttributeUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector AttributeUsage::getAttributeDefinition() const { return read_list_("attributeDefinition"); } +inline std::vector AttributeUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional AttributeUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional AttributeUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional AttributeUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector AttributeUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector AttributeUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector AttributeUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector AttributeUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional AttributeUsage::getDirection() const { return read_string_("direction"); } +inline std::vector AttributeUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional AttributeUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector AttributeUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional AttributeUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector AttributeUsage::getFeature() const { return read_list_("feature"); } +inline std::vector AttributeUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional AttributeUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector AttributeUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector AttributeUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector AttributeUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector AttributeUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector AttributeUsage::getInput() const { return read_list_("input"); } +inline std::vector AttributeUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional AttributeUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional AttributeUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional AttributeUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional AttributeUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional AttributeUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional AttributeUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional AttributeUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional AttributeUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional AttributeUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional AttributeUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional AttributeUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional AttributeUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional AttributeUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional AttributeUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional AttributeUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional AttributeUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector AttributeUsage::getMember() const { return read_list_("member"); } +inline std::vector AttributeUsage::getMembership() const { return read_list_("membership"); } +inline std::optional AttributeUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional AttributeUsage::getName() const { return read_string_("name"); } +inline std::vector AttributeUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector AttributeUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector AttributeUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector AttributeUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector AttributeUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector AttributeUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector AttributeUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector AttributeUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector AttributeUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector AttributeUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector AttributeUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector AttributeUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector AttributeUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector AttributeUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector AttributeUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector AttributeUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector AttributeUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector AttributeUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector AttributeUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector AttributeUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector AttributeUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector AttributeUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector AttributeUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector AttributeUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector AttributeUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector AttributeUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector AttributeUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector AttributeUsage::getOutput() const { return read_list_("output"); } +inline std::vector AttributeUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional AttributeUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional AttributeUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector AttributeUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector AttributeUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector AttributeUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector AttributeUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector AttributeUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector AttributeUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector AttributeUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector AttributeUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector AttributeUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector AttributeUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector AttributeUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector AttributeUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector AttributeUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional AttributeUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector AttributeUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector AttributeUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector AttributeUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector AttributeUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector AttributeUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector AttributeUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional AttributeUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional AttributeUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional AttributeUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional AttributeUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional AttributeUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional AttributeUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional AttributeUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional AttributeUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional AttributeUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional AttributeUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector AttributeUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector AttributeUsage::getType() const { return read_list_("type"); } +inline std::vector AttributeUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector AttributeUsage::getUsage() const { return read_list_("usage"); } +inline std::vector AttributeUsage::getVariant() const { return read_list_("variant"); } +inline std::vector AttributeUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector AttributeUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector AttributeUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector AttributeUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector AttributeUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional AttributeUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional AttributeUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional AttributeUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional AttributeUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional AttributeUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional AttributeUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional AttributeUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector AttributeUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector AttributeUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector AttributeUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AttributeUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional AttributeUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional AttributeUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional AttributeUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional AttributeUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional AttributeUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector AttributeUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector AttributeUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector AttributeUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional AttributeUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector AttributeUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional AttributeUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional AttributeUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional AttributeUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional AttributeUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional AttributeUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional AttributeUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector AttributeUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional AttributeUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional AttributeUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional AttributeUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional AttributeUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional AttributeUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional AttributeUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional AttributeUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector AttributeUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector AttributeUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional AttributeUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional AttributeUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector AttributeUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector BindingConnector::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector BindingConnector::getAssociation() const { return read_list_("association"); } +inline std::vector BindingConnector::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector BindingConnector::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional BindingConnector::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional BindingConnector::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional BindingConnector::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional BindingConnector::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector BindingConnector::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector BindingConnector::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional BindingConnector::getDirection() const { return read_string_("direction"); } +inline std::vector BindingConnector::getDocumentation() const { return read_list_("documentation"); } +inline std::optional BindingConnector::getElementId() const { return read_string_("elementId"); } +inline std::vector BindingConnector::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional BindingConnector::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector BindingConnector::getFeature() const { return read_list_("feature"); } +inline std::vector BindingConnector::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional BindingConnector::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector BindingConnector::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector BindingConnector::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector BindingConnector::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector BindingConnector::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector BindingConnector::getInput() const { return read_list_("input"); } +inline std::vector BindingConnector::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional BindingConnector::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional BindingConnector::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional BindingConnector::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional BindingConnector::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional BindingConnector::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional BindingConnector::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional BindingConnector::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional BindingConnector::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional BindingConnector::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional BindingConnector::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional BindingConnector::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional BindingConnector::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional BindingConnector::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional BindingConnector::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector BindingConnector::getMember() const { return read_list_("member"); } +inline std::vector BindingConnector::getMembership() const { return read_list_("membership"); } +inline std::optional BindingConnector::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional BindingConnector::getName() const { return read_string_("name"); } +inline std::vector BindingConnector::getOutput() const { return read_list_("output"); } +inline std::vector BindingConnector::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional BindingConnector::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional BindingConnector::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector BindingConnector::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector BindingConnector::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector BindingConnector::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector BindingConnector::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector BindingConnector::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector BindingConnector::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector BindingConnector::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector BindingConnector::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector BindingConnector::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector BindingConnector::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector BindingConnector::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector BindingConnector::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector BindingConnector::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional BindingConnector::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector BindingConnector::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector BindingConnector::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector BindingConnector::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector BindingConnector::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector BindingConnector::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector BindingConnector::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector BindingConnector::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional BindingConnector::getOwner() const { return read_ref_("owner"); } +inline std::optional BindingConnector::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional BindingConnector::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional BindingConnector::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional BindingConnector::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional BindingConnector::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional BindingConnector::getOwningType() const { return read_ref_("owningType"); } +inline std::optional BindingConnector::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector BindingConnector::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector BindingConnector::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional BindingConnector::getShortName() const { return read_string_("shortName"); } +inline std::vector BindingConnector::getSource() const { return read_list_("source"); } +inline std::optional BindingConnector::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector BindingConnector::getTarget() const { return read_list_("target"); } +inline std::vector BindingConnector::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector BindingConnector::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector BindingConnector::getType() const { return read_list_("type"); } +inline std::vector BindingConnector::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector BindingConnector::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector BindingConnector::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector BindingConnector::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector BindingConnector::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional BindingConnector::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional BindingConnector::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional BindingConnector::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional BindingConnector::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional BindingConnector::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional BindingConnector::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional BindingConnector::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector BindingConnector::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector BindingConnector::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector BindingConnector::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional BindingConnector::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional BindingConnector::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional BindingConnector::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional BindingConnector::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional BindingConnector::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional BindingConnector::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector BindingConnector::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector BindingConnector::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector BindingConnector::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional BindingConnector::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector BindingConnector::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional BindingConnector::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional BindingConnector::path() const { return as_string_(call_("path", {})); } +inline std::optional BindingConnector::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnector::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional BindingConnector::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector BindingConnector::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional BindingConnector::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnector::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnector::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional BindingConnector::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional BindingConnector::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional BindingConnector::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional BindingConnector::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector BindingConnector::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector BindingConnector::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional BindingConnector::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnector::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector BindingConnector::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector BindingConnectorAsUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector BindingConnectorAsUsage::getAssociation() const { return read_list_("association"); } +inline std::vector BindingConnectorAsUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector BindingConnectorAsUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional BindingConnectorAsUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional BindingConnectorAsUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional BindingConnectorAsUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional BindingConnectorAsUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector BindingConnectorAsUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector BindingConnectorAsUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector BindingConnectorAsUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector BindingConnectorAsUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional BindingConnectorAsUsage::getDirection() const { return read_string_("direction"); } +inline std::vector BindingConnectorAsUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional BindingConnectorAsUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector BindingConnectorAsUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional BindingConnectorAsUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector BindingConnectorAsUsage::getFeature() const { return read_list_("feature"); } +inline std::vector BindingConnectorAsUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional BindingConnectorAsUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector BindingConnectorAsUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector BindingConnectorAsUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector BindingConnectorAsUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector BindingConnectorAsUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector BindingConnectorAsUsage::getInput() const { return read_list_("input"); } +inline std::vector BindingConnectorAsUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional BindingConnectorAsUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional BindingConnectorAsUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional BindingConnectorAsUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional BindingConnectorAsUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional BindingConnectorAsUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional BindingConnectorAsUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional BindingConnectorAsUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional BindingConnectorAsUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional BindingConnectorAsUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional BindingConnectorAsUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional BindingConnectorAsUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional BindingConnectorAsUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional BindingConnectorAsUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional BindingConnectorAsUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional BindingConnectorAsUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional BindingConnectorAsUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional BindingConnectorAsUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector BindingConnectorAsUsage::getMember() const { return read_list_("member"); } +inline std::vector BindingConnectorAsUsage::getMembership() const { return read_list_("membership"); } +inline std::optional BindingConnectorAsUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional BindingConnectorAsUsage::getName() const { return read_string_("name"); } +inline std::vector BindingConnectorAsUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector BindingConnectorAsUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector BindingConnectorAsUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector BindingConnectorAsUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector BindingConnectorAsUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector BindingConnectorAsUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector BindingConnectorAsUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector BindingConnectorAsUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector BindingConnectorAsUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector BindingConnectorAsUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector BindingConnectorAsUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector BindingConnectorAsUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector BindingConnectorAsUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector BindingConnectorAsUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector BindingConnectorAsUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector BindingConnectorAsUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector BindingConnectorAsUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector BindingConnectorAsUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector BindingConnectorAsUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector BindingConnectorAsUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector BindingConnectorAsUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector BindingConnectorAsUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector BindingConnectorAsUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector BindingConnectorAsUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector BindingConnectorAsUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector BindingConnectorAsUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector BindingConnectorAsUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector BindingConnectorAsUsage::getOutput() const { return read_list_("output"); } +inline std::vector BindingConnectorAsUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional BindingConnectorAsUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional BindingConnectorAsUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector BindingConnectorAsUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector BindingConnectorAsUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector BindingConnectorAsUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector BindingConnectorAsUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector BindingConnectorAsUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector BindingConnectorAsUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector BindingConnectorAsUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector BindingConnectorAsUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector BindingConnectorAsUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector BindingConnectorAsUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector BindingConnectorAsUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector BindingConnectorAsUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector BindingConnectorAsUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional BindingConnectorAsUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector BindingConnectorAsUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector BindingConnectorAsUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector BindingConnectorAsUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector BindingConnectorAsUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector BindingConnectorAsUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector BindingConnectorAsUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector BindingConnectorAsUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional BindingConnectorAsUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional BindingConnectorAsUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional BindingConnectorAsUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional BindingConnectorAsUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional BindingConnectorAsUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional BindingConnectorAsUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional BindingConnectorAsUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional BindingConnectorAsUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional BindingConnectorAsUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional BindingConnectorAsUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector BindingConnectorAsUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector BindingConnectorAsUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional BindingConnectorAsUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector BindingConnectorAsUsage::getSource() const { return read_list_("source"); } +inline std::optional BindingConnectorAsUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector BindingConnectorAsUsage::getTarget() const { return read_list_("target"); } +inline std::vector BindingConnectorAsUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector BindingConnectorAsUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector BindingConnectorAsUsage::getType() const { return read_list_("type"); } +inline std::vector BindingConnectorAsUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector BindingConnectorAsUsage::getUsage() const { return read_list_("usage"); } +inline std::vector BindingConnectorAsUsage::getVariant() const { return read_list_("variant"); } +inline std::vector BindingConnectorAsUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector BindingConnectorAsUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector BindingConnectorAsUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector BindingConnectorAsUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector BindingConnectorAsUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional BindingConnectorAsUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional BindingConnectorAsUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional BindingConnectorAsUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional BindingConnectorAsUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional BindingConnectorAsUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional BindingConnectorAsUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional BindingConnectorAsUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector BindingConnectorAsUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector BindingConnectorAsUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector BindingConnectorAsUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional BindingConnectorAsUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional BindingConnectorAsUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional BindingConnectorAsUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional BindingConnectorAsUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional BindingConnectorAsUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional BindingConnectorAsUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector BindingConnectorAsUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector BindingConnectorAsUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector BindingConnectorAsUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional BindingConnectorAsUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector BindingConnectorAsUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional BindingConnectorAsUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional BindingConnectorAsUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional BindingConnectorAsUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnectorAsUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional BindingConnectorAsUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional BindingConnectorAsUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector BindingConnectorAsUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional BindingConnectorAsUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnectorAsUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnectorAsUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional BindingConnectorAsUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional BindingConnectorAsUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional BindingConnectorAsUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional BindingConnectorAsUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector BindingConnectorAsUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector BindingConnectorAsUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional BindingConnectorAsUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional BindingConnectorAsUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector BindingConnectorAsUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector InstantiationExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector InstantiationExpression::getArgument() const { return read_list_("argument"); } +inline std::vector InstantiationExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector InstantiationExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional InstantiationExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional InstantiationExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional InstantiationExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector InstantiationExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector InstantiationExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional InstantiationExpression::getDirection() const { return read_string_("direction"); } +inline std::vector InstantiationExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional InstantiationExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector InstantiationExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional InstantiationExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector InstantiationExpression::getFeature() const { return read_list_("feature"); } +inline std::vector InstantiationExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional InstantiationExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector InstantiationExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional InstantiationExpression::getFunction() const { return read_ref_("function"); } +inline std::vector InstantiationExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector InstantiationExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector InstantiationExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector InstantiationExpression::getInput() const { return read_list_("input"); } +inline std::optional InstantiationExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector InstantiationExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional InstantiationExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional InstantiationExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional InstantiationExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional InstantiationExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional InstantiationExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional InstantiationExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional InstantiationExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional InstantiationExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional InstantiationExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional InstantiationExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional InstantiationExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional InstantiationExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional InstantiationExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional InstantiationExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector InstantiationExpression::getMember() const { return read_list_("member"); } +inline std::vector InstantiationExpression::getMembership() const { return read_list_("membership"); } +inline std::optional InstantiationExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional InstantiationExpression::getName() const { return read_string_("name"); } +inline std::vector InstantiationExpression::getOutput() const { return read_list_("output"); } +inline std::vector InstantiationExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional InstantiationExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional InstantiationExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector InstantiationExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector InstantiationExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector InstantiationExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector InstantiationExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector InstantiationExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector InstantiationExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector InstantiationExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector InstantiationExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector InstantiationExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector InstantiationExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector InstantiationExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector InstantiationExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector InstantiationExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional InstantiationExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector InstantiationExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector InstantiationExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector InstantiationExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector InstantiationExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector InstantiationExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector InstantiationExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional InstantiationExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional InstantiationExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional InstantiationExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional InstantiationExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional InstantiationExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional InstantiationExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector InstantiationExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional InstantiationExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional InstantiationExpression::getResult() const { return read_ref_("result"); } +inline std::optional InstantiationExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector InstantiationExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector InstantiationExpression::getType() const { return read_list_("type"); } +inline std::vector InstantiationExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector InstantiationExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector InstantiationExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector InstantiationExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector InstantiationExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional InstantiationExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional InstantiationExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional InstantiationExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional InstantiationExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional InstantiationExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional InstantiationExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional InstantiationExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional InstantiationExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector InstantiationExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector InstantiationExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector InstantiationExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector InstantiationExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InstantiationExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional InstantiationExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional InstantiationExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional InstantiationExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional InstantiationExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional InstantiationExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional InstantiationExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector InstantiationExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional InstantiationExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector InstantiationExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector InstantiationExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional InstantiationExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector InstantiationExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InstantiationExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional InstantiationExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional InstantiationExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional InstantiationExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional InstantiationExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector InstantiationExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional InstantiationExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional InstantiationExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional InstantiationExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional InstantiationExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional InstantiationExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional InstantiationExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional InstantiationExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector InstantiationExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector InstantiationExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional InstantiationExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional InstantiationExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector InstantiationExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector InvocationExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector InvocationExpression::getArgument() const { return read_list_("argument"); } +inline std::vector InvocationExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector InvocationExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional InvocationExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional InvocationExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional InvocationExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector InvocationExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector InvocationExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional InvocationExpression::getDirection() const { return read_string_("direction"); } +inline std::vector InvocationExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional InvocationExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector InvocationExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional InvocationExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector InvocationExpression::getFeature() const { return read_list_("feature"); } +inline std::vector InvocationExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional InvocationExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector InvocationExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional InvocationExpression::getFunction() const { return read_ref_("function"); } +inline std::vector InvocationExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector InvocationExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector InvocationExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector InvocationExpression::getInput() const { return read_list_("input"); } +inline std::optional InvocationExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector InvocationExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional InvocationExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional InvocationExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional InvocationExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional InvocationExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional InvocationExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional InvocationExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional InvocationExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional InvocationExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional InvocationExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional InvocationExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional InvocationExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional InvocationExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional InvocationExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional InvocationExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector InvocationExpression::getMember() const { return read_list_("member"); } +inline std::vector InvocationExpression::getMembership() const { return read_list_("membership"); } +inline std::optional InvocationExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional InvocationExpression::getName() const { return read_string_("name"); } +inline std::vector InvocationExpression::getOutput() const { return read_list_("output"); } +inline std::vector InvocationExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional InvocationExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional InvocationExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector InvocationExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector InvocationExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector InvocationExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector InvocationExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector InvocationExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector InvocationExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector InvocationExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector InvocationExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector InvocationExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector InvocationExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector InvocationExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector InvocationExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector InvocationExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional InvocationExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector InvocationExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector InvocationExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector InvocationExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector InvocationExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector InvocationExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector InvocationExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional InvocationExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional InvocationExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional InvocationExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional InvocationExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional InvocationExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional InvocationExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector InvocationExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional InvocationExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional InvocationExpression::getResult() const { return read_ref_("result"); } +inline std::optional InvocationExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector InvocationExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector InvocationExpression::getType() const { return read_list_("type"); } +inline std::vector InvocationExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector InvocationExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector InvocationExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector InvocationExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector InvocationExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional InvocationExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional InvocationExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional InvocationExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional InvocationExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional InvocationExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional InvocationExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional InvocationExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional InvocationExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector InvocationExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector InvocationExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector InvocationExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector InvocationExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InvocationExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional InvocationExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional InvocationExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional InvocationExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional InvocationExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional InvocationExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional InvocationExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector InvocationExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional InvocationExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector InvocationExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector InvocationExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional InvocationExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector InvocationExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InvocationExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional InvocationExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional InvocationExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional InvocationExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional InvocationExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector InvocationExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional InvocationExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional InvocationExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional InvocationExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional InvocationExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional InvocationExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional InvocationExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional InvocationExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector InvocationExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector InvocationExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional InvocationExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional InvocationExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector InvocationExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector OperatorExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector OperatorExpression::getArgument() const { return read_list_("argument"); } +inline std::vector OperatorExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector OperatorExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional OperatorExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional OperatorExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional OperatorExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector OperatorExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector OperatorExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional OperatorExpression::getDirection() const { return read_string_("direction"); } +inline std::vector OperatorExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional OperatorExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector OperatorExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional OperatorExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector OperatorExpression::getFeature() const { return read_list_("feature"); } +inline std::vector OperatorExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional OperatorExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector OperatorExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional OperatorExpression::getFunction() const { return read_ref_("function"); } +inline std::vector OperatorExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector OperatorExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector OperatorExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector OperatorExpression::getInput() const { return read_list_("input"); } +inline std::optional OperatorExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector OperatorExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional OperatorExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional OperatorExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional OperatorExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional OperatorExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional OperatorExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional OperatorExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional OperatorExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional OperatorExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional OperatorExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional OperatorExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional OperatorExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional OperatorExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional OperatorExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional OperatorExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector OperatorExpression::getMember() const { return read_list_("member"); } +inline std::vector OperatorExpression::getMembership() const { return read_list_("membership"); } +inline std::optional OperatorExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional OperatorExpression::getName() const { return read_string_("name"); } +inline std::optional OperatorExpression::getOperator() const { return read_string_("operator"); } +inline std::vector OperatorExpression::getOutput() const { return read_list_("output"); } +inline std::vector OperatorExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional OperatorExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional OperatorExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector OperatorExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector OperatorExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector OperatorExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector OperatorExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector OperatorExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector OperatorExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector OperatorExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector OperatorExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector OperatorExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector OperatorExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector OperatorExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector OperatorExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector OperatorExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional OperatorExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector OperatorExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector OperatorExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector OperatorExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector OperatorExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector OperatorExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector OperatorExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional OperatorExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional OperatorExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional OperatorExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional OperatorExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional OperatorExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional OperatorExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector OperatorExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional OperatorExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional OperatorExpression::getResult() const { return read_ref_("result"); } +inline std::optional OperatorExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector OperatorExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector OperatorExpression::getType() const { return read_list_("type"); } +inline std::vector OperatorExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector OperatorExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector OperatorExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector OperatorExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector OperatorExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional OperatorExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional OperatorExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional OperatorExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional OperatorExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional OperatorExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional OperatorExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional OperatorExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional OperatorExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector OperatorExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector OperatorExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector OperatorExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector OperatorExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional OperatorExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional OperatorExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional OperatorExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional OperatorExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional OperatorExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional OperatorExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional OperatorExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector OperatorExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional OperatorExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector OperatorExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector OperatorExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional OperatorExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector OperatorExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional OperatorExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional OperatorExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional OperatorExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional OperatorExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional OperatorExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector OperatorExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional OperatorExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional OperatorExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional OperatorExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional OperatorExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional OperatorExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional OperatorExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional OperatorExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector OperatorExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector OperatorExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional OperatorExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional OperatorExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector OperatorExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector CollectExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector CollectExpression::getArgument() const { return read_list_("argument"); } +inline std::vector CollectExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector CollectExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional CollectExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional CollectExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional CollectExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector CollectExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector CollectExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional CollectExpression::getDirection() const { return read_string_("direction"); } +inline std::vector CollectExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional CollectExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector CollectExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional CollectExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector CollectExpression::getFeature() const { return read_list_("feature"); } +inline std::vector CollectExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional CollectExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector CollectExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional CollectExpression::getFunction() const { return read_ref_("function"); } +inline std::vector CollectExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector CollectExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector CollectExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector CollectExpression::getInput() const { return read_list_("input"); } +inline std::optional CollectExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector CollectExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional CollectExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional CollectExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional CollectExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional CollectExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional CollectExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional CollectExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional CollectExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional CollectExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional CollectExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional CollectExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional CollectExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional CollectExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional CollectExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional CollectExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector CollectExpression::getMember() const { return read_list_("member"); } +inline std::vector CollectExpression::getMembership() const { return read_list_("membership"); } +inline std::optional CollectExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional CollectExpression::getName() const { return read_string_("name"); } +inline std::optional CollectExpression::getOperator() const { return read_string_("operator"); } +inline std::vector CollectExpression::getOutput() const { return read_list_("output"); } +inline std::vector CollectExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional CollectExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional CollectExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector CollectExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector CollectExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector CollectExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector CollectExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector CollectExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector CollectExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector CollectExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector CollectExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector CollectExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector CollectExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector CollectExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector CollectExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector CollectExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional CollectExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector CollectExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector CollectExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector CollectExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector CollectExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector CollectExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector CollectExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional CollectExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional CollectExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional CollectExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional CollectExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional CollectExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional CollectExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector CollectExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional CollectExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional CollectExpression::getResult() const { return read_ref_("result"); } +inline std::optional CollectExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector CollectExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector CollectExpression::getType() const { return read_list_("type"); } +inline std::vector CollectExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector CollectExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector CollectExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector CollectExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector CollectExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional CollectExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional CollectExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional CollectExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional CollectExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional CollectExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional CollectExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional CollectExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional CollectExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector CollectExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector CollectExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector CollectExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector CollectExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CollectExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional CollectExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional CollectExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional CollectExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional CollectExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional CollectExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional CollectExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector CollectExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional CollectExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector CollectExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector CollectExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional CollectExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector CollectExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional CollectExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional CollectExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional CollectExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional CollectExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional CollectExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector CollectExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional CollectExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional CollectExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional CollectExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional CollectExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional CollectExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional CollectExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional CollectExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector CollectExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector CollectExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional CollectExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional CollectExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector CollectExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Comment::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Comment::getAnnotatedElement() const { return read_list_("annotatedElement"); } +inline std::vector Comment::getAnnotation() const { return read_list_("annotation"); } +inline std::optional Comment::getBody() const { return read_string_("body"); } +inline std::optional Comment::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Comment::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Comment::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Comment::getElementId() const { return read_string_("elementId"); } +inline std::optional Comment::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Comment::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Comment::getLocale() const { return read_string_("locale"); } +inline std::optional Comment::getName() const { return read_string_("name"); } +inline std::vector Comment::getOwnedAnnotatingRelationship() const { return read_list_("ownedAnnotatingRelationship"); } +inline std::vector Comment::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Comment::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Comment::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Comment::getOwner() const { return read_ref_("owner"); } +inline std::optional Comment::getOwningAnnotatingRelationship() const { return read_ref_("owningAnnotatingRelationship"); } +inline std::optional Comment::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Comment::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Comment::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Comment::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Comment::getShortName() const { return read_string_("shortName"); } +inline std::vector Comment::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Comment::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Comment::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Comment::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Comment::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Comment::path() const { return as_string_(call_("path", {})); } +inline std::vector Predicate::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Predicate::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Predicate::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Predicate::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Predicate::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Predicate::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Predicate::getElementId() const { return read_string_("elementId"); } +inline std::vector Predicate::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Predicate::getExpression() const { return read_list_("expression"); } +inline std::vector Predicate::getFeature() const { return read_list_("feature"); } +inline std::vector Predicate::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Predicate::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Predicate::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Predicate::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Predicate::getInput() const { return read_list_("input"); } +inline std::vector Predicate::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Predicate::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Predicate::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Predicate::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Predicate::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Predicate::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional Predicate::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Predicate::getMember() const { return read_list_("member"); } +inline std::vector Predicate::getMembership() const { return read_list_("membership"); } +inline std::optional Predicate::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Predicate::getName() const { return read_string_("name"); } +inline std::vector Predicate::getOutput() const { return read_list_("output"); } +inline std::vector Predicate::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Predicate::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Predicate::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Predicate::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Predicate::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Predicate::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Predicate::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Predicate::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Predicate::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Predicate::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Predicate::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Predicate::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Predicate::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Predicate::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Predicate::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Predicate::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Predicate::getOwner() const { return read_ref_("owner"); } +inline std::optional Predicate::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Predicate::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Predicate::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector Predicate::getParameter() const { return read_list_("parameter"); } +inline std::optional Predicate::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Predicate::getResult() const { return read_ref_("result"); } +inline std::optional Predicate::getShortName() const { return read_string_("shortName"); } +inline std::vector Predicate::getStep() const { return read_list_("step"); } +inline std::vector Predicate::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Predicate::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Predicate::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Predicate::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Predicate::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Predicate::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Predicate::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Predicate::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Predicate::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Predicate::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Predicate::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Predicate::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Predicate::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Predicate::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Predicate::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Predicate::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Predicate::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Predicate::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Predicate::path() const { return as_string_(call_("path", {})); } +inline std::optional Predicate::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Predicate::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Predicate::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Predicate::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Predicate::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Predicate::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Predicate::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Predicate::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Predicate::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Predicate::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Predicate::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Predicate::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConstraintDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ConstraintDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConstraintDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConstraintDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConstraintDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConstraintDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ConstraintDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConstraintDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ConstraintDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ConstraintDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector ConstraintDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ConstraintDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ConstraintDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ConstraintDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConstraintDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConstraintDefinition::getInput() const { return read_list_("input"); } +inline std::vector ConstraintDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConstraintDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConstraintDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConstraintDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConstraintDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConstraintDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConstraintDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ConstraintDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConstraintDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ConstraintDefinition::getMember() const { return read_list_("member"); } +inline std::vector ConstraintDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ConstraintDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConstraintDefinition::getName() const { return read_string_("name"); } +inline std::vector ConstraintDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ConstraintDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ConstraintDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ConstraintDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ConstraintDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ConstraintDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ConstraintDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ConstraintDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ConstraintDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ConstraintDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ConstraintDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ConstraintDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ConstraintDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConstraintDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConstraintDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConstraintDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConstraintDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ConstraintDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConstraintDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConstraintDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ConstraintDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConstraintDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ConstraintDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConstraintDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ConstraintDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConstraintDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConstraintDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ConstraintDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ConstraintDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ConstraintDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ConstraintDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ConstraintDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConstraintDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ConstraintDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ConstraintDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConstraintDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ConstraintDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ConstraintDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ConstraintDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ConstraintDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ConstraintDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ConstraintDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ConstraintDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ConstraintDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ConstraintDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ConstraintDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConstraintDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConstraintDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector ConstraintDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional ConstraintDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ConstraintDefinition::getResult() const { return read_ref_("result"); } +inline std::optional ConstraintDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ConstraintDefinition::getStep() const { return read_list_("step"); } +inline std::vector ConstraintDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConstraintDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConstraintDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ConstraintDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ConstraintDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConstraintDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConstraintDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ConstraintDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConstraintDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConstraintDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConstraintDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConstraintDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConstraintDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConstraintDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConstraintDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConstraintDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConstraintDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConstraintDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ConstraintDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConstraintDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ConstraintDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConstraintDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ConstraintDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ConstraintDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConstraintDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConstraintDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConstraintDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConstraintDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ConstraintDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ConstraintDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConstraintDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConstraintDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector RequirementDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector RequirementDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector RequirementDefinition::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::optional RequirementDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional RequirementDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector RequirementDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector RequirementDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector RequirementDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector RequirementDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional RequirementDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector RequirementDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector RequirementDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector RequirementDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector RequirementDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector RequirementDefinition::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::vector RequirementDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector RequirementDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector RequirementDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector RequirementDefinition::getInput() const { return read_list_("input"); } +inline std::vector RequirementDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional RequirementDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional RequirementDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional RequirementDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional RequirementDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional RequirementDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional RequirementDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional RequirementDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional RequirementDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector RequirementDefinition::getMember() const { return read_list_("member"); } +inline std::vector RequirementDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional RequirementDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional RequirementDefinition::getName() const { return read_string_("name"); } +inline std::vector RequirementDefinition::getOutput() const { return read_list_("output"); } +inline std::vector RequirementDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector RequirementDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector RequirementDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector RequirementDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector RequirementDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector RequirementDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector RequirementDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector RequirementDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional RequirementDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector RequirementDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector RequirementDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector RequirementDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector RequirementDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector RequirementDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector RequirementDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector RequirementDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector RequirementDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector RequirementDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector RequirementDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector RequirementDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector RequirementDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector RequirementDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector RequirementDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector RequirementDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector RequirementDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector RequirementDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector RequirementDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector RequirementDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector RequirementDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector RequirementDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector RequirementDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector RequirementDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector RequirementDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector RequirementDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector RequirementDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector RequirementDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector RequirementDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector RequirementDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector RequirementDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector RequirementDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector RequirementDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector RequirementDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector RequirementDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional RequirementDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional RequirementDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional RequirementDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional RequirementDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector RequirementDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional RequirementDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional RequirementDefinition::getReqId() const { return read_string_("reqId"); } +inline std::vector RequirementDefinition::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional RequirementDefinition::getResult() const { return read_ref_("result"); } +inline std::optional RequirementDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector RequirementDefinition::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::vector RequirementDefinition::getStep() const { return read_list_("step"); } +inline std::optional RequirementDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector RequirementDefinition::getText() const { return read_string_list_("text"); } +inline std::vector RequirementDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector RequirementDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector RequirementDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector RequirementDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector RequirementDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector RequirementDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector RequirementDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional RequirementDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional RequirementDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional RequirementDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional RequirementDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional RequirementDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector RequirementDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector RequirementDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector RequirementDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RequirementDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional RequirementDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector RequirementDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector RequirementDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector RequirementDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector RequirementDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RequirementDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional RequirementDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector RequirementDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional RequirementDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional RequirementDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional RequirementDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional RequirementDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional RequirementDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional RequirementDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector RequirementDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional RequirementDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional RequirementDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector RequirementDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConcernDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector ConcernDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConcernDefinition::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::optional ConcernDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConcernDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConcernDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConcernDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConcernDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ConcernDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConcernDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ConcernDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ConcernDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector ConcernDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ConcernDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ConcernDefinition::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::vector ConcernDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ConcernDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConcernDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConcernDefinition::getInput() const { return read_list_("input"); } +inline std::vector ConcernDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConcernDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConcernDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConcernDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConcernDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConcernDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConcernDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ConcernDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConcernDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ConcernDefinition::getMember() const { return read_list_("member"); } +inline std::vector ConcernDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ConcernDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConcernDefinition::getName() const { return read_string_("name"); } +inline std::vector ConcernDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ConcernDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ConcernDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ConcernDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ConcernDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ConcernDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ConcernDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ConcernDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ConcernDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ConcernDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ConcernDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ConcernDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ConcernDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConcernDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConcernDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConcernDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConcernDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ConcernDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConcernDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConcernDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ConcernDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConcernDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ConcernDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConcernDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ConcernDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConcernDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConcernDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ConcernDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ConcernDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ConcernDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ConcernDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ConcernDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConcernDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ConcernDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ConcernDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConcernDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ConcernDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ConcernDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ConcernDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ConcernDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ConcernDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ConcernDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ConcernDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ConcernDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ConcernDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ConcernDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConcernDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConcernDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector ConcernDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional ConcernDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ConcernDefinition::getReqId() const { return read_string_("reqId"); } +inline std::vector ConcernDefinition::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional ConcernDefinition::getResult() const { return read_ref_("result"); } +inline std::optional ConcernDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ConcernDefinition::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::vector ConcernDefinition::getStep() const { return read_list_("step"); } +inline std::optional ConcernDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector ConcernDefinition::getText() const { return read_string_list_("text"); } +inline std::vector ConcernDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConcernDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConcernDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ConcernDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ConcernDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConcernDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConcernDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ConcernDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConcernDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConcernDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConcernDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConcernDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConcernDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConcernDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConcernDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConcernDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConcernDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConcernDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ConcernDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConcernDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ConcernDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConcernDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ConcernDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ConcernDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConcernDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConcernDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConcernDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConcernDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConcernDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConcernDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ConcernDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ConcernDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConcernDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConcernDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector RequirementUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector RequirementUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector RequirementUsage::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::vector RequirementUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector RequirementUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional RequirementUsage::getConstraintDefinition() const { return read_ref_("constraintDefinition"); } +inline std::optional RequirementUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional RequirementUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional RequirementUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector RequirementUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector RequirementUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector RequirementUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector RequirementUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional RequirementUsage::getDirection() const { return read_string_("direction"); } +inline std::vector RequirementUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional RequirementUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector RequirementUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional RequirementUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector RequirementUsage::getFeature() const { return read_list_("feature"); } +inline std::vector RequirementUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional RequirementUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector RequirementUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector RequirementUsage::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::optional RequirementUsage::getFunction() const { return read_ref_("function"); } +inline std::vector RequirementUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional RequirementUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector RequirementUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector RequirementUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector RequirementUsage::getInput() const { return read_list_("input"); } +inline std::vector RequirementUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional RequirementUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional RequirementUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional RequirementUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional RequirementUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional RequirementUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional RequirementUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional RequirementUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional RequirementUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional RequirementUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional RequirementUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional RequirementUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional RequirementUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional RequirementUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional RequirementUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional RequirementUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional RequirementUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional RequirementUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional RequirementUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector RequirementUsage::getMember() const { return read_list_("member"); } +inline std::vector RequirementUsage::getMembership() const { return read_list_("membership"); } +inline std::optional RequirementUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional RequirementUsage::getName() const { return read_string_("name"); } +inline std::vector RequirementUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector RequirementUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector RequirementUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector RequirementUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector RequirementUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector RequirementUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector RequirementUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector RequirementUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector RequirementUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector RequirementUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector RequirementUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector RequirementUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector RequirementUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector RequirementUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector RequirementUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector RequirementUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector RequirementUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector RequirementUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector RequirementUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector RequirementUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector RequirementUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector RequirementUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector RequirementUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector RequirementUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector RequirementUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector RequirementUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector RequirementUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector RequirementUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector RequirementUsage::getOutput() const { return read_list_("output"); } +inline std::vector RequirementUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional RequirementUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional RequirementUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector RequirementUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector RequirementUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector RequirementUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector RequirementUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector RequirementUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector RequirementUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector RequirementUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector RequirementUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector RequirementUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector RequirementUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector RequirementUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector RequirementUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector RequirementUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional RequirementUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector RequirementUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector RequirementUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector RequirementUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector RequirementUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector RequirementUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector RequirementUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional RequirementUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional RequirementUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional RequirementUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional RequirementUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional RequirementUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional RequirementUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional RequirementUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional RequirementUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector RequirementUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional RequirementUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional RequirementUsage::getPredicate() const { return read_ref_("predicate"); } +inline std::optional RequirementUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional RequirementUsage::getReqId() const { return read_string_("reqId"); } +inline std::vector RequirementUsage::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional RequirementUsage::getRequirementDefinition() const { return read_ref_("requirementDefinition"); } +inline std::optional RequirementUsage::getResult() const { return read_ref_("result"); } +inline std::optional RequirementUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector RequirementUsage::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::optional RequirementUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector RequirementUsage::getText() const { return read_string_list_("text"); } +inline std::vector RequirementUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector RequirementUsage::getType() const { return read_list_("type"); } +inline std::vector RequirementUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector RequirementUsage::getUsage() const { return read_list_("usage"); } +inline std::vector RequirementUsage::getVariant() const { return read_list_("variant"); } +inline std::vector RequirementUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector RequirementUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector RequirementUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector RequirementUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector RequirementUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional RequirementUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional RequirementUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional RequirementUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional RequirementUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional RequirementUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional RequirementUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional RequirementUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional RequirementUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector RequirementUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector RequirementUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector RequirementUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector RequirementUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RequirementUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional RequirementUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional RequirementUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional RequirementUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional RequirementUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional RequirementUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector RequirementUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional RequirementUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector RequirementUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector RequirementUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional RequirementUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector RequirementUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RequirementUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional RequirementUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional RequirementUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional RequirementUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional RequirementUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional RequirementUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector RequirementUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional RequirementUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional RequirementUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional RequirementUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional RequirementUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional RequirementUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional RequirementUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional RequirementUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector RequirementUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector RequirementUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional RequirementUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional RequirementUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector RequirementUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConcernUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector ConcernUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConcernUsage::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::vector ConcernUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector ConcernUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ConcernUsage::getConcernDefinition() const { return read_ref_("concernDefinition"); } +inline std::optional ConcernUsage::getConstraintDefinition() const { return read_ref_("constraintDefinition"); } +inline std::optional ConcernUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ConcernUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConcernUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConcernUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ConcernUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConcernUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConcernUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ConcernUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ConcernUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConcernUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ConcernUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ConcernUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ConcernUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ConcernUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ConcernUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ConcernUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ConcernUsage::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::optional ConcernUsage::getFunction() const { return read_ref_("function"); } +inline std::vector ConcernUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ConcernUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ConcernUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConcernUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConcernUsage::getInput() const { return read_list_("input"); } +inline std::vector ConcernUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConcernUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConcernUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ConcernUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConcernUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ConcernUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ConcernUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ConcernUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConcernUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConcernUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConcernUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ConcernUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ConcernUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ConcernUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ConcernUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConcernUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ConcernUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ConcernUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ConcernUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ConcernUsage::getMember() const { return read_list_("member"); } +inline std::vector ConcernUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ConcernUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConcernUsage::getName() const { return read_string_("name"); } +inline std::vector ConcernUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ConcernUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ConcernUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ConcernUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ConcernUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ConcernUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ConcernUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ConcernUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ConcernUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ConcernUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ConcernUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ConcernUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ConcernUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ConcernUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ConcernUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ConcernUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ConcernUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ConcernUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ConcernUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ConcernUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ConcernUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ConcernUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ConcernUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ConcernUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ConcernUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ConcernUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ConcernUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ConcernUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ConcernUsage::getOutput() const { return read_list_("output"); } +inline std::vector ConcernUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ConcernUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ConcernUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ConcernUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConcernUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConcernUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConcernUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConcernUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConcernUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ConcernUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ConcernUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConcernUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConcernUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConcernUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConcernUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConcernUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ConcernUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ConcernUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConcernUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConcernUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ConcernUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ConcernUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ConcernUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ConcernUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ConcernUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ConcernUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ConcernUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConcernUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConcernUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConcernUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ConcernUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ConcernUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional ConcernUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ConcernUsage::getPredicate() const { return read_ref_("predicate"); } +inline std::optional ConcernUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ConcernUsage::getReqId() const { return read_string_("reqId"); } +inline std::vector ConcernUsage::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional ConcernUsage::getRequirementDefinition() const { return read_ref_("requirementDefinition"); } +inline std::optional ConcernUsage::getResult() const { return read_ref_("result"); } +inline std::optional ConcernUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ConcernUsage::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::optional ConcernUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector ConcernUsage::getText() const { return read_string_list_("text"); } +inline std::vector ConcernUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConcernUsage::getType() const { return read_list_("type"); } +inline std::vector ConcernUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConcernUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ConcernUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ConcernUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConcernUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ConcernUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConcernUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ConcernUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ConcernUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ConcernUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional ConcernUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ConcernUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConcernUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConcernUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConcernUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConcernUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConcernUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector ConcernUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConcernUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConcernUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConcernUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ConcernUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConcernUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ConcernUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ConcernUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ConcernUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConcernUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional ConcernUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector ConcernUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConcernUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ConcernUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ConcernUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConcernUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ConcernUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ConcernUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ConcernUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ConcernUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ConcernUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ConcernUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConcernUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConcernUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConcernUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConcernUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConcernUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConcernUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ConcernUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ConcernUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ConcernUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ConcernUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConcernUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConcernUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector PortDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional PortDefinition::getConjugatedPortDefinition() const { return read_ref_("conjugatedPortDefinition"); } +inline std::optional PortDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PortDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PortDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector PortDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector PortDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector PortDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PortDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector PortDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector PortDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector PortDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector PortDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector PortDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector PortDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector PortDefinition::getInput() const { return read_list_("input"); } +inline std::vector PortDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional PortDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional PortDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional PortDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PortDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional PortDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PortDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional PortDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector PortDefinition::getMember() const { return read_list_("member"); } +inline std::vector PortDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional PortDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional PortDefinition::getName() const { return read_string_("name"); } +inline std::vector PortDefinition::getOutput() const { return read_list_("output"); } +inline std::vector PortDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector PortDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector PortDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector PortDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector PortDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector PortDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector PortDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector PortDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional PortDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector PortDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector PortDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector PortDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector PortDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector PortDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PortDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector PortDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector PortDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector PortDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector PortDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector PortDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector PortDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector PortDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector PortDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector PortDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector PortDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector PortDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector PortDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector PortDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector PortDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector PortDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector PortDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector PortDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector PortDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector PortDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector PortDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector PortDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector PortDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector PortDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector PortDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector PortDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector PortDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector PortDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector PortDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional PortDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional PortDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PortDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PortDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PortDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional PortDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector PortDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector PortDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector PortDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector PortDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector PortDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector PortDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector PortDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional PortDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional PortDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional PortDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PortDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PortDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector PortDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector PortDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector PortDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PortDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional PortDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector PortDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector PortDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector PortDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector PortDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PortDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional PortDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector PortDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional PortDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional PortDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional PortDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional PortDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional PortDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional PortDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector PortDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional PortDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional PortDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector PortDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ConjugatedPortDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ConjugatedPortDefinition::getConjugatedPortDefinition() const { return read_ref_("conjugatedPortDefinition"); } +inline std::optional ConjugatedPortDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConjugatedPortDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConjugatedPortDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConjugatedPortDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ConjugatedPortDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ConjugatedPortDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConjugatedPortDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ConjugatedPortDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ConjugatedPortDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ConjugatedPortDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ConjugatedPortDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ConjugatedPortDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConjugatedPortDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConjugatedPortDefinition::getInput() const { return read_list_("input"); } +inline std::vector ConjugatedPortDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConjugatedPortDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConjugatedPortDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConjugatedPortDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConjugatedPortDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ConjugatedPortDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConjugatedPortDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConjugatedPortDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ConjugatedPortDefinition::getMember() const { return read_list_("member"); } +inline std::vector ConjugatedPortDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ConjugatedPortDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConjugatedPortDefinition::getName() const { return read_string_("name"); } +inline std::optional ConjugatedPortDefinition::getOriginalPortDefinition() const { return read_ref_("originalPortDefinition"); } +inline std::vector ConjugatedPortDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ConjugatedPortDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ConjugatedPortDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ConjugatedPortDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ConjugatedPortDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ConjugatedPortDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ConjugatedPortDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ConjugatedPortDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ConjugatedPortDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ConjugatedPortDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ConjugatedPortDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ConjugatedPortDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ConjugatedPortDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConjugatedPortDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConjugatedPortDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConjugatedPortDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConjugatedPortDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ConjugatedPortDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConjugatedPortDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConjugatedPortDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ConjugatedPortDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConjugatedPortDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ConjugatedPortDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConjugatedPortDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ConjugatedPortDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConjugatedPortDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConjugatedPortDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ConjugatedPortDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ConjugatedPortDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ConjugatedPortDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::optional ConjugatedPortDefinition::getOwnedPortConjugator() const { return read_ref_("ownedPortConjugator"); } +inline std::vector ConjugatedPortDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ConjugatedPortDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConjugatedPortDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ConjugatedPortDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ConjugatedPortDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConjugatedPortDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ConjugatedPortDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ConjugatedPortDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ConjugatedPortDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ConjugatedPortDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ConjugatedPortDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ConjugatedPortDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ConjugatedPortDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ConjugatedPortDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ConjugatedPortDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ConjugatedPortDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConjugatedPortDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConjugatedPortDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConjugatedPortDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ConjugatedPortDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ConjugatedPortDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConjugatedPortDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConjugatedPortDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ConjugatedPortDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ConjugatedPortDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ConjugatedPortDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConjugatedPortDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ConjugatedPortDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConjugatedPortDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConjugatedPortDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConjugatedPortDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConjugatedPortDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConjugatedPortDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConjugatedPortDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConjugatedPortDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConjugatedPortDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConjugatedPortDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConjugatedPortDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ConjugatedPortDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConjugatedPortDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ConjugatedPortDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConjugatedPortDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ConjugatedPortDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ConjugatedPortDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConjugatedPortDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConjugatedPortDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConjugatedPortDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConjugatedPortDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConjugatedPortDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConjugatedPortDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ConjugatedPortDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ConjugatedPortDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConjugatedPortDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConjugatedPortDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Specialization::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Specialization::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Specialization::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Specialization::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Specialization::getElementId() const { return read_string_("elementId"); } +inline std::optional Specialization::getGeneral() const { return read_ref_("general"); } +inline std::optional Specialization::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Specialization::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Specialization::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Specialization::getName() const { return read_string_("name"); } +inline std::vector Specialization::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Specialization::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Specialization::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Specialization::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Specialization::getOwner() const { return read_ref_("owner"); } +inline std::optional Specialization::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Specialization::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Specialization::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Specialization::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Specialization::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Specialization::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Specialization::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Specialization::getShortName() const { return read_string_("shortName"); } +inline std::vector Specialization::getSource() const { return read_list_("source"); } +inline std::optional Specialization::getSpecific() const { return read_ref_("specific"); } +inline std::vector Specialization::getTarget() const { return read_list_("target"); } +inline std::vector Specialization::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Specialization::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Specialization::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Specialization::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Specialization::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Specialization::path() const { return as_string_(call_("path", {})); } +inline std::vector FeatureTyping::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional FeatureTyping::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureTyping::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureTyping::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureTyping::getElementId() const { return read_string_("elementId"); } +inline std::optional FeatureTyping::getGeneral() const { return read_ref_("general"); } +inline std::optional FeatureTyping::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FeatureTyping::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureTyping::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureTyping::getName() const { return read_string_("name"); } +inline std::vector FeatureTyping::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector FeatureTyping::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FeatureTyping::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FeatureTyping::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional FeatureTyping::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureTyping::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional FeatureTyping::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureTyping::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureTyping::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FeatureTyping::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureTyping::getOwningType() const { return read_ref_("owningType"); } +inline std::optional FeatureTyping::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FeatureTyping::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional FeatureTyping::getShortName() const { return read_string_("shortName"); } +inline std::vector FeatureTyping::getSource() const { return read_list_("source"); } +inline std::optional FeatureTyping::getSpecific() const { return read_ref_("specific"); } +inline std::vector FeatureTyping::getTarget() const { return read_list_("target"); } +inline std::vector FeatureTyping::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional FeatureTyping::getType() const { return read_ref_("type"); } +inline std::optional FeatureTyping::getTypedFeature() const { return read_ref_("typedFeature"); } +inline std::optional FeatureTyping::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureTyping::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureTyping::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional FeatureTyping::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional FeatureTyping::path() const { return as_string_(call_("path", {})); } +inline std::vector ConjugatedPortTyping::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ConjugatedPortTyping::getConjugatedPortDefinition() const { return read_ref_("conjugatedPortDefinition"); } +inline std::optional ConjugatedPortTyping::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConjugatedPortTyping::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConjugatedPortTyping::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConjugatedPortTyping::getElementId() const { return read_string_("elementId"); } +inline std::optional ConjugatedPortTyping::getGeneral() const { return read_ref_("general"); } +inline std::optional ConjugatedPortTyping::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ConjugatedPortTyping::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConjugatedPortTyping::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConjugatedPortTyping::getName() const { return read_string_("name"); } +inline std::vector ConjugatedPortTyping::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ConjugatedPortTyping::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConjugatedPortTyping::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ConjugatedPortTyping::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ConjugatedPortTyping::getOwner() const { return read_ref_("owner"); } +inline std::optional ConjugatedPortTyping::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional ConjugatedPortTyping::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConjugatedPortTyping::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConjugatedPortTyping::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ConjugatedPortTyping::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConjugatedPortTyping::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ConjugatedPortTyping::getPortDefinition() const { return read_ref_("portDefinition"); } +inline std::optional ConjugatedPortTyping::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ConjugatedPortTyping::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ConjugatedPortTyping::getShortName() const { return read_string_("shortName"); } +inline std::vector ConjugatedPortTyping::getSource() const { return read_list_("source"); } +inline std::optional ConjugatedPortTyping::getSpecific() const { return read_ref_("specific"); } +inline std::vector ConjugatedPortTyping::getTarget() const { return read_list_("target"); } +inline std::vector ConjugatedPortTyping::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ConjugatedPortTyping::getType() const { return read_ref_("type"); } +inline std::optional ConjugatedPortTyping::getTypedFeature() const { return read_ref_("typedFeature"); } +inline std::optional ConjugatedPortTyping::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConjugatedPortTyping::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConjugatedPortTyping::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ConjugatedPortTyping::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ConjugatedPortTyping::path() const { return as_string_(call_("path", {})); } +inline std::vector Conjugation::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Conjugation::getConjugatedType() const { return read_ref_("conjugatedType"); } +inline std::optional Conjugation::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Conjugation::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Conjugation::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Conjugation::getElementId() const { return read_string_("elementId"); } +inline std::optional Conjugation::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Conjugation::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Conjugation::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Conjugation::getName() const { return read_string_("name"); } +inline std::optional Conjugation::getOriginalType() const { return read_ref_("originalType"); } +inline std::vector Conjugation::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Conjugation::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Conjugation::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Conjugation::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Conjugation::getOwner() const { return read_ref_("owner"); } +inline std::optional Conjugation::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Conjugation::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Conjugation::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Conjugation::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Conjugation::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Conjugation::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Conjugation::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Conjugation::getShortName() const { return read_string_("shortName"); } +inline std::vector Conjugation::getSource() const { return read_list_("source"); } +inline std::vector Conjugation::getTarget() const { return read_list_("target"); } +inline std::vector Conjugation::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Conjugation::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Conjugation::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Conjugation::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Conjugation::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Conjugation::path() const { return as_string_(call_("path", {})); } +inline std::vector ConstructorExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ConstructorExpression::getArgument() const { return read_list_("argument"); } +inline std::vector ConstructorExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector ConstructorExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ConstructorExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ConstructorExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ConstructorExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ConstructorExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ConstructorExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional ConstructorExpression::getDirection() const { return read_string_("direction"); } +inline std::vector ConstructorExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ConstructorExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector ConstructorExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ConstructorExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ConstructorExpression::getFeature() const { return read_list_("feature"); } +inline std::vector ConstructorExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ConstructorExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ConstructorExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional ConstructorExpression::getFunction() const { return read_ref_("function"); } +inline std::vector ConstructorExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ConstructorExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ConstructorExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ConstructorExpression::getInput() const { return read_list_("input"); } +inline std::optional ConstructorExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector ConstructorExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ConstructorExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ConstructorExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ConstructorExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ConstructorExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ConstructorExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ConstructorExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ConstructorExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ConstructorExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ConstructorExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ConstructorExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ConstructorExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ConstructorExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ConstructorExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ConstructorExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector ConstructorExpression::getMember() const { return read_list_("member"); } +inline std::vector ConstructorExpression::getMembership() const { return read_list_("membership"); } +inline std::optional ConstructorExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ConstructorExpression::getName() const { return read_string_("name"); } +inline std::vector ConstructorExpression::getOutput() const { return read_list_("output"); } +inline std::vector ConstructorExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ConstructorExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ConstructorExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ConstructorExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ConstructorExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ConstructorExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ConstructorExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ConstructorExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ConstructorExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ConstructorExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ConstructorExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ConstructorExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ConstructorExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ConstructorExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ConstructorExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ConstructorExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ConstructorExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ConstructorExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ConstructorExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ConstructorExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ConstructorExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ConstructorExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ConstructorExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ConstructorExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional ConstructorExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ConstructorExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ConstructorExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ConstructorExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ConstructorExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector ConstructorExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional ConstructorExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ConstructorExpression::getResult() const { return read_ref_("result"); } +inline std::optional ConstructorExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector ConstructorExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ConstructorExpression::getType() const { return read_list_("type"); } +inline std::vector ConstructorExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ConstructorExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ConstructorExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ConstructorExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ConstructorExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ConstructorExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ConstructorExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional ConstructorExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ConstructorExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ConstructorExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ConstructorExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ConstructorExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ConstructorExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ConstructorExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector ConstructorExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ConstructorExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ConstructorExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConstructorExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional ConstructorExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ConstructorExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ConstructorExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ConstructorExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ConstructorExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ConstructorExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ConstructorExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional ConstructorExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector ConstructorExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ConstructorExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ConstructorExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ConstructorExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ConstructorExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ConstructorExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional ConstructorExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ConstructorExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ConstructorExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector ConstructorExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ConstructorExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ConstructorExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ConstructorExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ConstructorExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ConstructorExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ConstructorExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ConstructorExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ConstructorExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ConstructorExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ConstructorExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ConstructorExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ConstructorExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ControlNode::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector ControlNode::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ControlNode::getBehavior() const { return read_list_("behavior"); } +inline std::vector ControlNode::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ControlNode::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ControlNode::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ControlNode::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ControlNode::getDefinition() const { return read_list_("definition"); } +inline std::vector ControlNode::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ControlNode::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ControlNode::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ControlNode::getDirection() const { return read_string_("direction"); } +inline std::vector ControlNode::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ControlNode::getElementId() const { return read_string_("elementId"); } +inline std::vector ControlNode::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ControlNode::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ControlNode::getFeature() const { return read_list_("feature"); } +inline std::vector ControlNode::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ControlNode::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ControlNode::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ControlNode::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ControlNode::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ControlNode::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ControlNode::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ControlNode::getInput() const { return read_list_("input"); } +inline std::vector ControlNode::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ControlNode::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ControlNode::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ControlNode::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ControlNode::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ControlNode::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ControlNode::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ControlNode::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ControlNode::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ControlNode::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ControlNode::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ControlNode::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ControlNode::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ControlNode::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ControlNode::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ControlNode::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ControlNode::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ControlNode::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ControlNode::getMember() const { return read_list_("member"); } +inline std::vector ControlNode::getMembership() const { return read_list_("membership"); } +inline std::optional ControlNode::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ControlNode::getName() const { return read_string_("name"); } +inline std::vector ControlNode::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ControlNode::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ControlNode::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ControlNode::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ControlNode::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ControlNode::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ControlNode::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ControlNode::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ControlNode::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ControlNode::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ControlNode::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ControlNode::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ControlNode::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ControlNode::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ControlNode::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ControlNode::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ControlNode::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ControlNode::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ControlNode::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ControlNode::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ControlNode::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ControlNode::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ControlNode::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ControlNode::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ControlNode::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ControlNode::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ControlNode::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ControlNode::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ControlNode::getOutput() const { return read_list_("output"); } +inline std::vector ControlNode::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ControlNode::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ControlNode::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ControlNode::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ControlNode::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ControlNode::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ControlNode::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ControlNode::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ControlNode::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ControlNode::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ControlNode::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ControlNode::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ControlNode::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ControlNode::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ControlNode::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ControlNode::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ControlNode::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ControlNode::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ControlNode::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ControlNode::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ControlNode::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ControlNode::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ControlNode::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ControlNode::getOwner() const { return read_ref_("owner"); } +inline std::optional ControlNode::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ControlNode::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ControlNode::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ControlNode::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ControlNode::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ControlNode::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ControlNode::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ControlNode::getParameter() const { return read_list_("parameter"); } +inline std::optional ControlNode::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ControlNode::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ControlNode::getShortName() const { return read_string_("shortName"); } +inline std::vector ControlNode::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ControlNode::getType() const { return read_list_("type"); } +inline std::vector ControlNode::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ControlNode::getUsage() const { return read_list_("usage"); } +inline std::vector ControlNode::getVariant() const { return read_list_("variant"); } +inline std::vector ControlNode::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ControlNode::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ControlNode::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ControlNode::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ControlNode::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector ControlNode::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ControlNode::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ControlNode::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ControlNode::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ControlNode::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ControlNode::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ControlNode::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ControlNode::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ControlNode::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ControlNode::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ControlNode::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ControlNode::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector ControlNode::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional ControlNode::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ControlNode::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ControlNode::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ControlNode::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ControlNode::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ControlNode::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional ControlNode::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ControlNode::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ControlNode::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::optional ControlNode::multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const { return as_bool_(call_("multiplicityHasBounds", {detail::arg(mult), detail::arg(lower), detail::arg(upper)})); } +inline std::vector ControlNode::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ControlNode::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ControlNode::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ControlNode::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ControlNode::path() const { return as_string_(call_("path", {})); } +inline std::optional ControlNode::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ControlNode::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ControlNode::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ControlNode::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ControlNode::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ControlNode::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ControlNode::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ControlNode::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ControlNode::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ControlNode::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ControlNode::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ControlNode::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ControlNode::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ControlNode::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ControlNode::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ControlNode::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ControlNode::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Subsetting::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Subsetting::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Subsetting::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Subsetting::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Subsetting::getElementId() const { return read_string_("elementId"); } +inline std::optional Subsetting::getGeneral() const { return read_ref_("general"); } +inline std::optional Subsetting::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Subsetting::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Subsetting::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Subsetting::getName() const { return read_string_("name"); } +inline std::vector Subsetting::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Subsetting::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Subsetting::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Subsetting::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Subsetting::getOwner() const { return read_ref_("owner"); } +inline std::optional Subsetting::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional Subsetting::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Subsetting::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Subsetting::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Subsetting::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Subsetting::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Subsetting::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Subsetting::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Subsetting::getShortName() const { return read_string_("shortName"); } +inline std::vector Subsetting::getSource() const { return read_list_("source"); } +inline std::optional Subsetting::getSpecific() const { return read_ref_("specific"); } +inline std::optional Subsetting::getSubsettedFeature() const { return read_ref_("subsettedFeature"); } +inline std::optional Subsetting::getSubsettingFeature() const { return read_ref_("subsettingFeature"); } +inline std::vector Subsetting::getTarget() const { return read_list_("target"); } +inline std::vector Subsetting::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Subsetting::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Subsetting::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Subsetting::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Subsetting::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Subsetting::path() const { return as_string_(call_("path", {})); } +inline std::vector CrossSubsetting::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional CrossSubsetting::getCrossedFeature() const { return read_ref_("crossedFeature"); } +inline std::optional CrossSubsetting::getCrossingFeature() const { return read_ref_("crossingFeature"); } +inline std::optional CrossSubsetting::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional CrossSubsetting::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector CrossSubsetting::getDocumentation() const { return read_list_("documentation"); } +inline std::optional CrossSubsetting::getElementId() const { return read_string_("elementId"); } +inline std::optional CrossSubsetting::getGeneral() const { return read_ref_("general"); } +inline std::optional CrossSubsetting::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional CrossSubsetting::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional CrossSubsetting::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional CrossSubsetting::getName() const { return read_string_("name"); } +inline std::vector CrossSubsetting::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector CrossSubsetting::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector CrossSubsetting::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector CrossSubsetting::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional CrossSubsetting::getOwner() const { return read_ref_("owner"); } +inline std::optional CrossSubsetting::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional CrossSubsetting::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional CrossSubsetting::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional CrossSubsetting::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional CrossSubsetting::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional CrossSubsetting::getOwningType() const { return read_ref_("owningType"); } +inline std::optional CrossSubsetting::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector CrossSubsetting::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional CrossSubsetting::getShortName() const { return read_string_("shortName"); } +inline std::vector CrossSubsetting::getSource() const { return read_list_("source"); } +inline std::optional CrossSubsetting::getSpecific() const { return read_ref_("specific"); } +inline std::optional CrossSubsetting::getSubsettedFeature() const { return read_ref_("subsettedFeature"); } +inline std::optional CrossSubsetting::getSubsettingFeature() const { return read_ref_("subsettingFeature"); } +inline std::vector CrossSubsetting::getTarget() const { return read_list_("target"); } +inline std::vector CrossSubsetting::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional CrossSubsetting::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional CrossSubsetting::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional CrossSubsetting::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional CrossSubsetting::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional CrossSubsetting::path() const { return as_string_(call_("path", {})); } +inline std::vector DecisionNode::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector DecisionNode::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector DecisionNode::getBehavior() const { return read_list_("behavior"); } +inline std::vector DecisionNode::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional DecisionNode::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional DecisionNode::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional DecisionNode::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector DecisionNode::getDefinition() const { return read_list_("definition"); } +inline std::vector DecisionNode::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector DecisionNode::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector DecisionNode::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional DecisionNode::getDirection() const { return read_string_("direction"); } +inline std::vector DecisionNode::getDocumentation() const { return read_list_("documentation"); } +inline std::optional DecisionNode::getElementId() const { return read_string_("elementId"); } +inline std::vector DecisionNode::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional DecisionNode::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector DecisionNode::getFeature() const { return read_list_("feature"); } +inline std::vector DecisionNode::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional DecisionNode::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector DecisionNode::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector DecisionNode::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional DecisionNode::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector DecisionNode::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector DecisionNode::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector DecisionNode::getInput() const { return read_list_("input"); } +inline std::vector DecisionNode::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional DecisionNode::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional DecisionNode::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional DecisionNode::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional DecisionNode::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional DecisionNode::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional DecisionNode::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional DecisionNode::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional DecisionNode::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional DecisionNode::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional DecisionNode::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional DecisionNode::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional DecisionNode::getIsReference() const { return read_bool_("isReference"); } +inline std::optional DecisionNode::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional DecisionNode::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional DecisionNode::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional DecisionNode::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional DecisionNode::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector DecisionNode::getMember() const { return read_list_("member"); } +inline std::vector DecisionNode::getMembership() const { return read_list_("membership"); } +inline std::optional DecisionNode::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional DecisionNode::getName() const { return read_string_("name"); } +inline std::vector DecisionNode::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector DecisionNode::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector DecisionNode::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector DecisionNode::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector DecisionNode::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector DecisionNode::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector DecisionNode::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector DecisionNode::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector DecisionNode::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector DecisionNode::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector DecisionNode::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector DecisionNode::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector DecisionNode::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector DecisionNode::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector DecisionNode::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector DecisionNode::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector DecisionNode::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector DecisionNode::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector DecisionNode::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector DecisionNode::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector DecisionNode::getNestedState() const { return read_list_("nestedState"); } +inline std::vector DecisionNode::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector DecisionNode::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector DecisionNode::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector DecisionNode::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector DecisionNode::getNestedView() const { return read_list_("nestedView"); } +inline std::vector DecisionNode::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector DecisionNode::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector DecisionNode::getOutput() const { return read_list_("output"); } +inline std::vector DecisionNode::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional DecisionNode::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional DecisionNode::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector DecisionNode::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector DecisionNode::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector DecisionNode::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector DecisionNode::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector DecisionNode::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector DecisionNode::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector DecisionNode::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector DecisionNode::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector DecisionNode::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector DecisionNode::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector DecisionNode::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector DecisionNode::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector DecisionNode::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional DecisionNode::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector DecisionNode::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector DecisionNode::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector DecisionNode::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector DecisionNode::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector DecisionNode::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector DecisionNode::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional DecisionNode::getOwner() const { return read_ref_("owner"); } +inline std::optional DecisionNode::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional DecisionNode::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional DecisionNode::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional DecisionNode::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional DecisionNode::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional DecisionNode::getOwningType() const { return read_ref_("owningType"); } +inline std::optional DecisionNode::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector DecisionNode::getParameter() const { return read_list_("parameter"); } +inline std::optional DecisionNode::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional DecisionNode::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional DecisionNode::getShortName() const { return read_string_("shortName"); } +inline std::vector DecisionNode::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector DecisionNode::getType() const { return read_list_("type"); } +inline std::vector DecisionNode::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector DecisionNode::getUsage() const { return read_list_("usage"); } +inline std::vector DecisionNode::getVariant() const { return read_list_("variant"); } +inline std::vector DecisionNode::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector DecisionNode::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector DecisionNode::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector DecisionNode::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional DecisionNode::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector DecisionNode::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional DecisionNode::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional DecisionNode::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional DecisionNode::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional DecisionNode::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional DecisionNode::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional DecisionNode::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional DecisionNode::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector DecisionNode::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector DecisionNode::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector DecisionNode::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional DecisionNode::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector DecisionNode::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional DecisionNode::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional DecisionNode::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional DecisionNode::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional DecisionNode::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional DecisionNode::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional DecisionNode::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional DecisionNode::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector DecisionNode::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector DecisionNode::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::optional DecisionNode::multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const { return as_bool_(call_("multiplicityHasBounds", {detail::arg(mult), detail::arg(lower), detail::arg(upper)})); } +inline std::vector DecisionNode::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional DecisionNode::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector DecisionNode::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional DecisionNode::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional DecisionNode::path() const { return as_string_(call_("path", {})); } +inline std::optional DecisionNode::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional DecisionNode::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional DecisionNode::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional DecisionNode::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector DecisionNode::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional DecisionNode::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional DecisionNode::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional DecisionNode::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional DecisionNode::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional DecisionNode::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional DecisionNode::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional DecisionNode::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector DecisionNode::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector DecisionNode::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional DecisionNode::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional DecisionNode::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector DecisionNode::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Dependency::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Dependency::getClient() const { return read_list_("client"); } +inline std::optional Dependency::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Dependency::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Dependency::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Dependency::getElementId() const { return read_string_("elementId"); } +inline std::optional Dependency::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Dependency::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Dependency::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Dependency::getName() const { return read_string_("name"); } +inline std::vector Dependency::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Dependency::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Dependency::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Dependency::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Dependency::getOwner() const { return read_ref_("owner"); } +inline std::optional Dependency::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Dependency::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Dependency::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Dependency::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Dependency::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Dependency::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Dependency::getShortName() const { return read_string_("shortName"); } +inline std::vector Dependency::getSource() const { return read_list_("source"); } +inline std::vector Dependency::getSupplier() const { return read_list_("supplier"); } +inline std::vector Dependency::getTarget() const { return read_list_("target"); } +inline std::vector Dependency::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Dependency::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Dependency::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Dependency::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Dependency::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Dependency::path() const { return as_string_(call_("path", {})); } +inline std::vector Differencing::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Differencing::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Differencing::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional Differencing::getDifferencingType() const { return read_ref_("differencingType"); } +inline std::vector Differencing::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Differencing::getElementId() const { return read_string_("elementId"); } +inline std::optional Differencing::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Differencing::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Differencing::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Differencing::getName() const { return read_string_("name"); } +inline std::vector Differencing::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Differencing::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Differencing::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Differencing::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Differencing::getOwner() const { return read_ref_("owner"); } +inline std::optional Differencing::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Differencing::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Differencing::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Differencing::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Differencing::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Differencing::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Differencing::getShortName() const { return read_string_("shortName"); } +inline std::vector Differencing::getSource() const { return read_list_("source"); } +inline std::vector Differencing::getTarget() const { return read_list_("target"); } +inline std::vector Differencing::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Differencing::getTypeDifferenced() const { return read_ref_("typeDifferenced"); } +inline std::optional Differencing::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Differencing::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Differencing::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Differencing::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Differencing::path() const { return as_string_(call_("path", {})); } +inline std::vector Disjoining::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Disjoining::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Disjoining::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional Disjoining::getDisjoiningType() const { return read_ref_("disjoiningType"); } +inline std::vector Disjoining::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Disjoining::getElementId() const { return read_string_("elementId"); } +inline std::optional Disjoining::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Disjoining::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Disjoining::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Disjoining::getName() const { return read_string_("name"); } +inline std::vector Disjoining::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Disjoining::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Disjoining::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Disjoining::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Disjoining::getOwner() const { return read_ref_("owner"); } +inline std::optional Disjoining::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Disjoining::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Disjoining::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Disjoining::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Disjoining::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Disjoining::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Disjoining::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Disjoining::getShortName() const { return read_string_("shortName"); } +inline std::vector Disjoining::getSource() const { return read_list_("source"); } +inline std::vector Disjoining::getTarget() const { return read_list_("target"); } +inline std::vector Disjoining::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Disjoining::getTypeDisjoined() const { return read_ref_("typeDisjoined"); } +inline std::optional Disjoining::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Disjoining::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Disjoining::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Disjoining::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Disjoining::path() const { return as_string_(call_("path", {})); } +inline std::vector Documentation::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Documentation::getAnnotatedElement() const { return read_list_("annotatedElement"); } +inline std::vector Documentation::getAnnotation() const { return read_list_("annotation"); } +inline std::optional Documentation::getBody() const { return read_string_("body"); } +inline std::optional Documentation::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Documentation::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Documentation::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Documentation::getDocumentedElement() const { return read_ref_("documentedElement"); } +inline std::optional Documentation::getElementId() const { return read_string_("elementId"); } +inline std::optional Documentation::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Documentation::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Documentation::getLocale() const { return read_string_("locale"); } +inline std::optional Documentation::getName() const { return read_string_("name"); } +inline std::vector Documentation::getOwnedAnnotatingRelationship() const { return read_list_("ownedAnnotatingRelationship"); } +inline std::vector Documentation::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Documentation::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Documentation::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Documentation::getOwner() const { return read_ref_("owner"); } +inline std::optional Documentation::getOwningAnnotatingRelationship() const { return read_ref_("owningAnnotatingRelationship"); } +inline std::optional Documentation::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Documentation::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Documentation::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Documentation::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Documentation::getShortName() const { return read_string_("shortName"); } +inline std::vector Documentation::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Documentation::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Documentation::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Documentation::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Documentation::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Documentation::path() const { return as_string_(call_("path", {})); } +inline std::vector ElementFilterMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ElementFilterMembership::getCondition() const { return read_ref_("condition"); } +inline std::optional ElementFilterMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ElementFilterMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ElementFilterMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ElementFilterMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ElementFilterMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ElementFilterMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ElementFilterMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ElementFilterMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ElementFilterMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ElementFilterMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ElementFilterMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ElementFilterMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ElementFilterMembership::getName() const { return read_string_("name"); } +inline std::vector ElementFilterMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ElementFilterMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ElementFilterMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ElementFilterMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ElementFilterMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ElementFilterMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector ElementFilterMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ElementFilterMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ElementFilterMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ElementFilterMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ElementFilterMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ElementFilterMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ElementFilterMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ElementFilterMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ElementFilterMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ElementFilterMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ElementFilterMembership::getSource() const { return read_list_("source"); } +inline std::vector ElementFilterMembership::getTarget() const { return read_list_("target"); } +inline std::vector ElementFilterMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ElementFilterMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ElementFilterMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ElementFilterMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ElementFilterMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ElementFilterMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ElementFilterMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ElementFilterMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector EndFeatureMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional EndFeatureMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional EndFeatureMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector EndFeatureMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional EndFeatureMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional EndFeatureMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional EndFeatureMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional EndFeatureMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional EndFeatureMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional EndFeatureMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional EndFeatureMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional EndFeatureMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional EndFeatureMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional EndFeatureMembership::getName() const { return read_string_("name"); } +inline std::vector EndFeatureMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector EndFeatureMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional EndFeatureMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional EndFeatureMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional EndFeatureMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional EndFeatureMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional EndFeatureMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector EndFeatureMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector EndFeatureMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional EndFeatureMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional EndFeatureMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional EndFeatureMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional EndFeatureMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional EndFeatureMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional EndFeatureMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional EndFeatureMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector EndFeatureMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional EndFeatureMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector EndFeatureMembership::getSource() const { return read_list_("source"); } +inline std::vector EndFeatureMembership::getTarget() const { return read_list_("target"); } +inline std::vector EndFeatureMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional EndFeatureMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional EndFeatureMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional EndFeatureMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional EndFeatureMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional EndFeatureMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional EndFeatureMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional EndFeatureMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector EnumerationDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional EnumerationDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional EnumerationDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector EnumerationDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector EnumerationDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector EnumerationDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector EnumerationDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional EnumerationDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector EnumerationDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector EnumerationDefinition::getEnumeratedValue() const { return read_list_("enumeratedValue"); } +inline std::vector EnumerationDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector EnumerationDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector EnumerationDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector EnumerationDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector EnumerationDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector EnumerationDefinition::getInput() const { return read_list_("input"); } +inline std::vector EnumerationDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional EnumerationDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional EnumerationDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional EnumerationDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional EnumerationDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional EnumerationDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional EnumerationDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector EnumerationDefinition::getMember() const { return read_list_("member"); } +inline std::vector EnumerationDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional EnumerationDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional EnumerationDefinition::getName() const { return read_string_("name"); } +inline std::vector EnumerationDefinition::getOutput() const { return read_list_("output"); } +inline std::vector EnumerationDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector EnumerationDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector EnumerationDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector EnumerationDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector EnumerationDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector EnumerationDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector EnumerationDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector EnumerationDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional EnumerationDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector EnumerationDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector EnumerationDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector EnumerationDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector EnumerationDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector EnumerationDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector EnumerationDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector EnumerationDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector EnumerationDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector EnumerationDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector EnumerationDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector EnumerationDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector EnumerationDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector EnumerationDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector EnumerationDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector EnumerationDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector EnumerationDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector EnumerationDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector EnumerationDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector EnumerationDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector EnumerationDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector EnumerationDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector EnumerationDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector EnumerationDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector EnumerationDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector EnumerationDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector EnumerationDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector EnumerationDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector EnumerationDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector EnumerationDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector EnumerationDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector EnumerationDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector EnumerationDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector EnumerationDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector EnumerationDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional EnumerationDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional EnumerationDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional EnumerationDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional EnumerationDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional EnumerationDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional EnumerationDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector EnumerationDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector EnumerationDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector EnumerationDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector EnumerationDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector EnumerationDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector EnumerationDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector EnumerationDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional EnumerationDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional EnumerationDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional EnumerationDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional EnumerationDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional EnumerationDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector EnumerationDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector EnumerationDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector EnumerationDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional EnumerationDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional EnumerationDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector EnumerationDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector EnumerationDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector EnumerationDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector EnumerationDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional EnumerationDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional EnumerationDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector EnumerationDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional EnumerationDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional EnumerationDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional EnumerationDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional EnumerationDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector EnumerationDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional EnumerationDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector EnumerationDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector EnumerationUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector EnumerationUsage::getAttributeDefinition() const { return read_list_("attributeDefinition"); } +inline std::vector EnumerationUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional EnumerationUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional EnumerationUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional EnumerationUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector EnumerationUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector EnumerationUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector EnumerationUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector EnumerationUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional EnumerationUsage::getDirection() const { return read_string_("direction"); } +inline std::vector EnumerationUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional EnumerationUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector EnumerationUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional EnumerationUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::optional EnumerationUsage::getEnumerationDefinition() const { return read_ref_("enumerationDefinition"); } +inline std::vector EnumerationUsage::getFeature() const { return read_list_("feature"); } +inline std::vector EnumerationUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional EnumerationUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector EnumerationUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector EnumerationUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector EnumerationUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector EnumerationUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector EnumerationUsage::getInput() const { return read_list_("input"); } +inline std::vector EnumerationUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional EnumerationUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional EnumerationUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional EnumerationUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional EnumerationUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional EnumerationUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional EnumerationUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional EnumerationUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional EnumerationUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional EnumerationUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional EnumerationUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional EnumerationUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional EnumerationUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional EnumerationUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional EnumerationUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional EnumerationUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional EnumerationUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector EnumerationUsage::getMember() const { return read_list_("member"); } +inline std::vector EnumerationUsage::getMembership() const { return read_list_("membership"); } +inline std::optional EnumerationUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional EnumerationUsage::getName() const { return read_string_("name"); } +inline std::vector EnumerationUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector EnumerationUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector EnumerationUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector EnumerationUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector EnumerationUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector EnumerationUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector EnumerationUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector EnumerationUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector EnumerationUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector EnumerationUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector EnumerationUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector EnumerationUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector EnumerationUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector EnumerationUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector EnumerationUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector EnumerationUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector EnumerationUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector EnumerationUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector EnumerationUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector EnumerationUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector EnumerationUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector EnumerationUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector EnumerationUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector EnumerationUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector EnumerationUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector EnumerationUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector EnumerationUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector EnumerationUsage::getOutput() const { return read_list_("output"); } +inline std::vector EnumerationUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional EnumerationUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional EnumerationUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector EnumerationUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector EnumerationUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector EnumerationUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector EnumerationUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector EnumerationUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector EnumerationUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector EnumerationUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector EnumerationUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector EnumerationUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector EnumerationUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector EnumerationUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector EnumerationUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector EnumerationUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional EnumerationUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector EnumerationUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector EnumerationUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector EnumerationUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector EnumerationUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector EnumerationUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector EnumerationUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional EnumerationUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional EnumerationUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional EnumerationUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional EnumerationUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional EnumerationUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional EnumerationUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional EnumerationUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional EnumerationUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional EnumerationUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional EnumerationUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector EnumerationUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector EnumerationUsage::getType() const { return read_list_("type"); } +inline std::vector EnumerationUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector EnumerationUsage::getUsage() const { return read_list_("usage"); } +inline std::vector EnumerationUsage::getVariant() const { return read_list_("variant"); } +inline std::vector EnumerationUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector EnumerationUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector EnumerationUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector EnumerationUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector EnumerationUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional EnumerationUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional EnumerationUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional EnumerationUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional EnumerationUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional EnumerationUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional EnumerationUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional EnumerationUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector EnumerationUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector EnumerationUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector EnumerationUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional EnumerationUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional EnumerationUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional EnumerationUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional EnumerationUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional EnumerationUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional EnumerationUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector EnumerationUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector EnumerationUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector EnumerationUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional EnumerationUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector EnumerationUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional EnumerationUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional EnumerationUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional EnumerationUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional EnumerationUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional EnumerationUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector EnumerationUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional EnumerationUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional EnumerationUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional EnumerationUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional EnumerationUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional EnumerationUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector EnumerationUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector EnumerationUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional EnumerationUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional EnumerationUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector EnumerationUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector EventOccurrenceUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector EventOccurrenceUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional EventOccurrenceUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional EventOccurrenceUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional EventOccurrenceUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector EventOccurrenceUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector EventOccurrenceUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector EventOccurrenceUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector EventOccurrenceUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional EventOccurrenceUsage::getDirection() const { return read_string_("direction"); } +inline std::vector EventOccurrenceUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional EventOccurrenceUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector EventOccurrenceUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional EventOccurrenceUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::optional EventOccurrenceUsage::getEventOccurrence() const { return read_ref_("eventOccurrence"); } +inline std::vector EventOccurrenceUsage::getFeature() const { return read_list_("feature"); } +inline std::vector EventOccurrenceUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional EventOccurrenceUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector EventOccurrenceUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector EventOccurrenceUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional EventOccurrenceUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector EventOccurrenceUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector EventOccurrenceUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector EventOccurrenceUsage::getInput() const { return read_list_("input"); } +inline std::vector EventOccurrenceUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional EventOccurrenceUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional EventOccurrenceUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional EventOccurrenceUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional EventOccurrenceUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional EventOccurrenceUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional EventOccurrenceUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional EventOccurrenceUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional EventOccurrenceUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional EventOccurrenceUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional EventOccurrenceUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional EventOccurrenceUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional EventOccurrenceUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional EventOccurrenceUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional EventOccurrenceUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional EventOccurrenceUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional EventOccurrenceUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional EventOccurrenceUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector EventOccurrenceUsage::getMember() const { return read_list_("member"); } +inline std::vector EventOccurrenceUsage::getMembership() const { return read_list_("membership"); } +inline std::optional EventOccurrenceUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional EventOccurrenceUsage::getName() const { return read_string_("name"); } +inline std::vector EventOccurrenceUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector EventOccurrenceUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector EventOccurrenceUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector EventOccurrenceUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector EventOccurrenceUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector EventOccurrenceUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector EventOccurrenceUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector EventOccurrenceUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector EventOccurrenceUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector EventOccurrenceUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector EventOccurrenceUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector EventOccurrenceUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector EventOccurrenceUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector EventOccurrenceUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector EventOccurrenceUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector EventOccurrenceUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector EventOccurrenceUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector EventOccurrenceUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector EventOccurrenceUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector EventOccurrenceUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector EventOccurrenceUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector EventOccurrenceUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector EventOccurrenceUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector EventOccurrenceUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector EventOccurrenceUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector EventOccurrenceUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector EventOccurrenceUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector EventOccurrenceUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector EventOccurrenceUsage::getOutput() const { return read_list_("output"); } +inline std::vector EventOccurrenceUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional EventOccurrenceUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional EventOccurrenceUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector EventOccurrenceUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector EventOccurrenceUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector EventOccurrenceUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector EventOccurrenceUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector EventOccurrenceUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector EventOccurrenceUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector EventOccurrenceUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector EventOccurrenceUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector EventOccurrenceUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector EventOccurrenceUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector EventOccurrenceUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector EventOccurrenceUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector EventOccurrenceUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional EventOccurrenceUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector EventOccurrenceUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector EventOccurrenceUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector EventOccurrenceUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector EventOccurrenceUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector EventOccurrenceUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector EventOccurrenceUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional EventOccurrenceUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional EventOccurrenceUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional EventOccurrenceUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional EventOccurrenceUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional EventOccurrenceUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional EventOccurrenceUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional EventOccurrenceUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional EventOccurrenceUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional EventOccurrenceUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional EventOccurrenceUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional EventOccurrenceUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector EventOccurrenceUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector EventOccurrenceUsage::getType() const { return read_list_("type"); } +inline std::vector EventOccurrenceUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector EventOccurrenceUsage::getUsage() const { return read_list_("usage"); } +inline std::vector EventOccurrenceUsage::getVariant() const { return read_list_("variant"); } +inline std::vector EventOccurrenceUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector EventOccurrenceUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector EventOccurrenceUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector EventOccurrenceUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector EventOccurrenceUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional EventOccurrenceUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional EventOccurrenceUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional EventOccurrenceUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional EventOccurrenceUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional EventOccurrenceUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional EventOccurrenceUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional EventOccurrenceUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector EventOccurrenceUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector EventOccurrenceUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector EventOccurrenceUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional EventOccurrenceUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional EventOccurrenceUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional EventOccurrenceUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional EventOccurrenceUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional EventOccurrenceUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional EventOccurrenceUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector EventOccurrenceUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector EventOccurrenceUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector EventOccurrenceUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional EventOccurrenceUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector EventOccurrenceUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional EventOccurrenceUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional EventOccurrenceUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional EventOccurrenceUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional EventOccurrenceUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional EventOccurrenceUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional EventOccurrenceUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector EventOccurrenceUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional EventOccurrenceUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional EventOccurrenceUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional EventOccurrenceUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional EventOccurrenceUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional EventOccurrenceUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional EventOccurrenceUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional EventOccurrenceUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector EventOccurrenceUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector EventOccurrenceUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional EventOccurrenceUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional EventOccurrenceUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector EventOccurrenceUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector PerformActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector PerformActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector PerformActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector PerformActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional PerformActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional PerformActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PerformActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PerformActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector PerformActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector PerformActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector PerformActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional PerformActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector PerformActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PerformActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector PerformActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional PerformActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::optional PerformActionUsage::getEventOccurrence() const { return read_ref_("eventOccurrence"); } +inline std::vector PerformActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector PerformActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional PerformActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector PerformActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector PerformActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional PerformActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector PerformActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector PerformActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector PerformActionUsage::getInput() const { return read_list_("input"); } +inline std::vector PerformActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional PerformActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional PerformActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional PerformActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional PerformActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional PerformActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional PerformActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional PerformActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PerformActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional PerformActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PerformActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional PerformActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional PerformActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional PerformActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional PerformActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional PerformActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional PerformActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional PerformActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector PerformActionUsage::getMember() const { return read_list_("member"); } +inline std::vector PerformActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional PerformActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional PerformActionUsage::getName() const { return read_string_("name"); } +inline std::vector PerformActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector PerformActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector PerformActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector PerformActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector PerformActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector PerformActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector PerformActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector PerformActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector PerformActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector PerformActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector PerformActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector PerformActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector PerformActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector PerformActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector PerformActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector PerformActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector PerformActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector PerformActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector PerformActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector PerformActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector PerformActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector PerformActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector PerformActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector PerformActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector PerformActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector PerformActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector PerformActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector PerformActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector PerformActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector PerformActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional PerformActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional PerformActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector PerformActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector PerformActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector PerformActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PerformActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector PerformActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector PerformActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector PerformActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector PerformActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector PerformActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector PerformActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector PerformActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector PerformActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector PerformActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional PerformActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector PerformActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector PerformActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector PerformActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector PerformActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector PerformActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector PerformActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional PerformActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional PerformActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional PerformActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional PerformActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PerformActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PerformActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PerformActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional PerformActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector PerformActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional PerformActionUsage::getPerformedAction() const { return read_ref_("performedAction"); } +inline std::optional PerformActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional PerformActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional PerformActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector PerformActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector PerformActionUsage::getType() const { return read_list_("type"); } +inline std::vector PerformActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector PerformActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector PerformActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector PerformActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector PerformActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector PerformActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector PerformActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional PerformActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector PerformActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional PerformActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional PerformActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional PerformActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional PerformActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional PerformActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PerformActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PerformActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector PerformActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector PerformActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector PerformActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PerformActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector PerformActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional PerformActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional PerformActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional PerformActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional PerformActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional PerformActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional PerformActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional PerformActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector PerformActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector PerformActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector PerformActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional PerformActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector PerformActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PerformActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional PerformActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional PerformActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional PerformActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional PerformActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional PerformActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector PerformActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional PerformActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional PerformActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional PerformActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional PerformActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional PerformActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional PerformActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional PerformActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector PerformActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector PerformActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional PerformActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional PerformActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector PerformActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector StateUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector StateUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector StateUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector StateUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional StateUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional StateUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional StateUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector StateUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector StateUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector StateUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector StateUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional StateUsage::getDirection() const { return read_string_("direction"); } +inline std::optional StateUsage::getDoAction() const { return read_ref_("doAction"); } +inline std::vector StateUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional StateUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector StateUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional StateUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::optional StateUsage::getEntryAction() const { return read_ref_("entryAction"); } +inline std::optional StateUsage::getExitAction() const { return read_ref_("exitAction"); } +inline std::vector StateUsage::getFeature() const { return read_list_("feature"); } +inline std::vector StateUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional StateUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector StateUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector StateUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional StateUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector StateUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector StateUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector StateUsage::getInput() const { return read_list_("input"); } +inline std::vector StateUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional StateUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional StateUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional StateUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional StateUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional StateUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional StateUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional StateUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional StateUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional StateUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional StateUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional StateUsage::getIsParallel() const { return read_bool_("isParallel"); } +inline std::optional StateUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional StateUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional StateUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional StateUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional StateUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional StateUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional StateUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector StateUsage::getMember() const { return read_list_("member"); } +inline std::vector StateUsage::getMembership() const { return read_list_("membership"); } +inline std::optional StateUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional StateUsage::getName() const { return read_string_("name"); } +inline std::vector StateUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector StateUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector StateUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector StateUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector StateUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector StateUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector StateUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector StateUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector StateUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector StateUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector StateUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector StateUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector StateUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector StateUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector StateUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector StateUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector StateUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector StateUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector StateUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector StateUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector StateUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector StateUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector StateUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector StateUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector StateUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector StateUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector StateUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector StateUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector StateUsage::getOutput() const { return read_list_("output"); } +inline std::vector StateUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional StateUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional StateUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector StateUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector StateUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector StateUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector StateUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector StateUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector StateUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector StateUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector StateUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector StateUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector StateUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector StateUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector StateUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector StateUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional StateUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector StateUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector StateUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector StateUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector StateUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector StateUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector StateUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional StateUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional StateUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional StateUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional StateUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional StateUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional StateUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional StateUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional StateUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector StateUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional StateUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional StateUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional StateUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector StateUsage::getStateDefinition() const { return read_list_("stateDefinition"); } +inline std::vector StateUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector StateUsage::getType() const { return read_list_("type"); } +inline std::vector StateUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector StateUsage::getUsage() const { return read_list_("usage"); } +inline std::vector StateUsage::getVariant() const { return read_list_("variant"); } +inline std::vector StateUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector StateUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector StateUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector StateUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional StateUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector StateUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional StateUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional StateUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional StateUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional StateUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional StateUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional StateUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional StateUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector StateUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector StateUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector StateUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional StateUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector StateUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional StateUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional StateUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional StateUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional StateUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional StateUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional StateUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional StateUsage::isSubstateUsage(const std::optional& isParallel) const { return as_bool_(call_("isSubstateUsage", {detail::arg(isParallel)})); } +inline std::optional StateUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector StateUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector StateUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector StateUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional StateUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector StateUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional StateUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional StateUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional StateUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional StateUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional StateUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional StateUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector StateUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional StateUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional StateUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional StateUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional StateUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional StateUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional StateUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional StateUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector StateUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector StateUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional StateUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional StateUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector StateUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ExhibitStateUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector ExhibitStateUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ExhibitStateUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector ExhibitStateUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ExhibitStateUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ExhibitStateUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ExhibitStateUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ExhibitStateUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ExhibitStateUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ExhibitStateUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ExhibitStateUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ExhibitStateUsage::getDirection() const { return read_string_("direction"); } +inline std::optional ExhibitStateUsage::getDoAction() const { return read_ref_("doAction"); } +inline std::vector ExhibitStateUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ExhibitStateUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ExhibitStateUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ExhibitStateUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::optional ExhibitStateUsage::getEntryAction() const { return read_ref_("entryAction"); } +inline std::optional ExhibitStateUsage::getEventOccurrence() const { return read_ref_("eventOccurrence"); } +inline std::optional ExhibitStateUsage::getExhibitedState() const { return read_ref_("exhibitedState"); } +inline std::optional ExhibitStateUsage::getExitAction() const { return read_ref_("exitAction"); } +inline std::vector ExhibitStateUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ExhibitStateUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ExhibitStateUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ExhibitStateUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ExhibitStateUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ExhibitStateUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ExhibitStateUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ExhibitStateUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ExhibitStateUsage::getInput() const { return read_list_("input"); } +inline std::vector ExhibitStateUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ExhibitStateUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ExhibitStateUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ExhibitStateUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ExhibitStateUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ExhibitStateUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ExhibitStateUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ExhibitStateUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ExhibitStateUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ExhibitStateUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ExhibitStateUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ExhibitStateUsage::getIsParallel() const { return read_bool_("isParallel"); } +inline std::optional ExhibitStateUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ExhibitStateUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ExhibitStateUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ExhibitStateUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ExhibitStateUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ExhibitStateUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ExhibitStateUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ExhibitStateUsage::getMember() const { return read_list_("member"); } +inline std::vector ExhibitStateUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ExhibitStateUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ExhibitStateUsage::getName() const { return read_string_("name"); } +inline std::vector ExhibitStateUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ExhibitStateUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ExhibitStateUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ExhibitStateUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ExhibitStateUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ExhibitStateUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ExhibitStateUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ExhibitStateUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ExhibitStateUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ExhibitStateUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ExhibitStateUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ExhibitStateUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ExhibitStateUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ExhibitStateUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ExhibitStateUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ExhibitStateUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ExhibitStateUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ExhibitStateUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ExhibitStateUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ExhibitStateUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ExhibitStateUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ExhibitStateUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ExhibitStateUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ExhibitStateUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ExhibitStateUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ExhibitStateUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ExhibitStateUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ExhibitStateUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ExhibitStateUsage::getOutput() const { return read_list_("output"); } +inline std::vector ExhibitStateUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ExhibitStateUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ExhibitStateUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ExhibitStateUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ExhibitStateUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ExhibitStateUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ExhibitStateUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ExhibitStateUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ExhibitStateUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ExhibitStateUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ExhibitStateUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ExhibitStateUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ExhibitStateUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ExhibitStateUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ExhibitStateUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ExhibitStateUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ExhibitStateUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ExhibitStateUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ExhibitStateUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ExhibitStateUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ExhibitStateUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ExhibitStateUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ExhibitStateUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ExhibitStateUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ExhibitStateUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ExhibitStateUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ExhibitStateUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ExhibitStateUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ExhibitStateUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ExhibitStateUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ExhibitStateUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ExhibitStateUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional ExhibitStateUsage::getPerformedAction() const { return read_ref_("performedAction"); } +inline std::optional ExhibitStateUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ExhibitStateUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ExhibitStateUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ExhibitStateUsage::getStateDefinition() const { return read_list_("stateDefinition"); } +inline std::vector ExhibitStateUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ExhibitStateUsage::getType() const { return read_list_("type"); } +inline std::vector ExhibitStateUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ExhibitStateUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ExhibitStateUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ExhibitStateUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ExhibitStateUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ExhibitStateUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ExhibitStateUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ExhibitStateUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector ExhibitStateUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ExhibitStateUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ExhibitStateUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ExhibitStateUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ExhibitStateUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ExhibitStateUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ExhibitStateUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ExhibitStateUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ExhibitStateUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ExhibitStateUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ExhibitStateUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ExhibitStateUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector ExhibitStateUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional ExhibitStateUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ExhibitStateUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ExhibitStateUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ExhibitStateUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ExhibitStateUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ExhibitStateUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional ExhibitStateUsage::isSubstateUsage(const std::optional& isParallel) const { return as_bool_(call_("isSubstateUsage", {detail::arg(isParallel)})); } +inline std::optional ExhibitStateUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ExhibitStateUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ExhibitStateUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ExhibitStateUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ExhibitStateUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ExhibitStateUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ExhibitStateUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ExhibitStateUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ExhibitStateUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ExhibitStateUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ExhibitStateUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ExhibitStateUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ExhibitStateUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ExhibitStateUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ExhibitStateUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ExhibitStateUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ExhibitStateUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ExhibitStateUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ExhibitStateUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ExhibitStateUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ExhibitStateUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ExhibitStateUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ExhibitStateUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ExhibitStateUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ExhibitStateUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Import::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Import::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Import::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Import::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Import::getElementId() const { return read_string_("elementId"); } +inline std::optional Import::getImportOwningNamespace() const { return read_ref_("importOwningNamespace"); } +inline std::optional Import::getImportedElement() const { return read_ref_("importedElement"); } +inline std::optional Import::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Import::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Import::getIsImportAll() const { return read_bool_("isImportAll"); } +inline std::optional Import::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Import::getIsRecursive() const { return read_bool_("isRecursive"); } +inline std::optional Import::getName() const { return read_string_("name"); } +inline std::vector Import::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Import::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Import::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Import::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Import::getOwner() const { return read_ref_("owner"); } +inline std::optional Import::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Import::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Import::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Import::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Import::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Import::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Import::getShortName() const { return read_string_("shortName"); } +inline std::vector Import::getSource() const { return read_list_("source"); } +inline std::vector Import::getTarget() const { return read_list_("target"); } +inline std::vector Import::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Import::getVisibility() const { return read_string_("visibility"); } +inline std::optional Import::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Import::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Import::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Import::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional Import::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Import::path() const { return as_string_(call_("path", {})); } +inline std::vector Expose::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Expose::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Expose::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Expose::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Expose::getElementId() const { return read_string_("elementId"); } +inline std::optional Expose::getImportOwningNamespace() const { return read_ref_("importOwningNamespace"); } +inline std::optional Expose::getImportedElement() const { return read_ref_("importedElement"); } +inline std::optional Expose::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Expose::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Expose::getIsImportAll() const { return read_bool_("isImportAll"); } +inline std::optional Expose::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Expose::getIsRecursive() const { return read_bool_("isRecursive"); } +inline std::optional Expose::getName() const { return read_string_("name"); } +inline std::vector Expose::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Expose::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Expose::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Expose::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Expose::getOwner() const { return read_ref_("owner"); } +inline std::optional Expose::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Expose::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Expose::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Expose::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Expose::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Expose::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Expose::getShortName() const { return read_string_("shortName"); } +inline std::vector Expose::getSource() const { return read_list_("source"); } +inline std::vector Expose::getTarget() const { return read_list_("target"); } +inline std::vector Expose::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Expose::getVisibility() const { return read_string_("visibility"); } +inline std::optional Expose::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Expose::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Expose::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Expose::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional Expose::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Expose::path() const { return as_string_(call_("path", {})); } +inline std::vector FeatureChainExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector FeatureChainExpression::getArgument() const { return read_list_("argument"); } +inline std::vector FeatureChainExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector FeatureChainExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional FeatureChainExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional FeatureChainExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureChainExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureChainExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector FeatureChainExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional FeatureChainExpression::getDirection() const { return read_string_("direction"); } +inline std::vector FeatureChainExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureChainExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector FeatureChainExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional FeatureChainExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector FeatureChainExpression::getFeature() const { return read_list_("feature"); } +inline std::vector FeatureChainExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional FeatureChainExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector FeatureChainExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional FeatureChainExpression::getFunction() const { return read_ref_("function"); } +inline std::vector FeatureChainExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector FeatureChainExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector FeatureChainExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector FeatureChainExpression::getInput() const { return read_list_("input"); } +inline std::optional FeatureChainExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector FeatureChainExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional FeatureChainExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional FeatureChainExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional FeatureChainExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional FeatureChainExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional FeatureChainExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional FeatureChainExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional FeatureChainExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureChainExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureChainExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional FeatureChainExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional FeatureChainExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional FeatureChainExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional FeatureChainExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional FeatureChainExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector FeatureChainExpression::getMember() const { return read_list_("member"); } +inline std::vector FeatureChainExpression::getMembership() const { return read_list_("membership"); } +inline std::optional FeatureChainExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional FeatureChainExpression::getName() const { return read_string_("name"); } +inline std::optional FeatureChainExpression::getOperator() const { return read_string_("operator"); } +inline std::vector FeatureChainExpression::getOutput() const { return read_list_("output"); } +inline std::vector FeatureChainExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional FeatureChainExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional FeatureChainExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector FeatureChainExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector FeatureChainExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector FeatureChainExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FeatureChainExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector FeatureChainExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector FeatureChainExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector FeatureChainExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector FeatureChainExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector FeatureChainExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector FeatureChainExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector FeatureChainExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector FeatureChainExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector FeatureChainExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional FeatureChainExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector FeatureChainExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector FeatureChainExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector FeatureChainExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector FeatureChainExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector FeatureChainExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector FeatureChainExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional FeatureChainExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureChainExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional FeatureChainExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureChainExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureChainExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureChainExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector FeatureChainExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional FeatureChainExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional FeatureChainExpression::getResult() const { return read_ref_("result"); } +inline std::optional FeatureChainExpression::getShortName() const { return read_string_("shortName"); } +inline std::optional FeatureChainExpression::getTargetFeature() const { return read_ref_("targetFeature"); } +inline std::vector FeatureChainExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector FeatureChainExpression::getType() const { return read_list_("type"); } +inline std::vector FeatureChainExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector FeatureChainExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector FeatureChainExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector FeatureChainExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector FeatureChainExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional FeatureChainExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional FeatureChainExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional FeatureChainExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional FeatureChainExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional FeatureChainExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional FeatureChainExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureChainExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureChainExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector FeatureChainExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector FeatureChainExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector FeatureChainExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector FeatureChainExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FeatureChainExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional FeatureChainExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional FeatureChainExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional FeatureChainExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional FeatureChainExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional FeatureChainExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional FeatureChainExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector FeatureChainExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional FeatureChainExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector FeatureChainExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector FeatureChainExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional FeatureChainExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector FeatureChainExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FeatureChainExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional FeatureChainExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional FeatureChainExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional FeatureChainExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional FeatureChainExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector FeatureChainExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional FeatureChainExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional FeatureChainExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional FeatureChainExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional FeatureChainExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional FeatureChainExpression::sourceTargetFeature() const { return as_ref_(call_("sourceTargetFeature", {})); } +inline std::optional FeatureChainExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional FeatureChainExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional FeatureChainExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector FeatureChainExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector FeatureChainExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional FeatureChainExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional FeatureChainExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector FeatureChainExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector FeatureChaining::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional FeatureChaining::getChainingFeature() const { return read_ref_("chainingFeature"); } +inline std::optional FeatureChaining::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureChaining::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureChaining::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureChaining::getElementId() const { return read_string_("elementId"); } +inline std::optional FeatureChaining::getFeatureChained() const { return read_ref_("featureChained"); } +inline std::optional FeatureChaining::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FeatureChaining::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureChaining::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureChaining::getName() const { return read_string_("name"); } +inline std::vector FeatureChaining::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector FeatureChaining::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FeatureChaining::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FeatureChaining::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional FeatureChaining::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureChaining::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureChaining::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureChaining::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FeatureChaining::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureChaining::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FeatureChaining::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional FeatureChaining::getShortName() const { return read_string_("shortName"); } +inline std::vector FeatureChaining::getSource() const { return read_list_("source"); } +inline std::vector FeatureChaining::getTarget() const { return read_list_("target"); } +inline std::vector FeatureChaining::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional FeatureChaining::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureChaining::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureChaining::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional FeatureChaining::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional FeatureChaining::path() const { return as_string_(call_("path", {})); } +inline std::vector FeatureInverting::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional FeatureInverting::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureInverting::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureInverting::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureInverting::getElementId() const { return read_string_("elementId"); } +inline std::optional FeatureInverting::getFeatureInverted() const { return read_ref_("featureInverted"); } +inline std::optional FeatureInverting::getInvertingFeature() const { return read_ref_("invertingFeature"); } +inline std::optional FeatureInverting::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FeatureInverting::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureInverting::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureInverting::getName() const { return read_string_("name"); } +inline std::vector FeatureInverting::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector FeatureInverting::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FeatureInverting::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FeatureInverting::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional FeatureInverting::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureInverting::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional FeatureInverting::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureInverting::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureInverting::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FeatureInverting::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureInverting::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FeatureInverting::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional FeatureInverting::getShortName() const { return read_string_("shortName"); } +inline std::vector FeatureInverting::getSource() const { return read_list_("source"); } +inline std::vector FeatureInverting::getTarget() const { return read_list_("target"); } +inline std::vector FeatureInverting::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional FeatureInverting::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureInverting::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureInverting::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional FeatureInverting::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional FeatureInverting::path() const { return as_string_(call_("path", {})); } +inline std::vector FeatureReferenceExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector FeatureReferenceExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector FeatureReferenceExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional FeatureReferenceExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional FeatureReferenceExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureReferenceExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureReferenceExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector FeatureReferenceExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional FeatureReferenceExpression::getDirection() const { return read_string_("direction"); } +inline std::vector FeatureReferenceExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureReferenceExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector FeatureReferenceExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional FeatureReferenceExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector FeatureReferenceExpression::getFeature() const { return read_list_("feature"); } +inline std::vector FeatureReferenceExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional FeatureReferenceExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector FeatureReferenceExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional FeatureReferenceExpression::getFunction() const { return read_ref_("function"); } +inline std::vector FeatureReferenceExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector FeatureReferenceExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector FeatureReferenceExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector FeatureReferenceExpression::getInput() const { return read_list_("input"); } +inline std::vector FeatureReferenceExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional FeatureReferenceExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional FeatureReferenceExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional FeatureReferenceExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional FeatureReferenceExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional FeatureReferenceExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional FeatureReferenceExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional FeatureReferenceExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureReferenceExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureReferenceExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional FeatureReferenceExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional FeatureReferenceExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional FeatureReferenceExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional FeatureReferenceExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional FeatureReferenceExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector FeatureReferenceExpression::getMember() const { return read_list_("member"); } +inline std::vector FeatureReferenceExpression::getMembership() const { return read_list_("membership"); } +inline std::optional FeatureReferenceExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional FeatureReferenceExpression::getName() const { return read_string_("name"); } +inline std::vector FeatureReferenceExpression::getOutput() const { return read_list_("output"); } +inline std::vector FeatureReferenceExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional FeatureReferenceExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional FeatureReferenceExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector FeatureReferenceExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector FeatureReferenceExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector FeatureReferenceExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FeatureReferenceExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector FeatureReferenceExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector FeatureReferenceExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector FeatureReferenceExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector FeatureReferenceExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector FeatureReferenceExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector FeatureReferenceExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector FeatureReferenceExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector FeatureReferenceExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector FeatureReferenceExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional FeatureReferenceExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector FeatureReferenceExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector FeatureReferenceExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector FeatureReferenceExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector FeatureReferenceExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector FeatureReferenceExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector FeatureReferenceExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional FeatureReferenceExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureReferenceExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional FeatureReferenceExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureReferenceExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureReferenceExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureReferenceExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector FeatureReferenceExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional FeatureReferenceExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional FeatureReferenceExpression::getReferent() const { return read_ref_("referent"); } +inline std::optional FeatureReferenceExpression::getResult() const { return read_ref_("result"); } +inline std::optional FeatureReferenceExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector FeatureReferenceExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector FeatureReferenceExpression::getType() const { return read_list_("type"); } +inline std::vector FeatureReferenceExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector FeatureReferenceExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector FeatureReferenceExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector FeatureReferenceExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector FeatureReferenceExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional FeatureReferenceExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional FeatureReferenceExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional FeatureReferenceExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional FeatureReferenceExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional FeatureReferenceExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional FeatureReferenceExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureReferenceExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureReferenceExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector FeatureReferenceExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector FeatureReferenceExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector FeatureReferenceExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector FeatureReferenceExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FeatureReferenceExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional FeatureReferenceExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional FeatureReferenceExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional FeatureReferenceExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional FeatureReferenceExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional FeatureReferenceExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector FeatureReferenceExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional FeatureReferenceExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector FeatureReferenceExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector FeatureReferenceExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional FeatureReferenceExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector FeatureReferenceExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FeatureReferenceExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional FeatureReferenceExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional FeatureReferenceExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional FeatureReferenceExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional FeatureReferenceExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector FeatureReferenceExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional FeatureReferenceExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional FeatureReferenceExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional FeatureReferenceExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional FeatureReferenceExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional FeatureReferenceExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional FeatureReferenceExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional FeatureReferenceExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector FeatureReferenceExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector FeatureReferenceExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional FeatureReferenceExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional FeatureReferenceExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector FeatureReferenceExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector FeatureValue::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional FeatureValue::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FeatureValue::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FeatureValue::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FeatureValue::getElementId() const { return read_string_("elementId"); } +inline std::optional FeatureValue::getFeatureWithValue() const { return read_ref_("featureWithValue"); } +inline std::optional FeatureValue::getIsDefault() const { return read_bool_("isDefault"); } +inline std::optional FeatureValue::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FeatureValue::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FeatureValue::getIsInitial() const { return read_bool_("isInitial"); } +inline std::optional FeatureValue::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FeatureValue::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional FeatureValue::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional FeatureValue::getMemberName() const { return read_string_("memberName"); } +inline std::optional FeatureValue::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional FeatureValue::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional FeatureValue::getName() const { return read_string_("name"); } +inline std::vector FeatureValue::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector FeatureValue::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional FeatureValue::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional FeatureValue::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional FeatureValue::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional FeatureValue::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector FeatureValue::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FeatureValue::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional FeatureValue::getOwner() const { return read_ref_("owner"); } +inline std::optional FeatureValue::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FeatureValue::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FeatureValue::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FeatureValue::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FeatureValue::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FeatureValue::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional FeatureValue::getShortName() const { return read_string_("shortName"); } +inline std::vector FeatureValue::getSource() const { return read_list_("source"); } +inline std::vector FeatureValue::getTarget() const { return read_list_("target"); } +inline std::vector FeatureValue::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional FeatureValue::getValue() const { return read_ref_("value"); } +inline std::optional FeatureValue::getVisibility() const { return read_string_("visibility"); } +inline std::optional FeatureValue::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FeatureValue::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FeatureValue::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional FeatureValue::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional FeatureValue::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional FeatureValue::path() const { return as_string_(call_("path", {})); } +inline std::vector Flow::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Flow::getAssociation() const { return read_list_("association"); } +inline std::vector Flow::getBehavior() const { return read_list_("behavior"); } +inline std::vector Flow::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector Flow::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional Flow::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Flow::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Flow::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional Flow::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector Flow::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Flow::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Flow::getDirection() const { return read_string_("direction"); } +inline std::vector Flow::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Flow::getElementId() const { return read_string_("elementId"); } +inline std::vector Flow::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Flow::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Flow::getFeature() const { return read_list_("feature"); } +inline std::vector Flow::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Flow::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Flow::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Flow::getFlowEnd() const { return read_list_("flowEnd"); } +inline std::vector Flow::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Flow::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Flow::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Flow::getInput() const { return read_list_("input"); } +inline std::vector Flow::getInteraction() const { return read_list_("interaction"); } +inline std::vector Flow::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Flow::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Flow::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Flow::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Flow::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Flow::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Flow::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Flow::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Flow::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Flow::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Flow::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Flow::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Flow::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Flow::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Flow::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Flow::getMember() const { return read_list_("member"); } +inline std::vector Flow::getMembership() const { return read_list_("membership"); } +inline std::optional Flow::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Flow::getName() const { return read_string_("name"); } +inline std::vector Flow::getOutput() const { return read_list_("output"); } +inline std::vector Flow::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Flow::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Flow::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Flow::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Flow::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Flow::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Flow::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Flow::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Flow::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Flow::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Flow::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Flow::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Flow::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Flow::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Flow::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Flow::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Flow::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Flow::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Flow::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Flow::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Flow::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Flow::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Flow::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Flow::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Flow::getOwner() const { return read_ref_("owner"); } +inline std::optional Flow::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Flow::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Flow::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Flow::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Flow::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Flow::getOwningType() const { return read_ref_("owningType"); } +inline std::vector Flow::getParameter() const { return read_list_("parameter"); } +inline std::optional Flow::getPayloadFeature() const { return read_ref_("payloadFeature"); } +inline std::vector Flow::getPayloadType() const { return read_list_("payloadType"); } +inline std::optional Flow::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Flow::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector Flow::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional Flow::getShortName() const { return read_string_("shortName"); } +inline std::vector Flow::getSource() const { return read_list_("source"); } +inline std::optional Flow::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::optional Flow::getSourceOutputFeature() const { return read_ref_("sourceOutputFeature"); } +inline std::vector Flow::getTarget() const { return read_list_("target"); } +inline std::vector Flow::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::optional Flow::getTargetInputFeature() const { return read_ref_("targetInputFeature"); } +inline std::vector Flow::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Flow::getType() const { return read_list_("type"); } +inline std::vector Flow::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Flow::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Flow::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Flow::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Flow::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Flow::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Flow::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Flow::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Flow::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Flow::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Flow::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Flow::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Flow::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Flow::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Flow::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Flow::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Flow::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Flow::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Flow::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Flow::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Flow::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Flow::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Flow::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Flow::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Flow::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Flow::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Flow::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Flow::path() const { return as_string_(call_("path", {})); } +inline std::optional Flow::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Flow::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Flow::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Flow::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Flow::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Flow::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Flow::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Flow::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Flow::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Flow::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Flow::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Flow::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Flow::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Flow::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Flow::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Flow::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Interaction::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Interaction::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::optional Interaction::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Interaction::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Interaction::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Interaction::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Interaction::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Interaction::getElementId() const { return read_string_("elementId"); } +inline std::vector Interaction::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Interaction::getFeature() const { return read_list_("feature"); } +inline std::vector Interaction::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Interaction::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Interaction::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Interaction::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Interaction::getInput() const { return read_list_("input"); } +inline std::vector Interaction::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Interaction::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Interaction::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Interaction::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Interaction::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Interaction::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Interaction::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Interaction::getMember() const { return read_list_("member"); } +inline std::vector Interaction::getMembership() const { return read_list_("membership"); } +inline std::optional Interaction::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Interaction::getName() const { return read_string_("name"); } +inline std::vector Interaction::getOutput() const { return read_list_("output"); } +inline std::vector Interaction::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Interaction::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Interaction::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Interaction::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Interaction::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Interaction::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Interaction::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Interaction::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Interaction::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Interaction::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Interaction::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Interaction::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Interaction::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Interaction::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Interaction::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Interaction::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Interaction::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Interaction::getOwner() const { return read_ref_("owner"); } +inline std::optional Interaction::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Interaction::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Interaction::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Interaction::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector Interaction::getParameter() const { return read_list_("parameter"); } +inline std::optional Interaction::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Interaction::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector Interaction::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional Interaction::getShortName() const { return read_string_("shortName"); } +inline std::vector Interaction::getSource() const { return read_list_("source"); } +inline std::optional Interaction::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector Interaction::getStep() const { return read_list_("step"); } +inline std::vector Interaction::getTarget() const { return read_list_("target"); } +inline std::vector Interaction::getTargetType() const { return read_list_("targetType"); } +inline std::vector Interaction::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Interaction::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Interaction::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Interaction::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Interaction::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Interaction::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Interaction::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Interaction::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Interaction::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Interaction::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Interaction::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Interaction::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Interaction::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Interaction::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Interaction::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Interaction::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Interaction::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Interaction::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Interaction::path() const { return as_string_(call_("path", {})); } +inline std::optional Interaction::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Interaction::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Interaction::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Interaction::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Interaction::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Interaction::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Interaction::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Interaction::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Interaction::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Interaction::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Interaction::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Interaction::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector FlowDefinition::getAction() const { return read_list_("action"); } +inline std::vector FlowDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector FlowDefinition::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::optional FlowDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FlowDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FlowDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector FlowDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector FlowDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector FlowDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FlowDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector FlowDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector FlowDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector FlowDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector FlowDefinition::getFlowEnd() const { return read_list_("flowEnd"); } +inline std::vector FlowDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector FlowDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector FlowDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector FlowDefinition::getInput() const { return read_list_("input"); } +inline std::vector FlowDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional FlowDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional FlowDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional FlowDefinition::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FlowDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FlowDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional FlowDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FlowDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional FlowDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector FlowDefinition::getMember() const { return read_list_("member"); } +inline std::vector FlowDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional FlowDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional FlowDefinition::getName() const { return read_string_("name"); } +inline std::vector FlowDefinition::getOutput() const { return read_list_("output"); } +inline std::vector FlowDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector FlowDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector FlowDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector FlowDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector FlowDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector FlowDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector FlowDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector FlowDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional FlowDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector FlowDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector FlowDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector FlowDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector FlowDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector FlowDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FlowDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector FlowDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector FlowDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector FlowDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector FlowDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector FlowDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector FlowDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector FlowDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector FlowDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector FlowDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector FlowDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector FlowDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector FlowDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector FlowDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector FlowDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector FlowDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector FlowDefinition::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FlowDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector FlowDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector FlowDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector FlowDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector FlowDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector FlowDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector FlowDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector FlowDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector FlowDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector FlowDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector FlowDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector FlowDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector FlowDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional FlowDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional FlowDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FlowDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FlowDefinition::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FlowDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector FlowDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional FlowDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FlowDefinition::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector FlowDefinition::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional FlowDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector FlowDefinition::getSource() const { return read_list_("source"); } +inline std::optional FlowDefinition::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector FlowDefinition::getStep() const { return read_list_("step"); } +inline std::vector FlowDefinition::getTarget() const { return read_list_("target"); } +inline std::vector FlowDefinition::getTargetType() const { return read_list_("targetType"); } +inline std::vector FlowDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector FlowDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector FlowDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector FlowDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector FlowDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector FlowDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector FlowDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional FlowDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional FlowDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional FlowDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FlowDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FlowDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector FlowDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector FlowDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector FlowDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FlowDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional FlowDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector FlowDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector FlowDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector FlowDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector FlowDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FlowDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional FlowDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector FlowDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional FlowDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional FlowDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional FlowDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional FlowDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional FlowDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional FlowDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector FlowDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional FlowDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional FlowDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector FlowDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector FlowEnd::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector FlowEnd::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional FlowEnd::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional FlowEnd::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FlowEnd::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FlowEnd::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector FlowEnd::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional FlowEnd::getDirection() const { return read_string_("direction"); } +inline std::vector FlowEnd::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FlowEnd::getElementId() const { return read_string_("elementId"); } +inline std::vector FlowEnd::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional FlowEnd::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector FlowEnd::getFeature() const { return read_list_("feature"); } +inline std::vector FlowEnd::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional FlowEnd::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector FlowEnd::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector FlowEnd::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector FlowEnd::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector FlowEnd::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector FlowEnd::getInput() const { return read_list_("input"); } +inline std::vector FlowEnd::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional FlowEnd::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional FlowEnd::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional FlowEnd::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional FlowEnd::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional FlowEnd::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional FlowEnd::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional FlowEnd::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FlowEnd::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FlowEnd::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional FlowEnd::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional FlowEnd::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional FlowEnd::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional FlowEnd::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector FlowEnd::getMember() const { return read_list_("member"); } +inline std::vector FlowEnd::getMembership() const { return read_list_("membership"); } +inline std::optional FlowEnd::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional FlowEnd::getName() const { return read_string_("name"); } +inline std::vector FlowEnd::getOutput() const { return read_list_("output"); } +inline std::vector FlowEnd::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional FlowEnd::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional FlowEnd::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector FlowEnd::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector FlowEnd::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector FlowEnd::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FlowEnd::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector FlowEnd::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector FlowEnd::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector FlowEnd::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector FlowEnd::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector FlowEnd::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector FlowEnd::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector FlowEnd::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector FlowEnd::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector FlowEnd::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional FlowEnd::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector FlowEnd::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector FlowEnd::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector FlowEnd::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector FlowEnd::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector FlowEnd::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector FlowEnd::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional FlowEnd::getOwner() const { return read_ref_("owner"); } +inline std::optional FlowEnd::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional FlowEnd::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FlowEnd::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FlowEnd::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FlowEnd::getOwningType() const { return read_ref_("owningType"); } +inline std::optional FlowEnd::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional FlowEnd::getShortName() const { return read_string_("shortName"); } +inline std::vector FlowEnd::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector FlowEnd::getType() const { return read_list_("type"); } +inline std::vector FlowEnd::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector FlowEnd::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector FlowEnd::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector FlowEnd::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector FlowEnd::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional FlowEnd::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional FlowEnd::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional FlowEnd::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional FlowEnd::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional FlowEnd::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FlowEnd::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FlowEnd::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector FlowEnd::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector FlowEnd::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector FlowEnd::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FlowEnd::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional FlowEnd::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional FlowEnd::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional FlowEnd::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional FlowEnd::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional FlowEnd::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector FlowEnd::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector FlowEnd::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector FlowEnd::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional FlowEnd::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector FlowEnd::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FlowEnd::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional FlowEnd::path() const { return as_string_(call_("path", {})); } +inline std::optional FlowEnd::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional FlowEnd::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional FlowEnd::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector FlowEnd::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional FlowEnd::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional FlowEnd::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional FlowEnd::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional FlowEnd::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional FlowEnd::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional FlowEnd::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional FlowEnd::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector FlowEnd::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector FlowEnd::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional FlowEnd::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional FlowEnd::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector FlowEnd::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector FlowUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector FlowUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector FlowUsage::getAssociation() const { return read_list_("association"); } +inline std::vector FlowUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector FlowUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector FlowUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional FlowUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional FlowUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FlowUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional FlowUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector FlowUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector FlowUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector FlowUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector FlowUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional FlowUsage::getDirection() const { return read_string_("direction"); } +inline std::vector FlowUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FlowUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector FlowUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional FlowUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector FlowUsage::getFeature() const { return read_list_("feature"); } +inline std::vector FlowUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional FlowUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector FlowUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector FlowUsage::getFlowDefinition() const { return read_list_("flowDefinition"); } +inline std::vector FlowUsage::getFlowEnd() const { return read_list_("flowEnd"); } +inline std::vector FlowUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional FlowUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector FlowUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector FlowUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector FlowUsage::getInput() const { return read_list_("input"); } +inline std::vector FlowUsage::getInteraction() const { return read_list_("interaction"); } +inline std::vector FlowUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional FlowUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional FlowUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional FlowUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional FlowUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional FlowUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional FlowUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional FlowUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FlowUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FlowUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional FlowUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FlowUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional FlowUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional FlowUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional FlowUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional FlowUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional FlowUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional FlowUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional FlowUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector FlowUsage::getMember() const { return read_list_("member"); } +inline std::vector FlowUsage::getMembership() const { return read_list_("membership"); } +inline std::optional FlowUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional FlowUsage::getName() const { return read_string_("name"); } +inline std::vector FlowUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector FlowUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector FlowUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector FlowUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector FlowUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector FlowUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector FlowUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector FlowUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector FlowUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector FlowUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector FlowUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector FlowUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector FlowUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector FlowUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector FlowUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector FlowUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector FlowUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector FlowUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector FlowUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector FlowUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector FlowUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector FlowUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector FlowUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector FlowUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector FlowUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector FlowUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector FlowUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector FlowUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector FlowUsage::getOutput() const { return read_list_("output"); } +inline std::vector FlowUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional FlowUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional FlowUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector FlowUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector FlowUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector FlowUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector FlowUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector FlowUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector FlowUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector FlowUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector FlowUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector FlowUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector FlowUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector FlowUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector FlowUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector FlowUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional FlowUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector FlowUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FlowUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector FlowUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector FlowUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector FlowUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector FlowUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector FlowUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional FlowUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional FlowUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional FlowUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional FlowUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FlowUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FlowUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FlowUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FlowUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional FlowUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector FlowUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional FlowUsage::getPayloadFeature() const { return read_ref_("payloadFeature"); } +inline std::vector FlowUsage::getPayloadType() const { return read_list_("payloadType"); } +inline std::optional FlowUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional FlowUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector FlowUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector FlowUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional FlowUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector FlowUsage::getSource() const { return read_list_("source"); } +inline std::optional FlowUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::optional FlowUsage::getSourceOutputFeature() const { return read_ref_("sourceOutputFeature"); } +inline std::vector FlowUsage::getTarget() const { return read_list_("target"); } +inline std::vector FlowUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::optional FlowUsage::getTargetInputFeature() const { return read_ref_("targetInputFeature"); } +inline std::vector FlowUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector FlowUsage::getType() const { return read_list_("type"); } +inline std::vector FlowUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector FlowUsage::getUsage() const { return read_list_("usage"); } +inline std::vector FlowUsage::getVariant() const { return read_list_("variant"); } +inline std::vector FlowUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector FlowUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector FlowUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector FlowUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional FlowUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector FlowUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional FlowUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional FlowUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional FlowUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional FlowUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional FlowUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FlowUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FlowUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector FlowUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector FlowUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector FlowUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FlowUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector FlowUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional FlowUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional FlowUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional FlowUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional FlowUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional FlowUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional FlowUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional FlowUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector FlowUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector FlowUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector FlowUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional FlowUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector FlowUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional FlowUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional FlowUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional FlowUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional FlowUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional FlowUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional FlowUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector FlowUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional FlowUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional FlowUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional FlowUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional FlowUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional FlowUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional FlowUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional FlowUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector FlowUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector FlowUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional FlowUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional FlowUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector FlowUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LoopActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector LoopActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LoopActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional LoopActionUsage::getBodyAction() const { return read_ref_("bodyAction"); } +inline std::vector LoopActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LoopActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LoopActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LoopActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LoopActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector LoopActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LoopActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector LoopActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional LoopActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector LoopActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LoopActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector LoopActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LoopActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LoopActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector LoopActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LoopActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LoopActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector LoopActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional LoopActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector LoopActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LoopActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LoopActionUsage::getInput() const { return read_list_("input"); } +inline std::vector LoopActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LoopActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LoopActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LoopActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LoopActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LoopActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LoopActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LoopActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LoopActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional LoopActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LoopActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LoopActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LoopActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional LoopActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LoopActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LoopActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional LoopActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional LoopActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector LoopActionUsage::getMember() const { return read_list_("member"); } +inline std::vector LoopActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional LoopActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LoopActionUsage::getName() const { return read_string_("name"); } +inline std::vector LoopActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector LoopActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector LoopActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector LoopActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector LoopActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector LoopActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector LoopActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector LoopActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector LoopActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector LoopActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector LoopActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector LoopActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector LoopActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector LoopActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector LoopActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector LoopActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector LoopActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector LoopActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector LoopActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector LoopActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector LoopActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector LoopActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector LoopActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector LoopActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector LoopActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector LoopActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector LoopActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector LoopActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector LoopActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector LoopActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LoopActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LoopActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LoopActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LoopActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LoopActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LoopActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LoopActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LoopActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LoopActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LoopActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LoopActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LoopActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LoopActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LoopActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LoopActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LoopActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LoopActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LoopActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LoopActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LoopActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LoopActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LoopActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LoopActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional LoopActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional LoopActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LoopActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LoopActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LoopActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LoopActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional LoopActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector LoopActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional LoopActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional LoopActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LoopActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector LoopActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LoopActionUsage::getType() const { return read_list_("type"); } +inline std::vector LoopActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector LoopActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector LoopActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector LoopActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector LoopActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LoopActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LoopActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional LoopActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector LoopActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LoopActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LoopActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LoopActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LoopActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LoopActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LoopActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LoopActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LoopActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LoopActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LoopActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LoopActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector LoopActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional LoopActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LoopActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LoopActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LoopActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LoopActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LoopActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional LoopActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LoopActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector LoopActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LoopActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LoopActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LoopActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LoopActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LoopActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional LoopActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LoopActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LoopActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional LoopActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector LoopActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LoopActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LoopActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LoopActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LoopActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LoopActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LoopActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LoopActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LoopActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LoopActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LoopActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LoopActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LoopActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ForLoopActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector ForLoopActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ForLoopActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional ForLoopActionUsage::getBodyAction() const { return read_ref_("bodyAction"); } +inline std::vector ForLoopActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ForLoopActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ForLoopActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ForLoopActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ForLoopActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ForLoopActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ForLoopActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ForLoopActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ForLoopActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ForLoopActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ForLoopActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ForLoopActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ForLoopActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ForLoopActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ForLoopActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ForLoopActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ForLoopActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ForLoopActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ForLoopActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ForLoopActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ForLoopActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ForLoopActionUsage::getInput() const { return read_list_("input"); } +inline std::vector ForLoopActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ForLoopActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ForLoopActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ForLoopActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ForLoopActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ForLoopActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ForLoopActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ForLoopActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ForLoopActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ForLoopActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ForLoopActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ForLoopActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ForLoopActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ForLoopActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ForLoopActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ForLoopActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ForLoopActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ForLoopActionUsage::getLoopVariable() const { return read_ref_("loopVariable"); } +inline std::optional ForLoopActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ForLoopActionUsage::getMember() const { return read_list_("member"); } +inline std::vector ForLoopActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ForLoopActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ForLoopActionUsage::getName() const { return read_string_("name"); } +inline std::vector ForLoopActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ForLoopActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ForLoopActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ForLoopActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ForLoopActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ForLoopActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ForLoopActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ForLoopActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ForLoopActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ForLoopActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ForLoopActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ForLoopActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ForLoopActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ForLoopActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ForLoopActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ForLoopActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ForLoopActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ForLoopActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ForLoopActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ForLoopActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ForLoopActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ForLoopActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ForLoopActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ForLoopActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ForLoopActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ForLoopActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ForLoopActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ForLoopActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ForLoopActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector ForLoopActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ForLoopActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ForLoopActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ForLoopActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ForLoopActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ForLoopActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ForLoopActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ForLoopActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ForLoopActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ForLoopActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ForLoopActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ForLoopActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ForLoopActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ForLoopActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ForLoopActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ForLoopActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ForLoopActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ForLoopActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ForLoopActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ForLoopActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ForLoopActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ForLoopActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ForLoopActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ForLoopActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ForLoopActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ForLoopActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ForLoopActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ForLoopActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ForLoopActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ForLoopActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ForLoopActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ForLoopActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional ForLoopActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ForLoopActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ForLoopActionUsage::getSeqArgument() const { return read_ref_("seqArgument"); } +inline std::optional ForLoopActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ForLoopActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ForLoopActionUsage::getType() const { return read_list_("type"); } +inline std::vector ForLoopActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ForLoopActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ForLoopActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ForLoopActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ForLoopActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ForLoopActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ForLoopActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ForLoopActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector ForLoopActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ForLoopActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ForLoopActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ForLoopActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ForLoopActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ForLoopActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ForLoopActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ForLoopActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ForLoopActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ForLoopActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ForLoopActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ForLoopActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector ForLoopActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional ForLoopActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ForLoopActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ForLoopActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ForLoopActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ForLoopActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ForLoopActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional ForLoopActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ForLoopActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ForLoopActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ForLoopActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ForLoopActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ForLoopActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ForLoopActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ForLoopActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ForLoopActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ForLoopActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ForLoopActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ForLoopActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ForLoopActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ForLoopActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ForLoopActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ForLoopActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ForLoopActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ForLoopActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ForLoopActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ForLoopActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ForLoopActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ForLoopActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ForLoopActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ForLoopActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ForLoopActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ForkNode::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector ForkNode::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ForkNode::getBehavior() const { return read_list_("behavior"); } +inline std::vector ForkNode::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ForkNode::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ForkNode::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ForkNode::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ForkNode::getDefinition() const { return read_list_("definition"); } +inline std::vector ForkNode::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ForkNode::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ForkNode::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ForkNode::getDirection() const { return read_string_("direction"); } +inline std::vector ForkNode::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ForkNode::getElementId() const { return read_string_("elementId"); } +inline std::vector ForkNode::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ForkNode::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ForkNode::getFeature() const { return read_list_("feature"); } +inline std::vector ForkNode::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ForkNode::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ForkNode::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ForkNode::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ForkNode::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ForkNode::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ForkNode::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ForkNode::getInput() const { return read_list_("input"); } +inline std::vector ForkNode::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ForkNode::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ForkNode::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ForkNode::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ForkNode::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ForkNode::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ForkNode::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ForkNode::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ForkNode::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ForkNode::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ForkNode::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ForkNode::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ForkNode::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ForkNode::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ForkNode::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ForkNode::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ForkNode::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ForkNode::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ForkNode::getMember() const { return read_list_("member"); } +inline std::vector ForkNode::getMembership() const { return read_list_("membership"); } +inline std::optional ForkNode::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ForkNode::getName() const { return read_string_("name"); } +inline std::vector ForkNode::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ForkNode::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ForkNode::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ForkNode::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ForkNode::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ForkNode::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ForkNode::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ForkNode::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ForkNode::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ForkNode::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ForkNode::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ForkNode::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ForkNode::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ForkNode::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ForkNode::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ForkNode::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ForkNode::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ForkNode::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ForkNode::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ForkNode::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ForkNode::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ForkNode::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ForkNode::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ForkNode::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ForkNode::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ForkNode::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ForkNode::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ForkNode::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ForkNode::getOutput() const { return read_list_("output"); } +inline std::vector ForkNode::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ForkNode::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ForkNode::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ForkNode::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ForkNode::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ForkNode::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ForkNode::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ForkNode::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ForkNode::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ForkNode::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ForkNode::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ForkNode::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ForkNode::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ForkNode::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ForkNode::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ForkNode::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ForkNode::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ForkNode::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ForkNode::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ForkNode::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ForkNode::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ForkNode::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ForkNode::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ForkNode::getOwner() const { return read_ref_("owner"); } +inline std::optional ForkNode::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ForkNode::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ForkNode::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ForkNode::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ForkNode::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ForkNode::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ForkNode::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ForkNode::getParameter() const { return read_list_("parameter"); } +inline std::optional ForkNode::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ForkNode::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ForkNode::getShortName() const { return read_string_("shortName"); } +inline std::vector ForkNode::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ForkNode::getType() const { return read_list_("type"); } +inline std::vector ForkNode::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ForkNode::getUsage() const { return read_list_("usage"); } +inline std::vector ForkNode::getVariant() const { return read_list_("variant"); } +inline std::vector ForkNode::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ForkNode::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ForkNode::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ForkNode::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ForkNode::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector ForkNode::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ForkNode::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ForkNode::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ForkNode::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ForkNode::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ForkNode::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ForkNode::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ForkNode::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ForkNode::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ForkNode::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ForkNode::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ForkNode::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector ForkNode::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional ForkNode::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ForkNode::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ForkNode::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ForkNode::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ForkNode::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ForkNode::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional ForkNode::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ForkNode::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ForkNode::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::optional ForkNode::multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const { return as_bool_(call_("multiplicityHasBounds", {detail::arg(mult), detail::arg(lower), detail::arg(upper)})); } +inline std::vector ForkNode::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ForkNode::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ForkNode::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ForkNode::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ForkNode::path() const { return as_string_(call_("path", {})); } +inline std::optional ForkNode::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ForkNode::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ForkNode::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ForkNode::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ForkNode::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ForkNode::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ForkNode::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ForkNode::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ForkNode::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ForkNode::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ForkNode::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ForkNode::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ForkNode::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ForkNode::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ForkNode::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ForkNode::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ForkNode::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector RequirementConstraintMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional RequirementConstraintMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional RequirementConstraintMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector RequirementConstraintMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional RequirementConstraintMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional RequirementConstraintMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional RequirementConstraintMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional RequirementConstraintMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional RequirementConstraintMembership::getKind() const { return read_string_("kind"); } +inline std::optional RequirementConstraintMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional RequirementConstraintMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional RequirementConstraintMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional RequirementConstraintMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional RequirementConstraintMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional RequirementConstraintMembership::getName() const { return read_string_("name"); } +inline std::vector RequirementConstraintMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional RequirementConstraintMembership::getOwnedConstraint() const { return read_ref_("ownedConstraint"); } +inline std::vector RequirementConstraintMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional RequirementConstraintMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional RequirementConstraintMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional RequirementConstraintMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional RequirementConstraintMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional RequirementConstraintMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector RequirementConstraintMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector RequirementConstraintMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional RequirementConstraintMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional RequirementConstraintMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional RequirementConstraintMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional RequirementConstraintMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional RequirementConstraintMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional RequirementConstraintMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional RequirementConstraintMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional RequirementConstraintMembership::getReferencedConstraint() const { return read_ref_("referencedConstraint"); } +inline std::vector RequirementConstraintMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional RequirementConstraintMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector RequirementConstraintMembership::getSource() const { return read_list_("source"); } +inline std::vector RequirementConstraintMembership::getTarget() const { return read_list_("target"); } +inline std::vector RequirementConstraintMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional RequirementConstraintMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional RequirementConstraintMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional RequirementConstraintMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional RequirementConstraintMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional RequirementConstraintMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional RequirementConstraintMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional RequirementConstraintMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector FramedConcernMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional FramedConcernMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional FramedConcernMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector FramedConcernMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional FramedConcernMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional FramedConcernMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional FramedConcernMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional FramedConcernMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional FramedConcernMembership::getKind() const { return read_string_("kind"); } +inline std::optional FramedConcernMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional FramedConcernMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional FramedConcernMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional FramedConcernMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional FramedConcernMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional FramedConcernMembership::getName() const { return read_string_("name"); } +inline std::vector FramedConcernMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional FramedConcernMembership::getOwnedConcern() const { return read_ref_("ownedConcern"); } +inline std::optional FramedConcernMembership::getOwnedConstraint() const { return read_ref_("ownedConstraint"); } +inline std::vector FramedConcernMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional FramedConcernMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional FramedConcernMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional FramedConcernMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional FramedConcernMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional FramedConcernMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector FramedConcernMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector FramedConcernMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional FramedConcernMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional FramedConcernMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional FramedConcernMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional FramedConcernMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional FramedConcernMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional FramedConcernMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional FramedConcernMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional FramedConcernMembership::getReferencedConcern() const { return read_ref_("referencedConcern"); } +inline std::optional FramedConcernMembership::getReferencedConstraint() const { return read_ref_("referencedConstraint"); } +inline std::vector FramedConcernMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional FramedConcernMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector FramedConcernMembership::getSource() const { return read_list_("source"); } +inline std::vector FramedConcernMembership::getTarget() const { return read_list_("target"); } +inline std::vector FramedConcernMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional FramedConcernMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional FramedConcernMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional FramedConcernMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional FramedConcernMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional FramedConcernMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional FramedConcernMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional FramedConcernMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector IfActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector IfActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector IfActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector IfActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional IfActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional IfActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional IfActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector IfActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector IfActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector IfActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector IfActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional IfActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector IfActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional IfActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::optional IfActionUsage::getElseAction() const { return read_ref_("elseAction"); } +inline std::vector IfActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional IfActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector IfActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector IfActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional IfActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector IfActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional IfActionUsage::getIfArgument() const { return read_ref_("ifArgument"); } +inline std::vector IfActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional IfActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector IfActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector IfActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector IfActionUsage::getInput() const { return read_list_("input"); } +inline std::vector IfActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional IfActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional IfActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional IfActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional IfActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional IfActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional IfActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional IfActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional IfActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional IfActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional IfActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional IfActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional IfActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional IfActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional IfActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional IfActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional IfActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional IfActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector IfActionUsage::getMember() const { return read_list_("member"); } +inline std::vector IfActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional IfActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional IfActionUsage::getName() const { return read_string_("name"); } +inline std::vector IfActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector IfActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector IfActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector IfActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector IfActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector IfActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector IfActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector IfActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector IfActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector IfActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector IfActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector IfActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector IfActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector IfActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector IfActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector IfActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector IfActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector IfActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector IfActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector IfActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector IfActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector IfActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector IfActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector IfActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector IfActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector IfActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector IfActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector IfActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector IfActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector IfActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional IfActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional IfActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector IfActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector IfActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector IfActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector IfActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector IfActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector IfActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector IfActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector IfActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector IfActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector IfActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector IfActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector IfActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector IfActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional IfActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector IfActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector IfActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector IfActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector IfActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector IfActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector IfActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional IfActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional IfActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional IfActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional IfActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional IfActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional IfActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional IfActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional IfActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector IfActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional IfActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional IfActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional IfActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector IfActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional IfActionUsage::getThenAction() const { return read_ref_("thenAction"); } +inline std::vector IfActionUsage::getType() const { return read_list_("type"); } +inline std::vector IfActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector IfActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector IfActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector IfActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector IfActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector IfActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector IfActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional IfActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector IfActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional IfActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional IfActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional IfActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional IfActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional IfActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional IfActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional IfActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector IfActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector IfActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector IfActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional IfActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector IfActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional IfActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional IfActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional IfActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional IfActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional IfActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional IfActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional IfActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector IfActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector IfActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector IfActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional IfActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector IfActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional IfActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional IfActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional IfActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional IfActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional IfActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional IfActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector IfActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional IfActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional IfActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional IfActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional IfActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional IfActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional IfActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional IfActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector IfActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector IfActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional IfActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional IfActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector IfActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector UseCaseUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector UseCaseUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector UseCaseUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector UseCaseUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional UseCaseUsage::getCalculationDefinition() const { return read_ref_("calculationDefinition"); } +inline std::optional UseCaseUsage::getCaseDefinition() const { return read_ref_("caseDefinition"); } +inline std::vector UseCaseUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional UseCaseUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional UseCaseUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional UseCaseUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector UseCaseUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector UseCaseUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector UseCaseUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector UseCaseUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional UseCaseUsage::getDirection() const { return read_string_("direction"); } +inline std::vector UseCaseUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional UseCaseUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector UseCaseUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional UseCaseUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector UseCaseUsage::getFeature() const { return read_list_("feature"); } +inline std::vector UseCaseUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional UseCaseUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector UseCaseUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional UseCaseUsage::getFunction() const { return read_ref_("function"); } +inline std::vector UseCaseUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector UseCaseUsage::getIncludedUseCase() const { return read_list_("includedUseCase"); } +inline std::optional UseCaseUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector UseCaseUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector UseCaseUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector UseCaseUsage::getInput() const { return read_list_("input"); } +inline std::vector UseCaseUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional UseCaseUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional UseCaseUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional UseCaseUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional UseCaseUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional UseCaseUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional UseCaseUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional UseCaseUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional UseCaseUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional UseCaseUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional UseCaseUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional UseCaseUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional UseCaseUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional UseCaseUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional UseCaseUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional UseCaseUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional UseCaseUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional UseCaseUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional UseCaseUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector UseCaseUsage::getMember() const { return read_list_("member"); } +inline std::vector UseCaseUsage::getMembership() const { return read_list_("membership"); } +inline std::optional UseCaseUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional UseCaseUsage::getName() const { return read_string_("name"); } +inline std::vector UseCaseUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector UseCaseUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector UseCaseUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector UseCaseUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector UseCaseUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector UseCaseUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector UseCaseUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector UseCaseUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector UseCaseUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector UseCaseUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector UseCaseUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector UseCaseUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector UseCaseUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector UseCaseUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector UseCaseUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector UseCaseUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector UseCaseUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector UseCaseUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector UseCaseUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector UseCaseUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector UseCaseUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector UseCaseUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector UseCaseUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector UseCaseUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector UseCaseUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector UseCaseUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector UseCaseUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::optional UseCaseUsage::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector UseCaseUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector UseCaseUsage::getOutput() const { return read_list_("output"); } +inline std::vector UseCaseUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional UseCaseUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional UseCaseUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector UseCaseUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector UseCaseUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector UseCaseUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector UseCaseUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector UseCaseUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector UseCaseUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector UseCaseUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector UseCaseUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector UseCaseUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector UseCaseUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector UseCaseUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector UseCaseUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector UseCaseUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional UseCaseUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector UseCaseUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector UseCaseUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector UseCaseUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector UseCaseUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector UseCaseUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector UseCaseUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional UseCaseUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional UseCaseUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional UseCaseUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional UseCaseUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional UseCaseUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional UseCaseUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional UseCaseUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional UseCaseUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector UseCaseUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional UseCaseUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional UseCaseUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional UseCaseUsage::getResult() const { return read_ref_("result"); } +inline std::optional UseCaseUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional UseCaseUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector UseCaseUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector UseCaseUsage::getType() const { return read_list_("type"); } +inline std::vector UseCaseUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector UseCaseUsage::getUsage() const { return read_list_("usage"); } +inline std::optional UseCaseUsage::getUseCaseDefinition() const { return read_ref_("useCaseDefinition"); } +inline std::vector UseCaseUsage::getVariant() const { return read_list_("variant"); } +inline std::vector UseCaseUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector UseCaseUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector UseCaseUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector UseCaseUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional UseCaseUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector UseCaseUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional UseCaseUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional UseCaseUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional UseCaseUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional UseCaseUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional UseCaseUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional UseCaseUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional UseCaseUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional UseCaseUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector UseCaseUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector UseCaseUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector UseCaseUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector UseCaseUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional UseCaseUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector UseCaseUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional UseCaseUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional UseCaseUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional UseCaseUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional UseCaseUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional UseCaseUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional UseCaseUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional UseCaseUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector UseCaseUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional UseCaseUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector UseCaseUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector UseCaseUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional UseCaseUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector UseCaseUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional UseCaseUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional UseCaseUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional UseCaseUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional UseCaseUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional UseCaseUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector UseCaseUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional UseCaseUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional UseCaseUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional UseCaseUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional UseCaseUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional UseCaseUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector UseCaseUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector UseCaseUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional UseCaseUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector UseCaseUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector IncludeUseCaseUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector IncludeUseCaseUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector IncludeUseCaseUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector IncludeUseCaseUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional IncludeUseCaseUsage::getCalculationDefinition() const { return read_ref_("calculationDefinition"); } +inline std::optional IncludeUseCaseUsage::getCaseDefinition() const { return read_ref_("caseDefinition"); } +inline std::vector IncludeUseCaseUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional IncludeUseCaseUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional IncludeUseCaseUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional IncludeUseCaseUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector IncludeUseCaseUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector IncludeUseCaseUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector IncludeUseCaseUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector IncludeUseCaseUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional IncludeUseCaseUsage::getDirection() const { return read_string_("direction"); } +inline std::vector IncludeUseCaseUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional IncludeUseCaseUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector IncludeUseCaseUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional IncludeUseCaseUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::optional IncludeUseCaseUsage::getEventOccurrence() const { return read_ref_("eventOccurrence"); } +inline std::vector IncludeUseCaseUsage::getFeature() const { return read_list_("feature"); } +inline std::vector IncludeUseCaseUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional IncludeUseCaseUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector IncludeUseCaseUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional IncludeUseCaseUsage::getFunction() const { return read_ref_("function"); } +inline std::vector IncludeUseCaseUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector IncludeUseCaseUsage::getIncludedUseCase() const { return read_list_("includedUseCase"); } +inline std::optional IncludeUseCaseUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector IncludeUseCaseUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector IncludeUseCaseUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector IncludeUseCaseUsage::getInput() const { return read_list_("input"); } +inline std::vector IncludeUseCaseUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional IncludeUseCaseUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional IncludeUseCaseUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional IncludeUseCaseUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional IncludeUseCaseUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional IncludeUseCaseUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional IncludeUseCaseUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional IncludeUseCaseUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional IncludeUseCaseUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional IncludeUseCaseUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional IncludeUseCaseUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional IncludeUseCaseUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional IncludeUseCaseUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional IncludeUseCaseUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional IncludeUseCaseUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional IncludeUseCaseUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional IncludeUseCaseUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional IncludeUseCaseUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional IncludeUseCaseUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector IncludeUseCaseUsage::getMember() const { return read_list_("member"); } +inline std::vector IncludeUseCaseUsage::getMembership() const { return read_list_("membership"); } +inline std::optional IncludeUseCaseUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional IncludeUseCaseUsage::getName() const { return read_string_("name"); } +inline std::vector IncludeUseCaseUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector IncludeUseCaseUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector IncludeUseCaseUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector IncludeUseCaseUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector IncludeUseCaseUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector IncludeUseCaseUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector IncludeUseCaseUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector IncludeUseCaseUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector IncludeUseCaseUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector IncludeUseCaseUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector IncludeUseCaseUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector IncludeUseCaseUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector IncludeUseCaseUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector IncludeUseCaseUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector IncludeUseCaseUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector IncludeUseCaseUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector IncludeUseCaseUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector IncludeUseCaseUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector IncludeUseCaseUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector IncludeUseCaseUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector IncludeUseCaseUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector IncludeUseCaseUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector IncludeUseCaseUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector IncludeUseCaseUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector IncludeUseCaseUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector IncludeUseCaseUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector IncludeUseCaseUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::optional IncludeUseCaseUsage::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector IncludeUseCaseUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector IncludeUseCaseUsage::getOutput() const { return read_list_("output"); } +inline std::vector IncludeUseCaseUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional IncludeUseCaseUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional IncludeUseCaseUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector IncludeUseCaseUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector IncludeUseCaseUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector IncludeUseCaseUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector IncludeUseCaseUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector IncludeUseCaseUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector IncludeUseCaseUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector IncludeUseCaseUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector IncludeUseCaseUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector IncludeUseCaseUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector IncludeUseCaseUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector IncludeUseCaseUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector IncludeUseCaseUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector IncludeUseCaseUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional IncludeUseCaseUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector IncludeUseCaseUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector IncludeUseCaseUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector IncludeUseCaseUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector IncludeUseCaseUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector IncludeUseCaseUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector IncludeUseCaseUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional IncludeUseCaseUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional IncludeUseCaseUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional IncludeUseCaseUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional IncludeUseCaseUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional IncludeUseCaseUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional IncludeUseCaseUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional IncludeUseCaseUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional IncludeUseCaseUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector IncludeUseCaseUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional IncludeUseCaseUsage::getPerformedAction() const { return read_ref_("performedAction"); } +inline std::optional IncludeUseCaseUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional IncludeUseCaseUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional IncludeUseCaseUsage::getResult() const { return read_ref_("result"); } +inline std::optional IncludeUseCaseUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional IncludeUseCaseUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector IncludeUseCaseUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector IncludeUseCaseUsage::getType() const { return read_list_("type"); } +inline std::vector IncludeUseCaseUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector IncludeUseCaseUsage::getUsage() const { return read_list_("usage"); } +inline std::optional IncludeUseCaseUsage::getUseCaseDefinition() const { return read_ref_("useCaseDefinition"); } +inline std::optional IncludeUseCaseUsage::getUseCaseIncluded() const { return read_ref_("useCaseIncluded"); } +inline std::vector IncludeUseCaseUsage::getVariant() const { return read_list_("variant"); } +inline std::vector IncludeUseCaseUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector IncludeUseCaseUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector IncludeUseCaseUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector IncludeUseCaseUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional IncludeUseCaseUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector IncludeUseCaseUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional IncludeUseCaseUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional IncludeUseCaseUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional IncludeUseCaseUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional IncludeUseCaseUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional IncludeUseCaseUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional IncludeUseCaseUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional IncludeUseCaseUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional IncludeUseCaseUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector IncludeUseCaseUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector IncludeUseCaseUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector IncludeUseCaseUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector IncludeUseCaseUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional IncludeUseCaseUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector IncludeUseCaseUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional IncludeUseCaseUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional IncludeUseCaseUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional IncludeUseCaseUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional IncludeUseCaseUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional IncludeUseCaseUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional IncludeUseCaseUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional IncludeUseCaseUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector IncludeUseCaseUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional IncludeUseCaseUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector IncludeUseCaseUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector IncludeUseCaseUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional IncludeUseCaseUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector IncludeUseCaseUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional IncludeUseCaseUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional IncludeUseCaseUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional IncludeUseCaseUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional IncludeUseCaseUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional IncludeUseCaseUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional IncludeUseCaseUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector IncludeUseCaseUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional IncludeUseCaseUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional IncludeUseCaseUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional IncludeUseCaseUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional IncludeUseCaseUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional IncludeUseCaseUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional IncludeUseCaseUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional IncludeUseCaseUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector IncludeUseCaseUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector IncludeUseCaseUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional IncludeUseCaseUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional IncludeUseCaseUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector IncludeUseCaseUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector IndexExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector IndexExpression::getArgument() const { return read_list_("argument"); } +inline std::vector IndexExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector IndexExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional IndexExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional IndexExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional IndexExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector IndexExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector IndexExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional IndexExpression::getDirection() const { return read_string_("direction"); } +inline std::vector IndexExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional IndexExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector IndexExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional IndexExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector IndexExpression::getFeature() const { return read_list_("feature"); } +inline std::vector IndexExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional IndexExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector IndexExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional IndexExpression::getFunction() const { return read_ref_("function"); } +inline std::vector IndexExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector IndexExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector IndexExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector IndexExpression::getInput() const { return read_list_("input"); } +inline std::optional IndexExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector IndexExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional IndexExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional IndexExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional IndexExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional IndexExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional IndexExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional IndexExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional IndexExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional IndexExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional IndexExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional IndexExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional IndexExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional IndexExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional IndexExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional IndexExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector IndexExpression::getMember() const { return read_list_("member"); } +inline std::vector IndexExpression::getMembership() const { return read_list_("membership"); } +inline std::optional IndexExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional IndexExpression::getName() const { return read_string_("name"); } +inline std::optional IndexExpression::getOperator() const { return read_string_("operator"); } +inline std::vector IndexExpression::getOutput() const { return read_list_("output"); } +inline std::vector IndexExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional IndexExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional IndexExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector IndexExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector IndexExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector IndexExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector IndexExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector IndexExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector IndexExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector IndexExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector IndexExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector IndexExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector IndexExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector IndexExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector IndexExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector IndexExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional IndexExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector IndexExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector IndexExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector IndexExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector IndexExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector IndexExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector IndexExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional IndexExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional IndexExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional IndexExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional IndexExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional IndexExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional IndexExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector IndexExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional IndexExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional IndexExpression::getResult() const { return read_ref_("result"); } +inline std::optional IndexExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector IndexExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector IndexExpression::getType() const { return read_list_("type"); } +inline std::vector IndexExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector IndexExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector IndexExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector IndexExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector IndexExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional IndexExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional IndexExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional IndexExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional IndexExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional IndexExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional IndexExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional IndexExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional IndexExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector IndexExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector IndexExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector IndexExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector IndexExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional IndexExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional IndexExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional IndexExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional IndexExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional IndexExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional IndexExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional IndexExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector IndexExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional IndexExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector IndexExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector IndexExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional IndexExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector IndexExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional IndexExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional IndexExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional IndexExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional IndexExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional IndexExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector IndexExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional IndexExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional IndexExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional IndexExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional IndexExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional IndexExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional IndexExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional IndexExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector IndexExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector IndexExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional IndexExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional IndexExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector IndexExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector InterfaceDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector InterfaceDefinition::getAssociationEnd() const { return read_list_("associationEnd"); } +inline std::vector InterfaceDefinition::getConnectionEnd() const { return read_list_("connectionEnd"); } +inline std::optional InterfaceDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional InterfaceDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector InterfaceDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector InterfaceDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector InterfaceDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector InterfaceDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional InterfaceDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector InterfaceDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector InterfaceDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector InterfaceDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector InterfaceDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector InterfaceDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector InterfaceDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector InterfaceDefinition::getInput() const { return read_list_("input"); } +inline std::vector InterfaceDefinition::getInterfaceEnd() const { return read_list_("interfaceEnd"); } +inline std::vector InterfaceDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional InterfaceDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional InterfaceDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional InterfaceDefinition::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional InterfaceDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional InterfaceDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional InterfaceDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional InterfaceDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional InterfaceDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector InterfaceDefinition::getMember() const { return read_list_("member"); } +inline std::vector InterfaceDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional InterfaceDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional InterfaceDefinition::getName() const { return read_string_("name"); } +inline std::vector InterfaceDefinition::getOutput() const { return read_list_("output"); } +inline std::vector InterfaceDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector InterfaceDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector InterfaceDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector InterfaceDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector InterfaceDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector InterfaceDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector InterfaceDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector InterfaceDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional InterfaceDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector InterfaceDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector InterfaceDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector InterfaceDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector InterfaceDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector InterfaceDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector InterfaceDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector InterfaceDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector InterfaceDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector InterfaceDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector InterfaceDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector InterfaceDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector InterfaceDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector InterfaceDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector InterfaceDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector InterfaceDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector InterfaceDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector InterfaceDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector InterfaceDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector InterfaceDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector InterfaceDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector InterfaceDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector InterfaceDefinition::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector InterfaceDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector InterfaceDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector InterfaceDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector InterfaceDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector InterfaceDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector InterfaceDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector InterfaceDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector InterfaceDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector InterfaceDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector InterfaceDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector InterfaceDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector InterfaceDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector InterfaceDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional InterfaceDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional InterfaceDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional InterfaceDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional InterfaceDefinition::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional InterfaceDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional InterfaceDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector InterfaceDefinition::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector InterfaceDefinition::getRelatedType() const { return read_list_("relatedType"); } +inline std::optional InterfaceDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector InterfaceDefinition::getSource() const { return read_list_("source"); } +inline std::optional InterfaceDefinition::getSourceType() const { return read_ref_("sourceType"); } +inline std::vector InterfaceDefinition::getTarget() const { return read_list_("target"); } +inline std::vector InterfaceDefinition::getTargetType() const { return read_list_("targetType"); } +inline std::vector InterfaceDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector InterfaceDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector InterfaceDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector InterfaceDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector InterfaceDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector InterfaceDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector InterfaceDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional InterfaceDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional InterfaceDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional InterfaceDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional InterfaceDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional InterfaceDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector InterfaceDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector InterfaceDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector InterfaceDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InterfaceDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional InterfaceDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector InterfaceDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector InterfaceDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector InterfaceDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector InterfaceDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InterfaceDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional InterfaceDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector InterfaceDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional InterfaceDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional InterfaceDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional InterfaceDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional InterfaceDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector InterfaceDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional InterfaceDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector InterfaceDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector InterfaceUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector InterfaceUsage::getAssociation() const { return read_list_("association"); } +inline std::vector InterfaceUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector InterfaceUsage::getConnectionDefinition() const { return read_list_("connectionDefinition"); } +inline std::vector InterfaceUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional InterfaceUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional InterfaceUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional InterfaceUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional InterfaceUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector InterfaceUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector InterfaceUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector InterfaceUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector InterfaceUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional InterfaceUsage::getDirection() const { return read_string_("direction"); } +inline std::vector InterfaceUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional InterfaceUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector InterfaceUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional InterfaceUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector InterfaceUsage::getFeature() const { return read_list_("feature"); } +inline std::vector InterfaceUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional InterfaceUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector InterfaceUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector InterfaceUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional InterfaceUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector InterfaceUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector InterfaceUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector InterfaceUsage::getInput() const { return read_list_("input"); } +inline std::vector InterfaceUsage::getInterfaceDefinition() const { return read_list_("interfaceDefinition"); } +inline std::vector InterfaceUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional InterfaceUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional InterfaceUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional InterfaceUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional InterfaceUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional InterfaceUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional InterfaceUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional InterfaceUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional InterfaceUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional InterfaceUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional InterfaceUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional InterfaceUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional InterfaceUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional InterfaceUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional InterfaceUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional InterfaceUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional InterfaceUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional InterfaceUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector InterfaceUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional InterfaceUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector InterfaceUsage::getMember() const { return read_list_("member"); } +inline std::vector InterfaceUsage::getMembership() const { return read_list_("membership"); } +inline std::optional InterfaceUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional InterfaceUsage::getName() const { return read_string_("name"); } +inline std::vector InterfaceUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector InterfaceUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector InterfaceUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector InterfaceUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector InterfaceUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector InterfaceUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector InterfaceUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector InterfaceUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector InterfaceUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector InterfaceUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector InterfaceUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector InterfaceUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector InterfaceUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector InterfaceUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector InterfaceUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector InterfaceUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector InterfaceUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector InterfaceUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector InterfaceUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector InterfaceUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector InterfaceUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector InterfaceUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector InterfaceUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector InterfaceUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector InterfaceUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector InterfaceUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector InterfaceUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector InterfaceUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector InterfaceUsage::getOutput() const { return read_list_("output"); } +inline std::vector InterfaceUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional InterfaceUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional InterfaceUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector InterfaceUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector InterfaceUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector InterfaceUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector InterfaceUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector InterfaceUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector InterfaceUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector InterfaceUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector InterfaceUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector InterfaceUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector InterfaceUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector InterfaceUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector InterfaceUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector InterfaceUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional InterfaceUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector InterfaceUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector InterfaceUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector InterfaceUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector InterfaceUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector InterfaceUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector InterfaceUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector InterfaceUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional InterfaceUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional InterfaceUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional InterfaceUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional InterfaceUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional InterfaceUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional InterfaceUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional InterfaceUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional InterfaceUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional InterfaceUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector InterfaceUsage::getPartDefinition() const { return read_list_("partDefinition"); } +inline std::optional InterfaceUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional InterfaceUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector InterfaceUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector InterfaceUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional InterfaceUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector InterfaceUsage::getSource() const { return read_list_("source"); } +inline std::optional InterfaceUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector InterfaceUsage::getTarget() const { return read_list_("target"); } +inline std::vector InterfaceUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector InterfaceUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector InterfaceUsage::getType() const { return read_list_("type"); } +inline std::vector InterfaceUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector InterfaceUsage::getUsage() const { return read_list_("usage"); } +inline std::vector InterfaceUsage::getVariant() const { return read_list_("variant"); } +inline std::vector InterfaceUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector InterfaceUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector InterfaceUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector InterfaceUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector InterfaceUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional InterfaceUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional InterfaceUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional InterfaceUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional InterfaceUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional InterfaceUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional InterfaceUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional InterfaceUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector InterfaceUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector InterfaceUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector InterfaceUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InterfaceUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional InterfaceUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional InterfaceUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional InterfaceUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional InterfaceUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional InterfaceUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector InterfaceUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector InterfaceUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector InterfaceUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional InterfaceUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector InterfaceUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional InterfaceUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional InterfaceUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional InterfaceUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional InterfaceUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional InterfaceUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector InterfaceUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional InterfaceUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional InterfaceUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional InterfaceUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional InterfaceUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional InterfaceUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector InterfaceUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector InterfaceUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional InterfaceUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional InterfaceUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector InterfaceUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Intersecting::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Intersecting::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Intersecting::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Intersecting::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Intersecting::getElementId() const { return read_string_("elementId"); } +inline std::optional Intersecting::getIntersectingType() const { return read_ref_("intersectingType"); } +inline std::optional Intersecting::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Intersecting::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Intersecting::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Intersecting::getName() const { return read_string_("name"); } +inline std::vector Intersecting::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Intersecting::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Intersecting::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Intersecting::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Intersecting::getOwner() const { return read_ref_("owner"); } +inline std::optional Intersecting::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Intersecting::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Intersecting::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Intersecting::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Intersecting::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Intersecting::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Intersecting::getShortName() const { return read_string_("shortName"); } +inline std::vector Intersecting::getSource() const { return read_list_("source"); } +inline std::vector Intersecting::getTarget() const { return read_list_("target"); } +inline std::vector Intersecting::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Intersecting::getTypeIntersected() const { return read_ref_("typeIntersected"); } +inline std::optional Intersecting::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Intersecting::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Intersecting::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Intersecting::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Intersecting::path() const { return as_string_(call_("path", {})); } +inline std::vector JoinNode::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector JoinNode::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector JoinNode::getBehavior() const { return read_list_("behavior"); } +inline std::vector JoinNode::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional JoinNode::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional JoinNode::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional JoinNode::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector JoinNode::getDefinition() const { return read_list_("definition"); } +inline std::vector JoinNode::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector JoinNode::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector JoinNode::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional JoinNode::getDirection() const { return read_string_("direction"); } +inline std::vector JoinNode::getDocumentation() const { return read_list_("documentation"); } +inline std::optional JoinNode::getElementId() const { return read_string_("elementId"); } +inline std::vector JoinNode::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional JoinNode::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector JoinNode::getFeature() const { return read_list_("feature"); } +inline std::vector JoinNode::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional JoinNode::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector JoinNode::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector JoinNode::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional JoinNode::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector JoinNode::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector JoinNode::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector JoinNode::getInput() const { return read_list_("input"); } +inline std::vector JoinNode::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional JoinNode::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional JoinNode::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional JoinNode::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional JoinNode::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional JoinNode::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional JoinNode::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional JoinNode::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional JoinNode::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional JoinNode::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional JoinNode::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional JoinNode::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional JoinNode::getIsReference() const { return read_bool_("isReference"); } +inline std::optional JoinNode::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional JoinNode::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional JoinNode::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional JoinNode::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional JoinNode::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector JoinNode::getMember() const { return read_list_("member"); } +inline std::vector JoinNode::getMembership() const { return read_list_("membership"); } +inline std::optional JoinNode::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional JoinNode::getName() const { return read_string_("name"); } +inline std::vector JoinNode::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector JoinNode::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector JoinNode::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector JoinNode::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector JoinNode::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector JoinNode::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector JoinNode::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector JoinNode::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector JoinNode::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector JoinNode::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector JoinNode::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector JoinNode::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector JoinNode::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector JoinNode::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector JoinNode::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector JoinNode::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector JoinNode::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector JoinNode::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector JoinNode::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector JoinNode::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector JoinNode::getNestedState() const { return read_list_("nestedState"); } +inline std::vector JoinNode::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector JoinNode::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector JoinNode::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector JoinNode::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector JoinNode::getNestedView() const { return read_list_("nestedView"); } +inline std::vector JoinNode::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector JoinNode::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector JoinNode::getOutput() const { return read_list_("output"); } +inline std::vector JoinNode::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional JoinNode::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional JoinNode::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector JoinNode::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector JoinNode::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector JoinNode::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector JoinNode::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector JoinNode::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector JoinNode::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector JoinNode::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector JoinNode::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector JoinNode::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector JoinNode::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector JoinNode::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector JoinNode::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector JoinNode::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional JoinNode::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector JoinNode::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector JoinNode::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector JoinNode::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector JoinNode::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector JoinNode::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector JoinNode::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional JoinNode::getOwner() const { return read_ref_("owner"); } +inline std::optional JoinNode::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional JoinNode::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional JoinNode::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional JoinNode::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional JoinNode::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional JoinNode::getOwningType() const { return read_ref_("owningType"); } +inline std::optional JoinNode::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector JoinNode::getParameter() const { return read_list_("parameter"); } +inline std::optional JoinNode::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional JoinNode::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional JoinNode::getShortName() const { return read_string_("shortName"); } +inline std::vector JoinNode::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector JoinNode::getType() const { return read_list_("type"); } +inline std::vector JoinNode::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector JoinNode::getUsage() const { return read_list_("usage"); } +inline std::vector JoinNode::getVariant() const { return read_list_("variant"); } +inline std::vector JoinNode::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector JoinNode::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector JoinNode::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector JoinNode::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional JoinNode::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector JoinNode::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional JoinNode::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional JoinNode::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional JoinNode::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional JoinNode::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional JoinNode::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional JoinNode::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional JoinNode::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector JoinNode::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector JoinNode::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector JoinNode::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional JoinNode::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector JoinNode::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional JoinNode::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional JoinNode::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional JoinNode::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional JoinNode::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional JoinNode::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional JoinNode::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional JoinNode::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector JoinNode::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector JoinNode::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::optional JoinNode::multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const { return as_bool_(call_("multiplicityHasBounds", {detail::arg(mult), detail::arg(lower), detail::arg(upper)})); } +inline std::vector JoinNode::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional JoinNode::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector JoinNode::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional JoinNode::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional JoinNode::path() const { return as_string_(call_("path", {})); } +inline std::optional JoinNode::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional JoinNode::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional JoinNode::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional JoinNode::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector JoinNode::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional JoinNode::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional JoinNode::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional JoinNode::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional JoinNode::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional JoinNode::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional JoinNode::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional JoinNode::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector JoinNode::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector JoinNode::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional JoinNode::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional JoinNode::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector JoinNode::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Package::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Package::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Package::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Package::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Package::getElementId() const { return read_string_("elementId"); } +inline std::vector Package::getFilterCondition() const { return read_list_("filterCondition"); } +inline std::vector Package::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional Package::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Package::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::vector Package::getMember() const { return read_list_("member"); } +inline std::vector Package::getMembership() const { return read_list_("membership"); } +inline std::optional Package::getName() const { return read_string_("name"); } +inline std::vector Package::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Package::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Package::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Package::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Package::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Package::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Package::getOwner() const { return read_ref_("owner"); } +inline std::optional Package::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Package::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Package::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Package::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Package::getShortName() const { return read_string_("shortName"); } +inline std::vector Package::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Package::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Package::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Package::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Package::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional Package::includeAsMember(const std::optional& element) const { return as_bool_(call_("includeAsMember", {detail::arg(element)})); } +inline std::optional Package::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Package::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Package::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Package::path() const { return as_string_(call_("path", {})); } +inline std::optional Package::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Package::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Package::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Package::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Package::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Package::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Package::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Package::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LibraryPackage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional LibraryPackage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LibraryPackage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LibraryPackage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LibraryPackage::getElementId() const { return read_string_("elementId"); } +inline std::vector LibraryPackage::getFilterCondition() const { return read_list_("filterCondition"); } +inline std::vector LibraryPackage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional LibraryPackage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LibraryPackage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LibraryPackage::getIsStandard() const { return read_bool_("isStandard"); } +inline std::vector LibraryPackage::getMember() const { return read_list_("member"); } +inline std::vector LibraryPackage::getMembership() const { return read_list_("membership"); } +inline std::optional LibraryPackage::getName() const { return read_string_("name"); } +inline std::vector LibraryPackage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector LibraryPackage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LibraryPackage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LibraryPackage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LibraryPackage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LibraryPackage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional LibraryPackage::getOwner() const { return read_ref_("owner"); } +inline std::optional LibraryPackage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LibraryPackage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LibraryPackage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LibraryPackage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LibraryPackage::getShortName() const { return read_string_("shortName"); } +inline std::vector LibraryPackage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional LibraryPackage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LibraryPackage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LibraryPackage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LibraryPackage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional LibraryPackage::includeAsMember(const std::optional& element) const { return as_bool_(call_("includeAsMember", {detail::arg(element)})); } +inline std::optional LibraryPackage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LibraryPackage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector LibraryPackage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LibraryPackage::path() const { return as_string_(call_("path", {})); } +inline std::optional LibraryPackage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LibraryPackage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LibraryPackage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LibraryPackage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LibraryPackage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LibraryPackage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LibraryPackage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LibraryPackage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LiteralExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LiteralExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector LiteralExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LiteralExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LiteralExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LiteralExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LiteralExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LiteralExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional LiteralExpression::getDirection() const { return read_string_("direction"); } +inline std::vector LiteralExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LiteralExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector LiteralExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LiteralExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LiteralExpression::getFeature() const { return read_list_("feature"); } +inline std::vector LiteralExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LiteralExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LiteralExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional LiteralExpression::getFunction() const { return read_ref_("function"); } +inline std::vector LiteralExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector LiteralExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LiteralExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LiteralExpression::getInput() const { return read_list_("input"); } +inline std::vector LiteralExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LiteralExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LiteralExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LiteralExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LiteralExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LiteralExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LiteralExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LiteralExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LiteralExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LiteralExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional LiteralExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LiteralExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LiteralExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LiteralExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LiteralExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector LiteralExpression::getMember() const { return read_list_("member"); } +inline std::vector LiteralExpression::getMembership() const { return read_list_("membership"); } +inline std::optional LiteralExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LiteralExpression::getName() const { return read_string_("name"); } +inline std::vector LiteralExpression::getOutput() const { return read_list_("output"); } +inline std::vector LiteralExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LiteralExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LiteralExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LiteralExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LiteralExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LiteralExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LiteralExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LiteralExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LiteralExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LiteralExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LiteralExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LiteralExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LiteralExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LiteralExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LiteralExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LiteralExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LiteralExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LiteralExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LiteralExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LiteralExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LiteralExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LiteralExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LiteralExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LiteralExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional LiteralExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LiteralExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LiteralExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LiteralExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LiteralExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector LiteralExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional LiteralExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LiteralExpression::getResult() const { return read_ref_("result"); } +inline std::optional LiteralExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector LiteralExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LiteralExpression::getType() const { return read_list_("type"); } +inline std::vector LiteralExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector LiteralExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LiteralExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LiteralExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector LiteralExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LiteralExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LiteralExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional LiteralExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LiteralExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LiteralExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LiteralExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LiteralExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LiteralExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LiteralExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector LiteralExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LiteralExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LiteralExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LiteralExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LiteralExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LiteralExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LiteralExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LiteralExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LiteralExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional LiteralExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector LiteralExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LiteralExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LiteralExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LiteralExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LiteralExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional LiteralExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LiteralExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector LiteralExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LiteralExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LiteralExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LiteralExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LiteralExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LiteralExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LiteralExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LiteralExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LiteralExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LiteralExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LiteralExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LiteralExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LiteralBoolean::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LiteralBoolean::getBehavior() const { return read_list_("behavior"); } +inline std::vector LiteralBoolean::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LiteralBoolean::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LiteralBoolean::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LiteralBoolean::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LiteralBoolean::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LiteralBoolean::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional LiteralBoolean::getDirection() const { return read_string_("direction"); } +inline std::vector LiteralBoolean::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LiteralBoolean::getElementId() const { return read_string_("elementId"); } +inline std::vector LiteralBoolean::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LiteralBoolean::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LiteralBoolean::getFeature() const { return read_list_("feature"); } +inline std::vector LiteralBoolean::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LiteralBoolean::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LiteralBoolean::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional LiteralBoolean::getFunction() const { return read_ref_("function"); } +inline std::vector LiteralBoolean::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector LiteralBoolean::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LiteralBoolean::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LiteralBoolean::getInput() const { return read_list_("input"); } +inline std::vector LiteralBoolean::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LiteralBoolean::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LiteralBoolean::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LiteralBoolean::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LiteralBoolean::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LiteralBoolean::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LiteralBoolean::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LiteralBoolean::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LiteralBoolean::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LiteralBoolean::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional LiteralBoolean::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LiteralBoolean::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LiteralBoolean::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LiteralBoolean::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LiteralBoolean::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector LiteralBoolean::getMember() const { return read_list_("member"); } +inline std::vector LiteralBoolean::getMembership() const { return read_list_("membership"); } +inline std::optional LiteralBoolean::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LiteralBoolean::getName() const { return read_string_("name"); } +inline std::vector LiteralBoolean::getOutput() const { return read_list_("output"); } +inline std::vector LiteralBoolean::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LiteralBoolean::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LiteralBoolean::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LiteralBoolean::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LiteralBoolean::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LiteralBoolean::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LiteralBoolean::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LiteralBoolean::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LiteralBoolean::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LiteralBoolean::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LiteralBoolean::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LiteralBoolean::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LiteralBoolean::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LiteralBoolean::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LiteralBoolean::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LiteralBoolean::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LiteralBoolean::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LiteralBoolean::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LiteralBoolean::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LiteralBoolean::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LiteralBoolean::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LiteralBoolean::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LiteralBoolean::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LiteralBoolean::getOwner() const { return read_ref_("owner"); } +inline std::optional LiteralBoolean::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LiteralBoolean::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LiteralBoolean::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LiteralBoolean::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LiteralBoolean::getOwningType() const { return read_ref_("owningType"); } +inline std::vector LiteralBoolean::getParameter() const { return read_list_("parameter"); } +inline std::optional LiteralBoolean::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LiteralBoolean::getResult() const { return read_ref_("result"); } +inline std::optional LiteralBoolean::getShortName() const { return read_string_("shortName"); } +inline std::vector LiteralBoolean::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LiteralBoolean::getType() const { return read_list_("type"); } +inline std::vector LiteralBoolean::getUnioningType() const { return read_list_("unioningType"); } +inline std::optional LiteralBoolean::getValue() const { return read_bool_("value"); } +inline std::vector LiteralBoolean::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LiteralBoolean::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LiteralBoolean::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector LiteralBoolean::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LiteralBoolean::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LiteralBoolean::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional LiteralBoolean::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LiteralBoolean::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LiteralBoolean::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LiteralBoolean::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LiteralBoolean::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LiteralBoolean::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LiteralBoolean::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector LiteralBoolean::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LiteralBoolean::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LiteralBoolean::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralBoolean::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LiteralBoolean::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LiteralBoolean::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LiteralBoolean::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LiteralBoolean::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LiteralBoolean::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LiteralBoolean::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional LiteralBoolean::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector LiteralBoolean::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LiteralBoolean::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LiteralBoolean::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LiteralBoolean::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralBoolean::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LiteralBoolean::path() const { return as_string_(call_("path", {})); } +inline std::optional LiteralBoolean::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralBoolean::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LiteralBoolean::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector LiteralBoolean::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LiteralBoolean::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LiteralBoolean::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LiteralBoolean::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LiteralBoolean::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LiteralBoolean::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LiteralBoolean::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LiteralBoolean::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LiteralBoolean::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LiteralBoolean::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LiteralBoolean::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralBoolean::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LiteralBoolean::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LiteralInfinity::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LiteralInfinity::getBehavior() const { return read_list_("behavior"); } +inline std::vector LiteralInfinity::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LiteralInfinity::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LiteralInfinity::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LiteralInfinity::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LiteralInfinity::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LiteralInfinity::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional LiteralInfinity::getDirection() const { return read_string_("direction"); } +inline std::vector LiteralInfinity::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LiteralInfinity::getElementId() const { return read_string_("elementId"); } +inline std::vector LiteralInfinity::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LiteralInfinity::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LiteralInfinity::getFeature() const { return read_list_("feature"); } +inline std::vector LiteralInfinity::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LiteralInfinity::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LiteralInfinity::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional LiteralInfinity::getFunction() const { return read_ref_("function"); } +inline std::vector LiteralInfinity::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector LiteralInfinity::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LiteralInfinity::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LiteralInfinity::getInput() const { return read_list_("input"); } +inline std::vector LiteralInfinity::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LiteralInfinity::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LiteralInfinity::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LiteralInfinity::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LiteralInfinity::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LiteralInfinity::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LiteralInfinity::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LiteralInfinity::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LiteralInfinity::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LiteralInfinity::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional LiteralInfinity::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LiteralInfinity::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LiteralInfinity::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LiteralInfinity::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LiteralInfinity::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector LiteralInfinity::getMember() const { return read_list_("member"); } +inline std::vector LiteralInfinity::getMembership() const { return read_list_("membership"); } +inline std::optional LiteralInfinity::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LiteralInfinity::getName() const { return read_string_("name"); } +inline std::vector LiteralInfinity::getOutput() const { return read_list_("output"); } +inline std::vector LiteralInfinity::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LiteralInfinity::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LiteralInfinity::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LiteralInfinity::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LiteralInfinity::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LiteralInfinity::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LiteralInfinity::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LiteralInfinity::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LiteralInfinity::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LiteralInfinity::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LiteralInfinity::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LiteralInfinity::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LiteralInfinity::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LiteralInfinity::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LiteralInfinity::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LiteralInfinity::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LiteralInfinity::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LiteralInfinity::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LiteralInfinity::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LiteralInfinity::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LiteralInfinity::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LiteralInfinity::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LiteralInfinity::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LiteralInfinity::getOwner() const { return read_ref_("owner"); } +inline std::optional LiteralInfinity::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LiteralInfinity::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LiteralInfinity::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LiteralInfinity::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LiteralInfinity::getOwningType() const { return read_ref_("owningType"); } +inline std::vector LiteralInfinity::getParameter() const { return read_list_("parameter"); } +inline std::optional LiteralInfinity::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LiteralInfinity::getResult() const { return read_ref_("result"); } +inline std::optional LiteralInfinity::getShortName() const { return read_string_("shortName"); } +inline std::vector LiteralInfinity::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LiteralInfinity::getType() const { return read_list_("type"); } +inline std::vector LiteralInfinity::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector LiteralInfinity::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LiteralInfinity::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LiteralInfinity::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector LiteralInfinity::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LiteralInfinity::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LiteralInfinity::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional LiteralInfinity::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LiteralInfinity::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LiteralInfinity::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LiteralInfinity::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LiteralInfinity::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LiteralInfinity::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LiteralInfinity::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector LiteralInfinity::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LiteralInfinity::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LiteralInfinity::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralInfinity::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LiteralInfinity::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LiteralInfinity::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LiteralInfinity::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LiteralInfinity::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LiteralInfinity::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LiteralInfinity::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional LiteralInfinity::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector LiteralInfinity::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LiteralInfinity::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LiteralInfinity::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LiteralInfinity::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralInfinity::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LiteralInfinity::path() const { return as_string_(call_("path", {})); } +inline std::optional LiteralInfinity::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInfinity::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LiteralInfinity::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector LiteralInfinity::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LiteralInfinity::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInfinity::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInfinity::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LiteralInfinity::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LiteralInfinity::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LiteralInfinity::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LiteralInfinity::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LiteralInfinity::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LiteralInfinity::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LiteralInfinity::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInfinity::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LiteralInfinity::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LiteralInteger::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LiteralInteger::getBehavior() const { return read_list_("behavior"); } +inline std::vector LiteralInteger::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LiteralInteger::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LiteralInteger::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LiteralInteger::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LiteralInteger::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LiteralInteger::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional LiteralInteger::getDirection() const { return read_string_("direction"); } +inline std::vector LiteralInteger::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LiteralInteger::getElementId() const { return read_string_("elementId"); } +inline std::vector LiteralInteger::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LiteralInteger::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LiteralInteger::getFeature() const { return read_list_("feature"); } +inline std::vector LiteralInteger::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LiteralInteger::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LiteralInteger::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional LiteralInteger::getFunction() const { return read_ref_("function"); } +inline std::vector LiteralInteger::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector LiteralInteger::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LiteralInteger::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LiteralInteger::getInput() const { return read_list_("input"); } +inline std::vector LiteralInteger::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LiteralInteger::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LiteralInteger::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LiteralInteger::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LiteralInteger::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LiteralInteger::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LiteralInteger::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LiteralInteger::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LiteralInteger::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LiteralInteger::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional LiteralInteger::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LiteralInteger::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LiteralInteger::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LiteralInteger::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LiteralInteger::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector LiteralInteger::getMember() const { return read_list_("member"); } +inline std::vector LiteralInteger::getMembership() const { return read_list_("membership"); } +inline std::optional LiteralInteger::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LiteralInteger::getName() const { return read_string_("name"); } +inline std::vector LiteralInteger::getOutput() const { return read_list_("output"); } +inline std::vector LiteralInteger::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LiteralInteger::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LiteralInteger::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LiteralInteger::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LiteralInteger::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LiteralInteger::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LiteralInteger::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LiteralInteger::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LiteralInteger::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LiteralInteger::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LiteralInteger::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LiteralInteger::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LiteralInteger::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LiteralInteger::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LiteralInteger::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LiteralInteger::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LiteralInteger::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LiteralInteger::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LiteralInteger::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LiteralInteger::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LiteralInteger::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LiteralInteger::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LiteralInteger::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LiteralInteger::getOwner() const { return read_ref_("owner"); } +inline std::optional LiteralInteger::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LiteralInteger::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LiteralInteger::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LiteralInteger::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LiteralInteger::getOwningType() const { return read_ref_("owningType"); } +inline std::vector LiteralInteger::getParameter() const { return read_list_("parameter"); } +inline std::optional LiteralInteger::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LiteralInteger::getResult() const { return read_ref_("result"); } +inline std::optional LiteralInteger::getShortName() const { return read_string_("shortName"); } +inline std::vector LiteralInteger::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LiteralInteger::getType() const { return read_list_("type"); } +inline std::vector LiteralInteger::getUnioningType() const { return read_list_("unioningType"); } +inline std::optional LiteralInteger::getValue() const { return read_int_("value"); } +inline std::vector LiteralInteger::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LiteralInteger::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LiteralInteger::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector LiteralInteger::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LiteralInteger::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LiteralInteger::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional LiteralInteger::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LiteralInteger::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LiteralInteger::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LiteralInteger::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LiteralInteger::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LiteralInteger::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LiteralInteger::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector LiteralInteger::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LiteralInteger::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LiteralInteger::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralInteger::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LiteralInteger::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LiteralInteger::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LiteralInteger::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LiteralInteger::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LiteralInteger::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LiteralInteger::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional LiteralInteger::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector LiteralInteger::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LiteralInteger::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LiteralInteger::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LiteralInteger::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralInteger::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LiteralInteger::path() const { return as_string_(call_("path", {})); } +inline std::optional LiteralInteger::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInteger::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LiteralInteger::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector LiteralInteger::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LiteralInteger::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInteger::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInteger::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LiteralInteger::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LiteralInteger::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LiteralInteger::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LiteralInteger::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LiteralInteger::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LiteralInteger::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LiteralInteger::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralInteger::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LiteralInteger::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LiteralRational::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LiteralRational::getBehavior() const { return read_list_("behavior"); } +inline std::vector LiteralRational::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LiteralRational::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LiteralRational::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LiteralRational::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LiteralRational::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LiteralRational::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional LiteralRational::getDirection() const { return read_string_("direction"); } +inline std::vector LiteralRational::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LiteralRational::getElementId() const { return read_string_("elementId"); } +inline std::vector LiteralRational::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LiteralRational::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LiteralRational::getFeature() const { return read_list_("feature"); } +inline std::vector LiteralRational::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LiteralRational::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LiteralRational::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional LiteralRational::getFunction() const { return read_ref_("function"); } +inline std::vector LiteralRational::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector LiteralRational::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LiteralRational::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LiteralRational::getInput() const { return read_list_("input"); } +inline std::vector LiteralRational::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LiteralRational::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LiteralRational::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LiteralRational::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LiteralRational::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LiteralRational::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LiteralRational::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LiteralRational::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LiteralRational::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LiteralRational::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional LiteralRational::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LiteralRational::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LiteralRational::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LiteralRational::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LiteralRational::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector LiteralRational::getMember() const { return read_list_("member"); } +inline std::vector LiteralRational::getMembership() const { return read_list_("membership"); } +inline std::optional LiteralRational::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LiteralRational::getName() const { return read_string_("name"); } +inline std::vector LiteralRational::getOutput() const { return read_list_("output"); } +inline std::vector LiteralRational::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LiteralRational::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LiteralRational::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LiteralRational::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LiteralRational::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LiteralRational::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LiteralRational::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LiteralRational::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LiteralRational::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LiteralRational::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LiteralRational::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LiteralRational::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LiteralRational::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LiteralRational::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LiteralRational::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LiteralRational::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LiteralRational::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LiteralRational::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LiteralRational::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LiteralRational::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LiteralRational::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LiteralRational::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LiteralRational::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LiteralRational::getOwner() const { return read_ref_("owner"); } +inline std::optional LiteralRational::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LiteralRational::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LiteralRational::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LiteralRational::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LiteralRational::getOwningType() const { return read_ref_("owningType"); } +inline std::vector LiteralRational::getParameter() const { return read_list_("parameter"); } +inline std::optional LiteralRational::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LiteralRational::getResult() const { return read_ref_("result"); } +inline std::optional LiteralRational::getShortName() const { return read_string_("shortName"); } +inline std::vector LiteralRational::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LiteralRational::getType() const { return read_list_("type"); } +inline std::vector LiteralRational::getUnioningType() const { return read_list_("unioningType"); } +inline std::optional LiteralRational::getValue() const { return read_real_("value"); } +inline std::vector LiteralRational::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LiteralRational::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LiteralRational::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector LiteralRational::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LiteralRational::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LiteralRational::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional LiteralRational::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LiteralRational::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LiteralRational::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LiteralRational::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LiteralRational::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LiteralRational::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LiteralRational::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector LiteralRational::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LiteralRational::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LiteralRational::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralRational::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LiteralRational::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LiteralRational::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LiteralRational::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LiteralRational::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LiteralRational::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LiteralRational::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional LiteralRational::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector LiteralRational::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LiteralRational::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LiteralRational::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LiteralRational::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralRational::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LiteralRational::path() const { return as_string_(call_("path", {})); } +inline std::optional LiteralRational::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralRational::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LiteralRational::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector LiteralRational::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LiteralRational::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LiteralRational::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LiteralRational::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LiteralRational::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LiteralRational::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LiteralRational::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LiteralRational::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LiteralRational::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LiteralRational::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LiteralRational::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralRational::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LiteralRational::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector LiteralString::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector LiteralString::getBehavior() const { return read_list_("behavior"); } +inline std::vector LiteralString::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional LiteralString::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional LiteralString::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional LiteralString::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector LiteralString::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector LiteralString::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional LiteralString::getDirection() const { return read_string_("direction"); } +inline std::vector LiteralString::getDocumentation() const { return read_list_("documentation"); } +inline std::optional LiteralString::getElementId() const { return read_string_("elementId"); } +inline std::vector LiteralString::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional LiteralString::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector LiteralString::getFeature() const { return read_list_("feature"); } +inline std::vector LiteralString::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional LiteralString::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector LiteralString::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional LiteralString::getFunction() const { return read_ref_("function"); } +inline std::vector LiteralString::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector LiteralString::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector LiteralString::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector LiteralString::getInput() const { return read_list_("input"); } +inline std::vector LiteralString::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional LiteralString::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional LiteralString::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional LiteralString::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional LiteralString::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional LiteralString::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional LiteralString::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional LiteralString::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional LiteralString::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional LiteralString::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional LiteralString::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional LiteralString::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional LiteralString::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional LiteralString::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional LiteralString::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector LiteralString::getMember() const { return read_list_("member"); } +inline std::vector LiteralString::getMembership() const { return read_list_("membership"); } +inline std::optional LiteralString::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional LiteralString::getName() const { return read_string_("name"); } +inline std::vector LiteralString::getOutput() const { return read_list_("output"); } +inline std::vector LiteralString::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional LiteralString::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional LiteralString::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector LiteralString::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector LiteralString::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector LiteralString::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector LiteralString::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector LiteralString::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector LiteralString::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector LiteralString::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector LiteralString::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector LiteralString::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector LiteralString::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector LiteralString::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector LiteralString::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector LiteralString::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional LiteralString::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector LiteralString::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector LiteralString::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector LiteralString::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector LiteralString::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector LiteralString::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector LiteralString::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional LiteralString::getOwner() const { return read_ref_("owner"); } +inline std::optional LiteralString::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional LiteralString::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional LiteralString::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional LiteralString::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional LiteralString::getOwningType() const { return read_ref_("owningType"); } +inline std::vector LiteralString::getParameter() const { return read_list_("parameter"); } +inline std::optional LiteralString::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional LiteralString::getResult() const { return read_ref_("result"); } +inline std::optional LiteralString::getShortName() const { return read_string_("shortName"); } +inline std::vector LiteralString::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector LiteralString::getType() const { return read_list_("type"); } +inline std::vector LiteralString::getUnioningType() const { return read_list_("unioningType"); } +inline std::optional LiteralString::getValue() const { return read_string_("value"); } +inline std::vector LiteralString::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector LiteralString::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector LiteralString::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector LiteralString::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional LiteralString::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional LiteralString::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional LiteralString::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional LiteralString::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional LiteralString::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional LiteralString::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional LiteralString::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional LiteralString::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector LiteralString::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector LiteralString::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector LiteralString::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector LiteralString::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralString::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional LiteralString::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional LiteralString::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional LiteralString::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional LiteralString::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional LiteralString::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector LiteralString::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional LiteralString::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector LiteralString::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector LiteralString::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional LiteralString::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector LiteralString::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional LiteralString::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional LiteralString::path() const { return as_string_(call_("path", {})); } +inline std::optional LiteralString::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralString::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional LiteralString::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector LiteralString::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional LiteralString::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional LiteralString::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional LiteralString::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional LiteralString::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional LiteralString::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional LiteralString::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional LiteralString::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector LiteralString::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector LiteralString::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional LiteralString::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional LiteralString::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector LiteralString::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector MembershipImport::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional MembershipImport::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MembershipImport::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MembershipImport::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MembershipImport::getElementId() const { return read_string_("elementId"); } +inline std::optional MembershipImport::getImportOwningNamespace() const { return read_ref_("importOwningNamespace"); } +inline std::optional MembershipImport::getImportedElement() const { return read_ref_("importedElement"); } +inline std::optional MembershipImport::getImportedMembership() const { return read_ref_("importedMembership"); } +inline std::optional MembershipImport::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional MembershipImport::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MembershipImport::getIsImportAll() const { return read_bool_("isImportAll"); } +inline std::optional MembershipImport::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MembershipImport::getIsRecursive() const { return read_bool_("isRecursive"); } +inline std::optional MembershipImport::getName() const { return read_string_("name"); } +inline std::vector MembershipImport::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector MembershipImport::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MembershipImport::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector MembershipImport::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional MembershipImport::getOwner() const { return read_ref_("owner"); } +inline std::optional MembershipImport::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MembershipImport::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MembershipImport::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional MembershipImport::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MembershipImport::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector MembershipImport::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional MembershipImport::getShortName() const { return read_string_("shortName"); } +inline std::vector MembershipImport::getSource() const { return read_list_("source"); } +inline std::vector MembershipImport::getTarget() const { return read_list_("target"); } +inline std::vector MembershipImport::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional MembershipImport::getVisibility() const { return read_string_("visibility"); } +inline std::optional MembershipImport::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MembershipImport::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MembershipImport::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MembershipImport::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional MembershipImport::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional MembershipImport::path() const { return as_string_(call_("path", {})); } +inline std::vector MembershipExpose::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional MembershipExpose::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MembershipExpose::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MembershipExpose::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MembershipExpose::getElementId() const { return read_string_("elementId"); } +inline std::optional MembershipExpose::getImportOwningNamespace() const { return read_ref_("importOwningNamespace"); } +inline std::optional MembershipExpose::getImportedElement() const { return read_ref_("importedElement"); } +inline std::optional MembershipExpose::getImportedMembership() const { return read_ref_("importedMembership"); } +inline std::optional MembershipExpose::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional MembershipExpose::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MembershipExpose::getIsImportAll() const { return read_bool_("isImportAll"); } +inline std::optional MembershipExpose::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MembershipExpose::getIsRecursive() const { return read_bool_("isRecursive"); } +inline std::optional MembershipExpose::getName() const { return read_string_("name"); } +inline std::vector MembershipExpose::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector MembershipExpose::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MembershipExpose::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector MembershipExpose::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional MembershipExpose::getOwner() const { return read_ref_("owner"); } +inline std::optional MembershipExpose::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MembershipExpose::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MembershipExpose::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional MembershipExpose::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MembershipExpose::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector MembershipExpose::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional MembershipExpose::getShortName() const { return read_string_("shortName"); } +inline std::vector MembershipExpose::getSource() const { return read_list_("source"); } +inline std::vector MembershipExpose::getTarget() const { return read_list_("target"); } +inline std::vector MembershipExpose::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional MembershipExpose::getVisibility() const { return read_string_("visibility"); } +inline std::optional MembershipExpose::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MembershipExpose::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MembershipExpose::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MembershipExpose::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional MembershipExpose::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional MembershipExpose::path() const { return as_string_(call_("path", {})); } +inline std::vector MergeNode::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector MergeNode::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector MergeNode::getBehavior() const { return read_list_("behavior"); } +inline std::vector MergeNode::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional MergeNode::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional MergeNode::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MergeNode::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MergeNode::getDefinition() const { return read_list_("definition"); } +inline std::vector MergeNode::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector MergeNode::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector MergeNode::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional MergeNode::getDirection() const { return read_string_("direction"); } +inline std::vector MergeNode::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MergeNode::getElementId() const { return read_string_("elementId"); } +inline std::vector MergeNode::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional MergeNode::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector MergeNode::getFeature() const { return read_list_("feature"); } +inline std::vector MergeNode::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional MergeNode::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector MergeNode::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector MergeNode::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional MergeNode::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector MergeNode::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector MergeNode::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector MergeNode::getInput() const { return read_list_("input"); } +inline std::vector MergeNode::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional MergeNode::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional MergeNode::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional MergeNode::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional MergeNode::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional MergeNode::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional MergeNode::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional MergeNode::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MergeNode::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional MergeNode::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MergeNode::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional MergeNode::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional MergeNode::getIsReference() const { return read_bool_("isReference"); } +inline std::optional MergeNode::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional MergeNode::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional MergeNode::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional MergeNode::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional MergeNode::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector MergeNode::getMember() const { return read_list_("member"); } +inline std::vector MergeNode::getMembership() const { return read_list_("membership"); } +inline std::optional MergeNode::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional MergeNode::getName() const { return read_string_("name"); } +inline std::vector MergeNode::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector MergeNode::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector MergeNode::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector MergeNode::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector MergeNode::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector MergeNode::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector MergeNode::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector MergeNode::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector MergeNode::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector MergeNode::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector MergeNode::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector MergeNode::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector MergeNode::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector MergeNode::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector MergeNode::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector MergeNode::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector MergeNode::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector MergeNode::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector MergeNode::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector MergeNode::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector MergeNode::getNestedState() const { return read_list_("nestedState"); } +inline std::vector MergeNode::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector MergeNode::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector MergeNode::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector MergeNode::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector MergeNode::getNestedView() const { return read_list_("nestedView"); } +inline std::vector MergeNode::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector MergeNode::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector MergeNode::getOutput() const { return read_list_("output"); } +inline std::vector MergeNode::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional MergeNode::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional MergeNode::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector MergeNode::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector MergeNode::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector MergeNode::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MergeNode::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector MergeNode::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector MergeNode::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector MergeNode::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector MergeNode::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector MergeNode::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector MergeNode::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector MergeNode::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector MergeNode::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector MergeNode::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional MergeNode::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector MergeNode::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector MergeNode::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector MergeNode::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector MergeNode::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector MergeNode::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector MergeNode::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional MergeNode::getOwner() const { return read_ref_("owner"); } +inline std::optional MergeNode::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional MergeNode::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional MergeNode::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MergeNode::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MergeNode::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MergeNode::getOwningType() const { return read_ref_("owningType"); } +inline std::optional MergeNode::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector MergeNode::getParameter() const { return read_list_("parameter"); } +inline std::optional MergeNode::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional MergeNode::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional MergeNode::getShortName() const { return read_string_("shortName"); } +inline std::vector MergeNode::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector MergeNode::getType() const { return read_list_("type"); } +inline std::vector MergeNode::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector MergeNode::getUsage() const { return read_list_("usage"); } +inline std::vector MergeNode::getVariant() const { return read_list_("variant"); } +inline std::vector MergeNode::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector MergeNode::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector MergeNode::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector MergeNode::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional MergeNode::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector MergeNode::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional MergeNode::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional MergeNode::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional MergeNode::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional MergeNode::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional MergeNode::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MergeNode::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MergeNode::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MergeNode::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector MergeNode::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector MergeNode::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MergeNode::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector MergeNode::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional MergeNode::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional MergeNode::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional MergeNode::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional MergeNode::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional MergeNode::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional MergeNode::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional MergeNode::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector MergeNode::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector MergeNode::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::optional MergeNode::multiplicityHasBounds(const std::optional& mult, const std::optional& lower, const std::optional& upper) const { return as_bool_(call_("multiplicityHasBounds", {detail::arg(mult), detail::arg(lower), detail::arg(upper)})); } +inline std::vector MergeNode::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional MergeNode::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector MergeNode::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MergeNode::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional MergeNode::path() const { return as_string_(call_("path", {})); } +inline std::optional MergeNode::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional MergeNode::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional MergeNode::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional MergeNode::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector MergeNode::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional MergeNode::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional MergeNode::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional MergeNode::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional MergeNode::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional MergeNode::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional MergeNode::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional MergeNode::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector MergeNode::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector MergeNode::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional MergeNode::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional MergeNode::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector MergeNode::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Metaclass::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Metaclass::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Metaclass::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Metaclass::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Metaclass::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector Metaclass::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Metaclass::getElementId() const { return read_string_("elementId"); } +inline std::vector Metaclass::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector Metaclass::getFeature() const { return read_list_("feature"); } +inline std::vector Metaclass::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector Metaclass::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Metaclass::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Metaclass::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Metaclass::getInput() const { return read_list_("input"); } +inline std::vector Metaclass::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Metaclass::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Metaclass::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Metaclass::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Metaclass::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Metaclass::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::vector Metaclass::getMember() const { return read_list_("member"); } +inline std::vector Metaclass::getMembership() const { return read_list_("membership"); } +inline std::optional Metaclass::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Metaclass::getName() const { return read_string_("name"); } +inline std::vector Metaclass::getOutput() const { return read_list_("output"); } +inline std::vector Metaclass::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Metaclass::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector Metaclass::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Metaclass::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Metaclass::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Metaclass::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Metaclass::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Metaclass::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Metaclass::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Metaclass::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Metaclass::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Metaclass::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Metaclass::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Metaclass::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Metaclass::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector Metaclass::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Metaclass::getOwner() const { return read_ref_("owner"); } +inline std::optional Metaclass::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Metaclass::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Metaclass::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Metaclass::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Metaclass::getShortName() const { return read_string_("shortName"); } +inline std::vector Metaclass::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Metaclass::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Metaclass::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Metaclass::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional Metaclass::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Metaclass::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Metaclass::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Metaclass::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Metaclass::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Metaclass::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Metaclass::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Metaclass::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Metaclass::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Metaclass::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Metaclass::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Metaclass::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Metaclass::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector Metaclass::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Metaclass::path() const { return as_string_(call_("path", {})); } +inline std::optional Metaclass::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector Metaclass::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Metaclass::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Metaclass::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Metaclass::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Metaclass::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Metaclass::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Metaclass::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector Metaclass::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional Metaclass::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Metaclass::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Metaclass::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector MetadataAccessExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector MetadataAccessExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector MetadataAccessExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional MetadataAccessExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional MetadataAccessExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MetadataAccessExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MetadataAccessExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector MetadataAccessExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional MetadataAccessExpression::getDirection() const { return read_string_("direction"); } +inline std::vector MetadataAccessExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MetadataAccessExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector MetadataAccessExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional MetadataAccessExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector MetadataAccessExpression::getFeature() const { return read_list_("feature"); } +inline std::vector MetadataAccessExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional MetadataAccessExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector MetadataAccessExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional MetadataAccessExpression::getFunction() const { return read_ref_("function"); } +inline std::vector MetadataAccessExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector MetadataAccessExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector MetadataAccessExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector MetadataAccessExpression::getInput() const { return read_list_("input"); } +inline std::vector MetadataAccessExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional MetadataAccessExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional MetadataAccessExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional MetadataAccessExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional MetadataAccessExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional MetadataAccessExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional MetadataAccessExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional MetadataAccessExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MetadataAccessExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MetadataAccessExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional MetadataAccessExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional MetadataAccessExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional MetadataAccessExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional MetadataAccessExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional MetadataAccessExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector MetadataAccessExpression::getMember() const { return read_list_("member"); } +inline std::vector MetadataAccessExpression::getMembership() const { return read_list_("membership"); } +inline std::optional MetadataAccessExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional MetadataAccessExpression::getName() const { return read_string_("name"); } +inline std::vector MetadataAccessExpression::getOutput() const { return read_list_("output"); } +inline std::vector MetadataAccessExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional MetadataAccessExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional MetadataAccessExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector MetadataAccessExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector MetadataAccessExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector MetadataAccessExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MetadataAccessExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector MetadataAccessExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector MetadataAccessExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector MetadataAccessExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector MetadataAccessExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector MetadataAccessExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector MetadataAccessExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector MetadataAccessExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector MetadataAccessExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector MetadataAccessExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional MetadataAccessExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector MetadataAccessExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector MetadataAccessExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector MetadataAccessExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector MetadataAccessExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector MetadataAccessExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector MetadataAccessExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional MetadataAccessExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional MetadataAccessExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional MetadataAccessExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MetadataAccessExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MetadataAccessExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MetadataAccessExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector MetadataAccessExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional MetadataAccessExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional MetadataAccessExpression::getReferencedElement() const { return read_ref_("referencedElement"); } +inline std::optional MetadataAccessExpression::getResult() const { return read_ref_("result"); } +inline std::optional MetadataAccessExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector MetadataAccessExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector MetadataAccessExpression::getType() const { return read_list_("type"); } +inline std::vector MetadataAccessExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector MetadataAccessExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector MetadataAccessExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector MetadataAccessExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector MetadataAccessExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional MetadataAccessExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional MetadataAccessExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional MetadataAccessExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional MetadataAccessExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional MetadataAccessExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional MetadataAccessExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MetadataAccessExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MetadataAccessExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MetadataAccessExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector MetadataAccessExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector MetadataAccessExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector MetadataAccessExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataAccessExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional MetadataAccessExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional MetadataAccessExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional MetadataAccessExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional MetadataAccessExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional MetadataAccessExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector MetadataAccessExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional MetadataAccessExpression::metaclassFeature() const { return as_ref_(call_("metaclassFeature", {})); } +inline std::optional MetadataAccessExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector MetadataAccessExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector MetadataAccessExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional MetadataAccessExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector MetadataAccessExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataAccessExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional MetadataAccessExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional MetadataAccessExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataAccessExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional MetadataAccessExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector MetadataAccessExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional MetadataAccessExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional MetadataAccessExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional MetadataAccessExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional MetadataAccessExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional MetadataAccessExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional MetadataAccessExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional MetadataAccessExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector MetadataAccessExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector MetadataAccessExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional MetadataAccessExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataAccessExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector MetadataAccessExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector MetadataDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional MetadataDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MetadataDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MetadataDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector MetadataDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector MetadataDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector MetadataDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MetadataDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector MetadataDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector MetadataDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector MetadataDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector MetadataDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector MetadataDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector MetadataDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector MetadataDefinition::getInput() const { return read_list_("input"); } +inline std::vector MetadataDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional MetadataDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional MetadataDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional MetadataDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MetadataDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional MetadataDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MetadataDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional MetadataDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector MetadataDefinition::getMember() const { return read_list_("member"); } +inline std::vector MetadataDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional MetadataDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional MetadataDefinition::getName() const { return read_string_("name"); } +inline std::vector MetadataDefinition::getOutput() const { return read_list_("output"); } +inline std::vector MetadataDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector MetadataDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector MetadataDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector MetadataDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector MetadataDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector MetadataDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector MetadataDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector MetadataDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional MetadataDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector MetadataDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector MetadataDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector MetadataDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector MetadataDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector MetadataDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MetadataDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector MetadataDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector MetadataDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector MetadataDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector MetadataDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector MetadataDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector MetadataDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector MetadataDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector MetadataDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector MetadataDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector MetadataDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector MetadataDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector MetadataDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector MetadataDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector MetadataDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector MetadataDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector MetadataDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector MetadataDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector MetadataDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector MetadataDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector MetadataDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector MetadataDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector MetadataDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector MetadataDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector MetadataDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector MetadataDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector MetadataDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector MetadataDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector MetadataDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional MetadataDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional MetadataDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MetadataDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MetadataDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MetadataDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional MetadataDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector MetadataDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector MetadataDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector MetadataDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector MetadataDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector MetadataDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector MetadataDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector MetadataDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional MetadataDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional MetadataDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional MetadataDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MetadataDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MetadataDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MetadataDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector MetadataDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector MetadataDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional MetadataDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector MetadataDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector MetadataDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector MetadataDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector MetadataDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional MetadataDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector MetadataDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional MetadataDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional MetadataDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional MetadataDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional MetadataDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional MetadataDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional MetadataDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector MetadataDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional MetadataDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector MetadataDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector MetadataFeature::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector MetadataFeature::getAnnotatedElement() const { return read_list_("annotatedElement"); } +inline std::vector MetadataFeature::getAnnotation() const { return read_list_("annotation"); } +inline std::vector MetadataFeature::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional MetadataFeature::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional MetadataFeature::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MetadataFeature::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MetadataFeature::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector MetadataFeature::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional MetadataFeature::getDirection() const { return read_string_("direction"); } +inline std::vector MetadataFeature::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MetadataFeature::getElementId() const { return read_string_("elementId"); } +inline std::vector MetadataFeature::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional MetadataFeature::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector MetadataFeature::getFeature() const { return read_list_("feature"); } +inline std::vector MetadataFeature::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional MetadataFeature::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector MetadataFeature::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector MetadataFeature::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector MetadataFeature::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector MetadataFeature::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector MetadataFeature::getInput() const { return read_list_("input"); } +inline std::vector MetadataFeature::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional MetadataFeature::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional MetadataFeature::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional MetadataFeature::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional MetadataFeature::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional MetadataFeature::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional MetadataFeature::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional MetadataFeature::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MetadataFeature::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MetadataFeature::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional MetadataFeature::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional MetadataFeature::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional MetadataFeature::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional MetadataFeature::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector MetadataFeature::getMember() const { return read_list_("member"); } +inline std::vector MetadataFeature::getMembership() const { return read_list_("membership"); } +inline std::optional MetadataFeature::getMetaclass() const { return read_ref_("metaclass"); } +inline std::optional MetadataFeature::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional MetadataFeature::getName() const { return read_string_("name"); } +inline std::vector MetadataFeature::getOutput() const { return read_list_("output"); } +inline std::vector MetadataFeature::getOwnedAnnotatingRelationship() const { return read_list_("ownedAnnotatingRelationship"); } +inline std::vector MetadataFeature::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional MetadataFeature::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional MetadataFeature::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector MetadataFeature::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector MetadataFeature::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector MetadataFeature::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MetadataFeature::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector MetadataFeature::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector MetadataFeature::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector MetadataFeature::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector MetadataFeature::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector MetadataFeature::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector MetadataFeature::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector MetadataFeature::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector MetadataFeature::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector MetadataFeature::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional MetadataFeature::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector MetadataFeature::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector MetadataFeature::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector MetadataFeature::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector MetadataFeature::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector MetadataFeature::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector MetadataFeature::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional MetadataFeature::getOwner() const { return read_ref_("owner"); } +inline std::optional MetadataFeature::getOwningAnnotatingRelationship() const { return read_ref_("owningAnnotatingRelationship"); } +inline std::optional MetadataFeature::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional MetadataFeature::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MetadataFeature::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MetadataFeature::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MetadataFeature::getOwningType() const { return read_ref_("owningType"); } +inline std::optional MetadataFeature::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional MetadataFeature::getShortName() const { return read_string_("shortName"); } +inline std::vector MetadataFeature::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector MetadataFeature::getType() const { return read_list_("type"); } +inline std::vector MetadataFeature::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector MetadataFeature::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector MetadataFeature::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector MetadataFeature::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector MetadataFeature::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional MetadataFeature::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional MetadataFeature::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional MetadataFeature::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional MetadataFeature::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional MetadataFeature::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MetadataFeature::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MetadataFeature::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MetadataFeature::evaluateFeature(const std::optional& baseFeature) const { return as_list_(call_("evaluateFeature", {detail::arg(baseFeature)})); } +inline std::vector MetadataFeature::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector MetadataFeature::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector MetadataFeature::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataFeature::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional MetadataFeature::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional MetadataFeature::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional MetadataFeature::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional MetadataFeature::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional MetadataFeature::isSemantic() const { return as_bool_(call_("isSemantic", {})); } +inline std::optional MetadataFeature::isSyntactic() const { return as_bool_(call_("isSyntactic", {})); } +inline std::optional MetadataFeature::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector MetadataFeature::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector MetadataFeature::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector MetadataFeature::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional MetadataFeature::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector MetadataFeature::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataFeature::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional MetadataFeature::path() const { return as_string_(call_("path", {})); } +inline std::optional MetadataFeature::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataFeature::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional MetadataFeature::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector MetadataFeature::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional MetadataFeature::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional MetadataFeature::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional MetadataFeature::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional MetadataFeature::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional MetadataFeature::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional MetadataFeature::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional MetadataFeature::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector MetadataFeature::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional MetadataFeature::syntaxElement() const { return as_ref_(call_("syntaxElement", {})); } +inline std::vector MetadataFeature::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional MetadataFeature::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataFeature::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector MetadataFeature::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector MetadataUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector MetadataUsage::getAnnotatedElement() const { return read_list_("annotatedElement"); } +inline std::vector MetadataUsage::getAnnotation() const { return read_list_("annotation"); } +inline std::vector MetadataUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional MetadataUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional MetadataUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MetadataUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MetadataUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector MetadataUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector MetadataUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector MetadataUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional MetadataUsage::getDirection() const { return read_string_("direction"); } +inline std::vector MetadataUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MetadataUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector MetadataUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional MetadataUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector MetadataUsage::getFeature() const { return read_list_("feature"); } +inline std::vector MetadataUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional MetadataUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector MetadataUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector MetadataUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional MetadataUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector MetadataUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector MetadataUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector MetadataUsage::getInput() const { return read_list_("input"); } +inline std::vector MetadataUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional MetadataUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional MetadataUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional MetadataUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional MetadataUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional MetadataUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional MetadataUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional MetadataUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MetadataUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional MetadataUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MetadataUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional MetadataUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional MetadataUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional MetadataUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional MetadataUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional MetadataUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional MetadataUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector MetadataUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional MetadataUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector MetadataUsage::getMember() const { return read_list_("member"); } +inline std::vector MetadataUsage::getMembership() const { return read_list_("membership"); } +inline std::optional MetadataUsage::getMetaclass() const { return read_ref_("metaclass"); } +inline std::optional MetadataUsage::getMetadataDefinition() const { return read_ref_("metadataDefinition"); } +inline std::optional MetadataUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional MetadataUsage::getName() const { return read_string_("name"); } +inline std::vector MetadataUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector MetadataUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector MetadataUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector MetadataUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector MetadataUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector MetadataUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector MetadataUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector MetadataUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector MetadataUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector MetadataUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector MetadataUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector MetadataUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector MetadataUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector MetadataUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector MetadataUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector MetadataUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector MetadataUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector MetadataUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector MetadataUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector MetadataUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector MetadataUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector MetadataUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector MetadataUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector MetadataUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector MetadataUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector MetadataUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector MetadataUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector MetadataUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector MetadataUsage::getOutput() const { return read_list_("output"); } +inline std::vector MetadataUsage::getOwnedAnnotatingRelationship() const { return read_list_("ownedAnnotatingRelationship"); } +inline std::vector MetadataUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional MetadataUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional MetadataUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector MetadataUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector MetadataUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector MetadataUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MetadataUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector MetadataUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector MetadataUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector MetadataUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector MetadataUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector MetadataUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector MetadataUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector MetadataUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector MetadataUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector MetadataUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional MetadataUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector MetadataUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector MetadataUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector MetadataUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector MetadataUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector MetadataUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector MetadataUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional MetadataUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional MetadataUsage::getOwningAnnotatingRelationship() const { return read_ref_("owningAnnotatingRelationship"); } +inline std::optional MetadataUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional MetadataUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional MetadataUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MetadataUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MetadataUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MetadataUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional MetadataUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional MetadataUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional MetadataUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional MetadataUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector MetadataUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector MetadataUsage::getType() const { return read_list_("type"); } +inline std::vector MetadataUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector MetadataUsage::getUsage() const { return read_list_("usage"); } +inline std::vector MetadataUsage::getVariant() const { return read_list_("variant"); } +inline std::vector MetadataUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector MetadataUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector MetadataUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector MetadataUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector MetadataUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional MetadataUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional MetadataUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional MetadataUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional MetadataUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional MetadataUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MetadataUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MetadataUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector MetadataUsage::evaluateFeature(const std::optional& baseFeature) const { return as_list_(call_("evaluateFeature", {detail::arg(baseFeature)})); } +inline std::vector MetadataUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector MetadataUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector MetadataUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional MetadataUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional MetadataUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional MetadataUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional MetadataUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional MetadataUsage::isSemantic() const { return as_bool_(call_("isSemantic", {})); } +inline std::optional MetadataUsage::isSyntactic() const { return as_bool_(call_("isSyntactic", {})); } +inline std::optional MetadataUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector MetadataUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector MetadataUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector MetadataUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional MetadataUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector MetadataUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MetadataUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional MetadataUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional MetadataUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional MetadataUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional MetadataUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector MetadataUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional MetadataUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional MetadataUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional MetadataUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional MetadataUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional MetadataUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional MetadataUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional MetadataUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector MetadataUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional MetadataUsage::syntaxElement() const { return as_ref_(call_("syntaxElement", {})); } +inline std::vector MetadataUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional MetadataUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional MetadataUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector MetadataUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Multiplicity::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Multiplicity::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional Multiplicity::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Multiplicity::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Multiplicity::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Multiplicity::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Multiplicity::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Multiplicity::getDirection() const { return read_string_("direction"); } +inline std::vector Multiplicity::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Multiplicity::getElementId() const { return read_string_("elementId"); } +inline std::vector Multiplicity::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Multiplicity::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Multiplicity::getFeature() const { return read_list_("feature"); } +inline std::vector Multiplicity::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Multiplicity::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Multiplicity::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Multiplicity::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Multiplicity::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Multiplicity::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Multiplicity::getInput() const { return read_list_("input"); } +inline std::vector Multiplicity::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Multiplicity::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Multiplicity::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Multiplicity::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Multiplicity::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Multiplicity::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Multiplicity::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Multiplicity::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Multiplicity::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Multiplicity::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Multiplicity::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Multiplicity::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Multiplicity::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Multiplicity::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Multiplicity::getMember() const { return read_list_("member"); } +inline std::vector Multiplicity::getMembership() const { return read_list_("membership"); } +inline std::optional Multiplicity::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Multiplicity::getName() const { return read_string_("name"); } +inline std::vector Multiplicity::getOutput() const { return read_list_("output"); } +inline std::vector Multiplicity::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Multiplicity::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Multiplicity::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Multiplicity::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Multiplicity::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Multiplicity::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Multiplicity::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Multiplicity::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Multiplicity::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Multiplicity::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Multiplicity::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Multiplicity::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Multiplicity::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Multiplicity::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Multiplicity::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Multiplicity::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Multiplicity::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Multiplicity::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Multiplicity::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Multiplicity::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Multiplicity::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Multiplicity::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Multiplicity::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Multiplicity::getOwner() const { return read_ref_("owner"); } +inline std::optional Multiplicity::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Multiplicity::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Multiplicity::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Multiplicity::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Multiplicity::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Multiplicity::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Multiplicity::getShortName() const { return read_string_("shortName"); } +inline std::vector Multiplicity::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Multiplicity::getType() const { return read_list_("type"); } +inline std::vector Multiplicity::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Multiplicity::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Multiplicity::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Multiplicity::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Multiplicity::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Multiplicity::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Multiplicity::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Multiplicity::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Multiplicity::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Multiplicity::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Multiplicity::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Multiplicity::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Multiplicity::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Multiplicity::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Multiplicity::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Multiplicity::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Multiplicity::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Multiplicity::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Multiplicity::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Multiplicity::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Multiplicity::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Multiplicity::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Multiplicity::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Multiplicity::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Multiplicity::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Multiplicity::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Multiplicity::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Multiplicity::path() const { return as_string_(call_("path", {})); } +inline std::optional Multiplicity::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Multiplicity::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Multiplicity::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Multiplicity::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Multiplicity::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Multiplicity::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Multiplicity::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Multiplicity::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Multiplicity::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Multiplicity::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Multiplicity::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Multiplicity::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Multiplicity::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Multiplicity::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Multiplicity::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Multiplicity::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector MultiplicityRange::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector MultiplicityRange::getBound() const { return read_list_("bound"); } +inline std::vector MultiplicityRange::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional MultiplicityRange::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional MultiplicityRange::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional MultiplicityRange::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector MultiplicityRange::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector MultiplicityRange::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional MultiplicityRange::getDirection() const { return read_string_("direction"); } +inline std::vector MultiplicityRange::getDocumentation() const { return read_list_("documentation"); } +inline std::optional MultiplicityRange::getElementId() const { return read_string_("elementId"); } +inline std::vector MultiplicityRange::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional MultiplicityRange::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector MultiplicityRange::getFeature() const { return read_list_("feature"); } +inline std::vector MultiplicityRange::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional MultiplicityRange::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector MultiplicityRange::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector MultiplicityRange::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector MultiplicityRange::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector MultiplicityRange::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector MultiplicityRange::getInput() const { return read_list_("input"); } +inline std::vector MultiplicityRange::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional MultiplicityRange::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional MultiplicityRange::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional MultiplicityRange::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional MultiplicityRange::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional MultiplicityRange::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional MultiplicityRange::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional MultiplicityRange::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional MultiplicityRange::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional MultiplicityRange::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional MultiplicityRange::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional MultiplicityRange::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional MultiplicityRange::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional MultiplicityRange::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional MultiplicityRange::getLowerBound() const { return read_ref_("lowerBound"); } +inline std::vector MultiplicityRange::getMember() const { return read_list_("member"); } +inline std::vector MultiplicityRange::getMembership() const { return read_list_("membership"); } +inline std::optional MultiplicityRange::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional MultiplicityRange::getName() const { return read_string_("name"); } +inline std::vector MultiplicityRange::getOutput() const { return read_list_("output"); } +inline std::vector MultiplicityRange::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional MultiplicityRange::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional MultiplicityRange::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector MultiplicityRange::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector MultiplicityRange::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector MultiplicityRange::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector MultiplicityRange::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector MultiplicityRange::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector MultiplicityRange::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector MultiplicityRange::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector MultiplicityRange::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector MultiplicityRange::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector MultiplicityRange::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector MultiplicityRange::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector MultiplicityRange::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector MultiplicityRange::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional MultiplicityRange::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector MultiplicityRange::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector MultiplicityRange::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector MultiplicityRange::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector MultiplicityRange::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector MultiplicityRange::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector MultiplicityRange::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional MultiplicityRange::getOwner() const { return read_ref_("owner"); } +inline std::optional MultiplicityRange::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional MultiplicityRange::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional MultiplicityRange::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional MultiplicityRange::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional MultiplicityRange::getOwningType() const { return read_ref_("owningType"); } +inline std::optional MultiplicityRange::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional MultiplicityRange::getShortName() const { return read_string_("shortName"); } +inline std::vector MultiplicityRange::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector MultiplicityRange::getType() const { return read_list_("type"); } +inline std::vector MultiplicityRange::getUnioningType() const { return read_list_("unioningType"); } +inline std::optional MultiplicityRange::getUpperBound() const { return read_ref_("upperBound"); } +inline std::vector MultiplicityRange::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector MultiplicityRange::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector MultiplicityRange::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector MultiplicityRange::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional MultiplicityRange::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional MultiplicityRange::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional MultiplicityRange::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional MultiplicityRange::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional MultiplicityRange::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional MultiplicityRange::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional MultiplicityRange::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional MultiplicityRange::hasBounds(const std::optional& lower, const std::optional& upper) const { return as_bool_(call_("hasBounds", {detail::arg(lower), detail::arg(upper)})); } +inline std::vector MultiplicityRange::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector MultiplicityRange::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector MultiplicityRange::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MultiplicityRange::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional MultiplicityRange::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional MultiplicityRange::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional MultiplicityRange::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional MultiplicityRange::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional MultiplicityRange::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector MultiplicityRange::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector MultiplicityRange::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector MultiplicityRange::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional MultiplicityRange::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector MultiplicityRange::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional MultiplicityRange::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional MultiplicityRange::path() const { return as_string_(call_("path", {})); } +inline std::optional MultiplicityRange::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional MultiplicityRange::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional MultiplicityRange::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector MultiplicityRange::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional MultiplicityRange::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional MultiplicityRange::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional MultiplicityRange::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional MultiplicityRange::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional MultiplicityRange::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional MultiplicityRange::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional MultiplicityRange::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector MultiplicityRange::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector MultiplicityRange::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional MultiplicityRange::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional MultiplicityRange::valueOf(const std::optional& bound) const { return as_int_(call_("valueOf", {detail::arg(bound)})); } +inline std::optional MultiplicityRange::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector MultiplicityRange::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector NamespaceImport::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional NamespaceImport::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional NamespaceImport::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector NamespaceImport::getDocumentation() const { return read_list_("documentation"); } +inline std::optional NamespaceImport::getElementId() const { return read_string_("elementId"); } +inline std::optional NamespaceImport::getImportOwningNamespace() const { return read_ref_("importOwningNamespace"); } +inline std::optional NamespaceImport::getImportedElement() const { return read_ref_("importedElement"); } +inline std::optional NamespaceImport::getImportedNamespace() const { return read_ref_("importedNamespace"); } +inline std::optional NamespaceImport::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional NamespaceImport::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional NamespaceImport::getIsImportAll() const { return read_bool_("isImportAll"); } +inline std::optional NamespaceImport::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional NamespaceImport::getIsRecursive() const { return read_bool_("isRecursive"); } +inline std::optional NamespaceImport::getName() const { return read_string_("name"); } +inline std::vector NamespaceImport::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector NamespaceImport::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector NamespaceImport::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector NamespaceImport::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional NamespaceImport::getOwner() const { return read_ref_("owner"); } +inline std::optional NamespaceImport::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional NamespaceImport::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional NamespaceImport::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional NamespaceImport::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional NamespaceImport::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector NamespaceImport::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional NamespaceImport::getShortName() const { return read_string_("shortName"); } +inline std::vector NamespaceImport::getSource() const { return read_list_("source"); } +inline std::vector NamespaceImport::getTarget() const { return read_list_("target"); } +inline std::vector NamespaceImport::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional NamespaceImport::getVisibility() const { return read_string_("visibility"); } +inline std::optional NamespaceImport::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional NamespaceImport::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional NamespaceImport::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector NamespaceImport::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional NamespaceImport::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional NamespaceImport::path() const { return as_string_(call_("path", {})); } +inline std::vector NamespaceExpose::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional NamespaceExpose::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional NamespaceExpose::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector NamespaceExpose::getDocumentation() const { return read_list_("documentation"); } +inline std::optional NamespaceExpose::getElementId() const { return read_string_("elementId"); } +inline std::optional NamespaceExpose::getImportOwningNamespace() const { return read_ref_("importOwningNamespace"); } +inline std::optional NamespaceExpose::getImportedElement() const { return read_ref_("importedElement"); } +inline std::optional NamespaceExpose::getImportedNamespace() const { return read_ref_("importedNamespace"); } +inline std::optional NamespaceExpose::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional NamespaceExpose::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional NamespaceExpose::getIsImportAll() const { return read_bool_("isImportAll"); } +inline std::optional NamespaceExpose::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional NamespaceExpose::getIsRecursive() const { return read_bool_("isRecursive"); } +inline std::optional NamespaceExpose::getName() const { return read_string_("name"); } +inline std::vector NamespaceExpose::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector NamespaceExpose::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector NamespaceExpose::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector NamespaceExpose::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional NamespaceExpose::getOwner() const { return read_ref_("owner"); } +inline std::optional NamespaceExpose::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional NamespaceExpose::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional NamespaceExpose::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional NamespaceExpose::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional NamespaceExpose::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector NamespaceExpose::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional NamespaceExpose::getShortName() const { return read_string_("shortName"); } +inline std::vector NamespaceExpose::getSource() const { return read_list_("source"); } +inline std::vector NamespaceExpose::getTarget() const { return read_list_("target"); } +inline std::vector NamespaceExpose::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional NamespaceExpose::getVisibility() const { return read_string_("visibility"); } +inline std::optional NamespaceExpose::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional NamespaceExpose::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional NamespaceExpose::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector NamespaceExpose::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional NamespaceExpose::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional NamespaceExpose::path() const { return as_string_(call_("path", {})); } +inline std::vector NullExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector NullExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector NullExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional NullExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional NullExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional NullExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector NullExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector NullExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional NullExpression::getDirection() const { return read_string_("direction"); } +inline std::vector NullExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional NullExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector NullExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional NullExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector NullExpression::getFeature() const { return read_list_("feature"); } +inline std::vector NullExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional NullExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector NullExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional NullExpression::getFunction() const { return read_ref_("function"); } +inline std::vector NullExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector NullExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector NullExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector NullExpression::getInput() const { return read_list_("input"); } +inline std::vector NullExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional NullExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional NullExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional NullExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional NullExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional NullExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional NullExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional NullExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional NullExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional NullExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional NullExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional NullExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional NullExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional NullExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional NullExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector NullExpression::getMember() const { return read_list_("member"); } +inline std::vector NullExpression::getMembership() const { return read_list_("membership"); } +inline std::optional NullExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional NullExpression::getName() const { return read_string_("name"); } +inline std::vector NullExpression::getOutput() const { return read_list_("output"); } +inline std::vector NullExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional NullExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional NullExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector NullExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector NullExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector NullExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector NullExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector NullExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector NullExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector NullExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector NullExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector NullExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector NullExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector NullExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector NullExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector NullExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional NullExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector NullExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector NullExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector NullExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector NullExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector NullExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector NullExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional NullExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional NullExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional NullExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional NullExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional NullExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional NullExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector NullExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional NullExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional NullExpression::getResult() const { return read_ref_("result"); } +inline std::optional NullExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector NullExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector NullExpression::getType() const { return read_list_("type"); } +inline std::vector NullExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector NullExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector NullExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector NullExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector NullExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional NullExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional NullExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional NullExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional NullExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional NullExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional NullExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional NullExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional NullExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector NullExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector NullExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector NullExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector NullExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional NullExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional NullExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional NullExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional NullExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional NullExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional NullExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector NullExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional NullExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector NullExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector NullExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional NullExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector NullExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional NullExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional NullExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional NullExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional NullExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional NullExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector NullExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional NullExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional NullExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional NullExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional NullExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional NullExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional NullExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional NullExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector NullExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector NullExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional NullExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional NullExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector NullExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ObjectiveMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ObjectiveMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ObjectiveMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ObjectiveMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ObjectiveMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ObjectiveMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ObjectiveMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ObjectiveMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ObjectiveMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ObjectiveMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ObjectiveMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ObjectiveMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ObjectiveMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ObjectiveMembership::getName() const { return read_string_("name"); } +inline std::vector ObjectiveMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ObjectiveMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ObjectiveMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ObjectiveMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ObjectiveMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional ObjectiveMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ObjectiveMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::optional ObjectiveMembership::getOwnedObjectiveRequirement() const { return read_ref_("ownedObjectiveRequirement"); } +inline std::vector ObjectiveMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ObjectiveMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ObjectiveMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ObjectiveMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ObjectiveMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ObjectiveMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ObjectiveMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ObjectiveMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ObjectiveMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ObjectiveMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ObjectiveMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ObjectiveMembership::getSource() const { return read_list_("source"); } +inline std::vector ObjectiveMembership::getTarget() const { return read_list_("target"); } +inline std::vector ObjectiveMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ObjectiveMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ObjectiveMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ObjectiveMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ObjectiveMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ObjectiveMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ObjectiveMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ObjectiveMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector PayloadFeature::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector PayloadFeature::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional PayloadFeature::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional PayloadFeature::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PayloadFeature::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PayloadFeature::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector PayloadFeature::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional PayloadFeature::getDirection() const { return read_string_("direction"); } +inline std::vector PayloadFeature::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PayloadFeature::getElementId() const { return read_string_("elementId"); } +inline std::vector PayloadFeature::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional PayloadFeature::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector PayloadFeature::getFeature() const { return read_list_("feature"); } +inline std::vector PayloadFeature::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional PayloadFeature::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector PayloadFeature::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector PayloadFeature::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector PayloadFeature::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector PayloadFeature::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector PayloadFeature::getInput() const { return read_list_("input"); } +inline std::vector PayloadFeature::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional PayloadFeature::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional PayloadFeature::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional PayloadFeature::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional PayloadFeature::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional PayloadFeature::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional PayloadFeature::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional PayloadFeature::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PayloadFeature::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PayloadFeature::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional PayloadFeature::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional PayloadFeature::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional PayloadFeature::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional PayloadFeature::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector PayloadFeature::getMember() const { return read_list_("member"); } +inline std::vector PayloadFeature::getMembership() const { return read_list_("membership"); } +inline std::optional PayloadFeature::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional PayloadFeature::getName() const { return read_string_("name"); } +inline std::vector PayloadFeature::getOutput() const { return read_list_("output"); } +inline std::vector PayloadFeature::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional PayloadFeature::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional PayloadFeature::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector PayloadFeature::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector PayloadFeature::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector PayloadFeature::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PayloadFeature::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector PayloadFeature::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector PayloadFeature::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector PayloadFeature::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector PayloadFeature::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector PayloadFeature::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector PayloadFeature::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector PayloadFeature::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector PayloadFeature::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector PayloadFeature::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional PayloadFeature::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector PayloadFeature::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector PayloadFeature::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector PayloadFeature::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector PayloadFeature::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector PayloadFeature::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector PayloadFeature::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional PayloadFeature::getOwner() const { return read_ref_("owner"); } +inline std::optional PayloadFeature::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional PayloadFeature::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PayloadFeature::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PayloadFeature::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PayloadFeature::getOwningType() const { return read_ref_("owningType"); } +inline std::optional PayloadFeature::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional PayloadFeature::getShortName() const { return read_string_("shortName"); } +inline std::vector PayloadFeature::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector PayloadFeature::getType() const { return read_list_("type"); } +inline std::vector PayloadFeature::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector PayloadFeature::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector PayloadFeature::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector PayloadFeature::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector PayloadFeature::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional PayloadFeature::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional PayloadFeature::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional PayloadFeature::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional PayloadFeature::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional PayloadFeature::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PayloadFeature::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PayloadFeature::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector PayloadFeature::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector PayloadFeature::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector PayloadFeature::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PayloadFeature::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional PayloadFeature::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional PayloadFeature::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional PayloadFeature::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional PayloadFeature::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional PayloadFeature::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector PayloadFeature::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector PayloadFeature::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector PayloadFeature::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional PayloadFeature::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector PayloadFeature::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PayloadFeature::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional PayloadFeature::path() const { return as_string_(call_("path", {})); } +inline std::optional PayloadFeature::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional PayloadFeature::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional PayloadFeature::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector PayloadFeature::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional PayloadFeature::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional PayloadFeature::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional PayloadFeature::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional PayloadFeature::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional PayloadFeature::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional PayloadFeature::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional PayloadFeature::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector PayloadFeature::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector PayloadFeature::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional PayloadFeature::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional PayloadFeature::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector PayloadFeature::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector PortConjugation::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional PortConjugation::getConjugatedPortDefinition() const { return read_ref_("conjugatedPortDefinition"); } +inline std::optional PortConjugation::getConjugatedType() const { return read_ref_("conjugatedType"); } +inline std::optional PortConjugation::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PortConjugation::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PortConjugation::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PortConjugation::getElementId() const { return read_string_("elementId"); } +inline std::optional PortConjugation::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional PortConjugation::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PortConjugation::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PortConjugation::getName() const { return read_string_("name"); } +inline std::optional PortConjugation::getOriginalPortDefinition() const { return read_ref_("originalPortDefinition"); } +inline std::optional PortConjugation::getOriginalType() const { return read_ref_("originalType"); } +inline std::vector PortConjugation::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector PortConjugation::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PortConjugation::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector PortConjugation::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional PortConjugation::getOwner() const { return read_ref_("owner"); } +inline std::optional PortConjugation::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PortConjugation::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PortConjugation::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional PortConjugation::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PortConjugation::getOwningType() const { return read_ref_("owningType"); } +inline std::optional PortConjugation::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector PortConjugation::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional PortConjugation::getShortName() const { return read_string_("shortName"); } +inline std::vector PortConjugation::getSource() const { return read_list_("source"); } +inline std::vector PortConjugation::getTarget() const { return read_list_("target"); } +inline std::vector PortConjugation::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional PortConjugation::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PortConjugation::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PortConjugation::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional PortConjugation::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional PortConjugation::path() const { return as_string_(call_("path", {})); } +inline std::vector PortUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector PortUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional PortUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional PortUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional PortUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector PortUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector PortUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector PortUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector PortUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional PortUsage::getDirection() const { return read_string_("direction"); } +inline std::vector PortUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional PortUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector PortUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional PortUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector PortUsage::getFeature() const { return read_list_("feature"); } +inline std::vector PortUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional PortUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector PortUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector PortUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional PortUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector PortUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector PortUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector PortUsage::getInput() const { return read_list_("input"); } +inline std::vector PortUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional PortUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional PortUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional PortUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional PortUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional PortUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional PortUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional PortUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional PortUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional PortUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional PortUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional PortUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional PortUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional PortUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional PortUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional PortUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional PortUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional PortUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector PortUsage::getMember() const { return read_list_("member"); } +inline std::vector PortUsage::getMembership() const { return read_list_("membership"); } +inline std::optional PortUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional PortUsage::getName() const { return read_string_("name"); } +inline std::vector PortUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector PortUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector PortUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector PortUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector PortUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector PortUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector PortUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector PortUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector PortUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector PortUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector PortUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector PortUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector PortUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector PortUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector PortUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector PortUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector PortUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector PortUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector PortUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector PortUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector PortUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector PortUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector PortUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector PortUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector PortUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector PortUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector PortUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector PortUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector PortUsage::getOutput() const { return read_list_("output"); } +inline std::vector PortUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional PortUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional PortUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector PortUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector PortUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector PortUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector PortUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector PortUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector PortUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector PortUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector PortUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector PortUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector PortUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector PortUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector PortUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector PortUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional PortUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector PortUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector PortUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector PortUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector PortUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector PortUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector PortUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional PortUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional PortUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional PortUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional PortUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional PortUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional PortUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional PortUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional PortUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector PortUsage::getPortDefinition() const { return read_list_("portDefinition"); } +inline std::optional PortUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional PortUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional PortUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector PortUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector PortUsage::getType() const { return read_list_("type"); } +inline std::vector PortUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector PortUsage::getUsage() const { return read_list_("usage"); } +inline std::vector PortUsage::getVariant() const { return read_list_("variant"); } +inline std::vector PortUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector PortUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector PortUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector PortUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector PortUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional PortUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional PortUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional PortUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional PortUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional PortUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional PortUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional PortUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector PortUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector PortUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector PortUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PortUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional PortUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional PortUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional PortUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional PortUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional PortUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector PortUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector PortUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector PortUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional PortUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector PortUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional PortUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional PortUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional PortUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional PortUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional PortUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional PortUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector PortUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional PortUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional PortUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional PortUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional PortUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional PortUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional PortUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional PortUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector PortUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector PortUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional PortUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional PortUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector PortUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector Redefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Redefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Redefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Redefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Redefinition::getElementId() const { return read_string_("elementId"); } +inline std::optional Redefinition::getGeneral() const { return read_ref_("general"); } +inline std::optional Redefinition::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Redefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Redefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Redefinition::getName() const { return read_string_("name"); } +inline std::vector Redefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Redefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Redefinition::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Redefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Redefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional Redefinition::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional Redefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Redefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Redefinition::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Redefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Redefinition::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Redefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional Redefinition::getRedefinedFeature() const { return read_ref_("redefinedFeature"); } +inline std::optional Redefinition::getRedefiningFeature() const { return read_ref_("redefiningFeature"); } +inline std::vector Redefinition::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Redefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector Redefinition::getSource() const { return read_list_("source"); } +inline std::optional Redefinition::getSpecific() const { return read_ref_("specific"); } +inline std::optional Redefinition::getSubsettedFeature() const { return read_ref_("subsettedFeature"); } +inline std::optional Redefinition::getSubsettingFeature() const { return read_ref_("subsettingFeature"); } +inline std::vector Redefinition::getTarget() const { return read_list_("target"); } +inline std::vector Redefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Redefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Redefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Redefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Redefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Redefinition::path() const { return as_string_(call_("path", {})); } +inline std::vector ReferenceSubsetting::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ReferenceSubsetting::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ReferenceSubsetting::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ReferenceSubsetting::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ReferenceSubsetting::getElementId() const { return read_string_("elementId"); } +inline std::optional ReferenceSubsetting::getGeneral() const { return read_ref_("general"); } +inline std::optional ReferenceSubsetting::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ReferenceSubsetting::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ReferenceSubsetting::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ReferenceSubsetting::getName() const { return read_string_("name"); } +inline std::vector ReferenceSubsetting::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ReferenceSubsetting::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ReferenceSubsetting::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ReferenceSubsetting::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ReferenceSubsetting::getOwner() const { return read_ref_("owner"); } +inline std::optional ReferenceSubsetting::getOwningFeature() const { return read_ref_("owningFeature"); } +inline std::optional ReferenceSubsetting::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ReferenceSubsetting::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ReferenceSubsetting::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ReferenceSubsetting::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ReferenceSubsetting::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ReferenceSubsetting::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ReferenceSubsetting::getReferencedFeature() const { return read_ref_("referencedFeature"); } +inline std::optional ReferenceSubsetting::getReferencingFeature() const { return read_ref_("referencingFeature"); } +inline std::vector ReferenceSubsetting::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ReferenceSubsetting::getShortName() const { return read_string_("shortName"); } +inline std::vector ReferenceSubsetting::getSource() const { return read_list_("source"); } +inline std::optional ReferenceSubsetting::getSpecific() const { return read_ref_("specific"); } +inline std::optional ReferenceSubsetting::getSubsettedFeature() const { return read_ref_("subsettedFeature"); } +inline std::optional ReferenceSubsetting::getSubsettingFeature() const { return read_ref_("subsettingFeature"); } +inline std::vector ReferenceSubsetting::getTarget() const { return read_list_("target"); } +inline std::vector ReferenceSubsetting::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ReferenceSubsetting::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ReferenceSubsetting::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ReferenceSubsetting::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ReferenceSubsetting::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ReferenceSubsetting::path() const { return as_string_(call_("path", {})); } +inline std::vector ReferenceUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ReferenceUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ReferenceUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ReferenceUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ReferenceUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ReferenceUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ReferenceUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ReferenceUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ReferenceUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ReferenceUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ReferenceUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ReferenceUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ReferenceUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ReferenceUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ReferenceUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ReferenceUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ReferenceUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ReferenceUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ReferenceUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ReferenceUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ReferenceUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ReferenceUsage::getInput() const { return read_list_("input"); } +inline std::vector ReferenceUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ReferenceUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ReferenceUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ReferenceUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ReferenceUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ReferenceUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ReferenceUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ReferenceUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ReferenceUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ReferenceUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ReferenceUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ReferenceUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ReferenceUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ReferenceUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ReferenceUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ReferenceUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ReferenceUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ReferenceUsage::getMember() const { return read_list_("member"); } +inline std::vector ReferenceUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ReferenceUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ReferenceUsage::getName() const { return read_string_("name"); } +inline std::vector ReferenceUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ReferenceUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ReferenceUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ReferenceUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ReferenceUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ReferenceUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ReferenceUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ReferenceUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ReferenceUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ReferenceUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ReferenceUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ReferenceUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ReferenceUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ReferenceUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ReferenceUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ReferenceUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ReferenceUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ReferenceUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ReferenceUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ReferenceUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ReferenceUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ReferenceUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ReferenceUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ReferenceUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ReferenceUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ReferenceUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ReferenceUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ReferenceUsage::getOutput() const { return read_list_("output"); } +inline std::vector ReferenceUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ReferenceUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ReferenceUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ReferenceUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ReferenceUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ReferenceUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ReferenceUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ReferenceUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ReferenceUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ReferenceUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ReferenceUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ReferenceUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ReferenceUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ReferenceUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ReferenceUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ReferenceUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ReferenceUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ReferenceUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ReferenceUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ReferenceUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ReferenceUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ReferenceUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ReferenceUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ReferenceUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ReferenceUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ReferenceUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ReferenceUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ReferenceUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ReferenceUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ReferenceUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ReferenceUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional ReferenceUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ReferenceUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ReferenceUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ReferenceUsage::getType() const { return read_list_("type"); } +inline std::vector ReferenceUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ReferenceUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ReferenceUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ReferenceUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ReferenceUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ReferenceUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ReferenceUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ReferenceUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ReferenceUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ReferenceUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ReferenceUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ReferenceUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ReferenceUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ReferenceUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ReferenceUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ReferenceUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ReferenceUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ReferenceUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ReferenceUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ReferenceUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ReferenceUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ReferenceUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ReferenceUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ReferenceUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ReferenceUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ReferenceUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ReferenceUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ReferenceUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ReferenceUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ReferenceUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ReferenceUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ReferenceUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ReferenceUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ReferenceUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ReferenceUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ReferenceUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ReferenceUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ReferenceUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ReferenceUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ReferenceUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ReferenceUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ReferenceUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ReferenceUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ReferenceUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ReferenceUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ReferenceUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ReferenceUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ReferenceUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector RenderingDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional RenderingDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional RenderingDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector RenderingDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector RenderingDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector RenderingDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector RenderingDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional RenderingDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector RenderingDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector RenderingDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector RenderingDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector RenderingDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector RenderingDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector RenderingDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector RenderingDefinition::getInput() const { return read_list_("input"); } +inline std::vector RenderingDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional RenderingDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional RenderingDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional RenderingDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional RenderingDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional RenderingDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional RenderingDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional RenderingDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector RenderingDefinition::getMember() const { return read_list_("member"); } +inline std::vector RenderingDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional RenderingDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional RenderingDefinition::getName() const { return read_string_("name"); } +inline std::vector RenderingDefinition::getOutput() const { return read_list_("output"); } +inline std::vector RenderingDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector RenderingDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector RenderingDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector RenderingDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector RenderingDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector RenderingDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector RenderingDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector RenderingDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional RenderingDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector RenderingDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector RenderingDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector RenderingDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector RenderingDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector RenderingDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector RenderingDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector RenderingDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector RenderingDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector RenderingDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector RenderingDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector RenderingDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector RenderingDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector RenderingDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector RenderingDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector RenderingDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector RenderingDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector RenderingDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector RenderingDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector RenderingDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector RenderingDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector RenderingDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector RenderingDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector RenderingDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector RenderingDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector RenderingDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector RenderingDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector RenderingDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector RenderingDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector RenderingDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector RenderingDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector RenderingDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector RenderingDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector RenderingDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector RenderingDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional RenderingDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional RenderingDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional RenderingDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional RenderingDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional RenderingDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector RenderingDefinition::getRendering() const { return read_list_("rendering"); } +inline std::optional RenderingDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector RenderingDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector RenderingDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector RenderingDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector RenderingDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector RenderingDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector RenderingDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector RenderingDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional RenderingDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional RenderingDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional RenderingDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional RenderingDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional RenderingDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector RenderingDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector RenderingDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector RenderingDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RenderingDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional RenderingDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector RenderingDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector RenderingDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector RenderingDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector RenderingDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RenderingDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional RenderingDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector RenderingDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional RenderingDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional RenderingDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional RenderingDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional RenderingDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional RenderingDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional RenderingDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector RenderingDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional RenderingDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional RenderingDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector RenderingDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector RenderingUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector RenderingUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional RenderingUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional RenderingUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional RenderingUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector RenderingUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector RenderingUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector RenderingUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector RenderingUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional RenderingUsage::getDirection() const { return read_string_("direction"); } +inline std::vector RenderingUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional RenderingUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector RenderingUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional RenderingUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector RenderingUsage::getFeature() const { return read_list_("feature"); } +inline std::vector RenderingUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional RenderingUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector RenderingUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector RenderingUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional RenderingUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector RenderingUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector RenderingUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector RenderingUsage::getInput() const { return read_list_("input"); } +inline std::vector RenderingUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional RenderingUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional RenderingUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional RenderingUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional RenderingUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional RenderingUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional RenderingUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional RenderingUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional RenderingUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional RenderingUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional RenderingUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional RenderingUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional RenderingUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional RenderingUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional RenderingUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional RenderingUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional RenderingUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector RenderingUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional RenderingUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector RenderingUsage::getMember() const { return read_list_("member"); } +inline std::vector RenderingUsage::getMembership() const { return read_list_("membership"); } +inline std::optional RenderingUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional RenderingUsage::getName() const { return read_string_("name"); } +inline std::vector RenderingUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector RenderingUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector RenderingUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector RenderingUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector RenderingUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector RenderingUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector RenderingUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector RenderingUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector RenderingUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector RenderingUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector RenderingUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector RenderingUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector RenderingUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector RenderingUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector RenderingUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector RenderingUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector RenderingUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector RenderingUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector RenderingUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector RenderingUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector RenderingUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector RenderingUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector RenderingUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector RenderingUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector RenderingUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector RenderingUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector RenderingUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector RenderingUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector RenderingUsage::getOutput() const { return read_list_("output"); } +inline std::vector RenderingUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional RenderingUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional RenderingUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector RenderingUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector RenderingUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector RenderingUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector RenderingUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector RenderingUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector RenderingUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector RenderingUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector RenderingUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector RenderingUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector RenderingUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector RenderingUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector RenderingUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector RenderingUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional RenderingUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector RenderingUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector RenderingUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector RenderingUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector RenderingUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector RenderingUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector RenderingUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional RenderingUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional RenderingUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional RenderingUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional RenderingUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional RenderingUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional RenderingUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional RenderingUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional RenderingUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector RenderingUsage::getPartDefinition() const { return read_list_("partDefinition"); } +inline std::optional RenderingUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional RenderingUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional RenderingUsage::getRenderingDefinition() const { return read_ref_("renderingDefinition"); } +inline std::optional RenderingUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector RenderingUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector RenderingUsage::getType() const { return read_list_("type"); } +inline std::vector RenderingUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector RenderingUsage::getUsage() const { return read_list_("usage"); } +inline std::vector RenderingUsage::getVariant() const { return read_list_("variant"); } +inline std::vector RenderingUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector RenderingUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector RenderingUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector RenderingUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector RenderingUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional RenderingUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional RenderingUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional RenderingUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional RenderingUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional RenderingUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional RenderingUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional RenderingUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector RenderingUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector RenderingUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector RenderingUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RenderingUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional RenderingUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional RenderingUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional RenderingUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional RenderingUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional RenderingUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector RenderingUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector RenderingUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector RenderingUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional RenderingUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector RenderingUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional RenderingUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional RenderingUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional RenderingUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional RenderingUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional RenderingUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional RenderingUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector RenderingUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional RenderingUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional RenderingUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional RenderingUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional RenderingUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional RenderingUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional RenderingUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional RenderingUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector RenderingUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector RenderingUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional RenderingUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional RenderingUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector RenderingUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector RequirementVerificationMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional RequirementVerificationMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional RequirementVerificationMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector RequirementVerificationMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional RequirementVerificationMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional RequirementVerificationMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional RequirementVerificationMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional RequirementVerificationMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional RequirementVerificationMembership::getKind() const { return read_string_("kind"); } +inline std::optional RequirementVerificationMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional RequirementVerificationMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional RequirementVerificationMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional RequirementVerificationMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional RequirementVerificationMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional RequirementVerificationMembership::getName() const { return read_string_("name"); } +inline std::vector RequirementVerificationMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional RequirementVerificationMembership::getOwnedConstraint() const { return read_ref_("ownedConstraint"); } +inline std::vector RequirementVerificationMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional RequirementVerificationMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional RequirementVerificationMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional RequirementVerificationMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional RequirementVerificationMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional RequirementVerificationMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector RequirementVerificationMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector RequirementVerificationMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional RequirementVerificationMembership::getOwnedRequirement() const { return read_ref_("ownedRequirement"); } +inline std::optional RequirementVerificationMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional RequirementVerificationMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional RequirementVerificationMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional RequirementVerificationMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional RequirementVerificationMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional RequirementVerificationMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional RequirementVerificationMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional RequirementVerificationMembership::getReferencedConstraint() const { return read_ref_("referencedConstraint"); } +inline std::vector RequirementVerificationMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional RequirementVerificationMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector RequirementVerificationMembership::getSource() const { return read_list_("source"); } +inline std::vector RequirementVerificationMembership::getTarget() const { return read_list_("target"); } +inline std::vector RequirementVerificationMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional RequirementVerificationMembership::getVerifiedRequirement() const { return read_ref_("verifiedRequirement"); } +inline std::optional RequirementVerificationMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional RequirementVerificationMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional RequirementVerificationMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional RequirementVerificationMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional RequirementVerificationMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional RequirementVerificationMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional RequirementVerificationMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector ResultExpressionMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ResultExpressionMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ResultExpressionMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ResultExpressionMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ResultExpressionMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ResultExpressionMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ResultExpressionMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ResultExpressionMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ResultExpressionMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ResultExpressionMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ResultExpressionMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ResultExpressionMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ResultExpressionMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ResultExpressionMembership::getName() const { return read_string_("name"); } +inline std::vector ResultExpressionMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ResultExpressionMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ResultExpressionMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ResultExpressionMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ResultExpressionMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional ResultExpressionMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ResultExpressionMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector ResultExpressionMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ResultExpressionMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ResultExpressionMembership::getOwnedResultExpression() const { return read_ref_("ownedResultExpression"); } +inline std::optional ResultExpressionMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ResultExpressionMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ResultExpressionMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ResultExpressionMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ResultExpressionMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ResultExpressionMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ResultExpressionMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ResultExpressionMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ResultExpressionMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ResultExpressionMembership::getSource() const { return read_list_("source"); } +inline std::vector ResultExpressionMembership::getTarget() const { return read_list_("target"); } +inline std::vector ResultExpressionMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ResultExpressionMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ResultExpressionMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ResultExpressionMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ResultExpressionMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ResultExpressionMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ResultExpressionMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ResultExpressionMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector ReturnParameterMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ReturnParameterMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ReturnParameterMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ReturnParameterMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ReturnParameterMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ReturnParameterMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ReturnParameterMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ReturnParameterMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ReturnParameterMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ReturnParameterMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ReturnParameterMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ReturnParameterMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ReturnParameterMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ReturnParameterMembership::getName() const { return read_string_("name"); } +inline std::vector ReturnParameterMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ReturnParameterMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ReturnParameterMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ReturnParameterMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ReturnParameterMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional ReturnParameterMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ReturnParameterMembership::getOwnedMemberParameter() const { return read_ref_("ownedMemberParameter"); } +inline std::optional ReturnParameterMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector ReturnParameterMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ReturnParameterMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ReturnParameterMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ReturnParameterMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ReturnParameterMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ReturnParameterMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ReturnParameterMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ReturnParameterMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ReturnParameterMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ReturnParameterMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ReturnParameterMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ReturnParameterMembership::getSource() const { return read_list_("source"); } +inline std::vector ReturnParameterMembership::getTarget() const { return read_list_("target"); } +inline std::vector ReturnParameterMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ReturnParameterMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ReturnParameterMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ReturnParameterMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ReturnParameterMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ReturnParameterMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ReturnParameterMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ReturnParameterMembership::parameterDirection() const { return as_string_(call_("parameterDirection", {})); } +inline std::optional ReturnParameterMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector SatisfyRequirementUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector SatisfyRequirementUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional SatisfyRequirementUsage::getAssertedConstraint() const { return read_ref_("assertedConstraint"); } +inline std::vector SatisfyRequirementUsage::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::vector SatisfyRequirementUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector SatisfyRequirementUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional SatisfyRequirementUsage::getConstraintDefinition() const { return read_ref_("constraintDefinition"); } +inline std::optional SatisfyRequirementUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional SatisfyRequirementUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SatisfyRequirementUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector SatisfyRequirementUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector SatisfyRequirementUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector SatisfyRequirementUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector SatisfyRequirementUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional SatisfyRequirementUsage::getDirection() const { return read_string_("direction"); } +inline std::vector SatisfyRequirementUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SatisfyRequirementUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector SatisfyRequirementUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional SatisfyRequirementUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector SatisfyRequirementUsage::getFeature() const { return read_list_("feature"); } +inline std::vector SatisfyRequirementUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional SatisfyRequirementUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector SatisfyRequirementUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector SatisfyRequirementUsage::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::optional SatisfyRequirementUsage::getFunction() const { return read_ref_("function"); } +inline std::vector SatisfyRequirementUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional SatisfyRequirementUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector SatisfyRequirementUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector SatisfyRequirementUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector SatisfyRequirementUsage::getInput() const { return read_list_("input"); } +inline std::vector SatisfyRequirementUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional SatisfyRequirementUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional SatisfyRequirementUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional SatisfyRequirementUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional SatisfyRequirementUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional SatisfyRequirementUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional SatisfyRequirementUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional SatisfyRequirementUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SatisfyRequirementUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional SatisfyRequirementUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SatisfyRequirementUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional SatisfyRequirementUsage::getIsNegated() const { return read_bool_("isNegated"); } +inline std::optional SatisfyRequirementUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional SatisfyRequirementUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional SatisfyRequirementUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional SatisfyRequirementUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional SatisfyRequirementUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional SatisfyRequirementUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional SatisfyRequirementUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional SatisfyRequirementUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector SatisfyRequirementUsage::getMember() const { return read_list_("member"); } +inline std::vector SatisfyRequirementUsage::getMembership() const { return read_list_("membership"); } +inline std::optional SatisfyRequirementUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional SatisfyRequirementUsage::getName() const { return read_string_("name"); } +inline std::vector SatisfyRequirementUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector SatisfyRequirementUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector SatisfyRequirementUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector SatisfyRequirementUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector SatisfyRequirementUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector SatisfyRequirementUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector SatisfyRequirementUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector SatisfyRequirementUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector SatisfyRequirementUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector SatisfyRequirementUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector SatisfyRequirementUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector SatisfyRequirementUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector SatisfyRequirementUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector SatisfyRequirementUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector SatisfyRequirementUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector SatisfyRequirementUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector SatisfyRequirementUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector SatisfyRequirementUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector SatisfyRequirementUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector SatisfyRequirementUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector SatisfyRequirementUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector SatisfyRequirementUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector SatisfyRequirementUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector SatisfyRequirementUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector SatisfyRequirementUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector SatisfyRequirementUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector SatisfyRequirementUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector SatisfyRequirementUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector SatisfyRequirementUsage::getOutput() const { return read_list_("output"); } +inline std::vector SatisfyRequirementUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional SatisfyRequirementUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional SatisfyRequirementUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector SatisfyRequirementUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector SatisfyRequirementUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector SatisfyRequirementUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector SatisfyRequirementUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector SatisfyRequirementUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector SatisfyRequirementUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector SatisfyRequirementUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector SatisfyRequirementUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector SatisfyRequirementUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector SatisfyRequirementUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector SatisfyRequirementUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector SatisfyRequirementUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector SatisfyRequirementUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional SatisfyRequirementUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector SatisfyRequirementUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector SatisfyRequirementUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector SatisfyRequirementUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector SatisfyRequirementUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector SatisfyRequirementUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector SatisfyRequirementUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional SatisfyRequirementUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional SatisfyRequirementUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional SatisfyRequirementUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional SatisfyRequirementUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SatisfyRequirementUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SatisfyRequirementUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SatisfyRequirementUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional SatisfyRequirementUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector SatisfyRequirementUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional SatisfyRequirementUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional SatisfyRequirementUsage::getPredicate() const { return read_ref_("predicate"); } +inline std::optional SatisfyRequirementUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional SatisfyRequirementUsage::getReqId() const { return read_string_("reqId"); } +inline std::vector SatisfyRequirementUsage::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional SatisfyRequirementUsage::getRequirementDefinition() const { return read_ref_("requirementDefinition"); } +inline std::optional SatisfyRequirementUsage::getResult() const { return read_ref_("result"); } +inline std::optional SatisfyRequirementUsage::getSatisfiedRequirement() const { return read_ref_("satisfiedRequirement"); } +inline std::optional SatisfyRequirementUsage::getSatisfyingFeature() const { return read_ref_("satisfyingFeature"); } +inline std::optional SatisfyRequirementUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector SatisfyRequirementUsage::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::optional SatisfyRequirementUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector SatisfyRequirementUsage::getText() const { return read_string_list_("text"); } +inline std::vector SatisfyRequirementUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector SatisfyRequirementUsage::getType() const { return read_list_("type"); } +inline std::vector SatisfyRequirementUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector SatisfyRequirementUsage::getUsage() const { return read_list_("usage"); } +inline std::vector SatisfyRequirementUsage::getVariant() const { return read_list_("variant"); } +inline std::vector SatisfyRequirementUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector SatisfyRequirementUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector SatisfyRequirementUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector SatisfyRequirementUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector SatisfyRequirementUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional SatisfyRequirementUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional SatisfyRequirementUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional SatisfyRequirementUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional SatisfyRequirementUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional SatisfyRequirementUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional SatisfyRequirementUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SatisfyRequirementUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SatisfyRequirementUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector SatisfyRequirementUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector SatisfyRequirementUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector SatisfyRequirementUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector SatisfyRequirementUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SatisfyRequirementUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional SatisfyRequirementUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional SatisfyRequirementUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional SatisfyRequirementUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional SatisfyRequirementUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional SatisfyRequirementUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector SatisfyRequirementUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional SatisfyRequirementUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector SatisfyRequirementUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector SatisfyRequirementUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional SatisfyRequirementUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector SatisfyRequirementUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SatisfyRequirementUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional SatisfyRequirementUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional SatisfyRequirementUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional SatisfyRequirementUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional SatisfyRequirementUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional SatisfyRequirementUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector SatisfyRequirementUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional SatisfyRequirementUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional SatisfyRequirementUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional SatisfyRequirementUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional SatisfyRequirementUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional SatisfyRequirementUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional SatisfyRequirementUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional SatisfyRequirementUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector SatisfyRequirementUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector SatisfyRequirementUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional SatisfyRequirementUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional SatisfyRequirementUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector SatisfyRequirementUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector SelectExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector SelectExpression::getArgument() const { return read_list_("argument"); } +inline std::vector SelectExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector SelectExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional SelectExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional SelectExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SelectExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector SelectExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector SelectExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional SelectExpression::getDirection() const { return read_string_("direction"); } +inline std::vector SelectExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SelectExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector SelectExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional SelectExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector SelectExpression::getFeature() const { return read_list_("feature"); } +inline std::vector SelectExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional SelectExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector SelectExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional SelectExpression::getFunction() const { return read_ref_("function"); } +inline std::vector SelectExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector SelectExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector SelectExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector SelectExpression::getInput() const { return read_list_("input"); } +inline std::optional SelectExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector SelectExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional SelectExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional SelectExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional SelectExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional SelectExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional SelectExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional SelectExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional SelectExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SelectExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SelectExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional SelectExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional SelectExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional SelectExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional SelectExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional SelectExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector SelectExpression::getMember() const { return read_list_("member"); } +inline std::vector SelectExpression::getMembership() const { return read_list_("membership"); } +inline std::optional SelectExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional SelectExpression::getName() const { return read_string_("name"); } +inline std::optional SelectExpression::getOperator() const { return read_string_("operator"); } +inline std::vector SelectExpression::getOutput() const { return read_list_("output"); } +inline std::vector SelectExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional SelectExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional SelectExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector SelectExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector SelectExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector SelectExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector SelectExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector SelectExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector SelectExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector SelectExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector SelectExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector SelectExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector SelectExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector SelectExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector SelectExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector SelectExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional SelectExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector SelectExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector SelectExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector SelectExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector SelectExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector SelectExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector SelectExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional SelectExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional SelectExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional SelectExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SelectExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SelectExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SelectExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector SelectExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional SelectExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional SelectExpression::getResult() const { return read_ref_("result"); } +inline std::optional SelectExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector SelectExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector SelectExpression::getType() const { return read_list_("type"); } +inline std::vector SelectExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector SelectExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector SelectExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector SelectExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector SelectExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional SelectExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional SelectExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional SelectExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional SelectExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional SelectExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional SelectExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SelectExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SelectExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector SelectExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector SelectExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector SelectExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector SelectExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SelectExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional SelectExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional SelectExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional SelectExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional SelectExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional SelectExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional SelectExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector SelectExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional SelectExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector SelectExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector SelectExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional SelectExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector SelectExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SelectExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional SelectExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional SelectExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional SelectExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional SelectExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector SelectExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional SelectExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional SelectExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional SelectExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional SelectExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional SelectExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional SelectExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional SelectExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector SelectExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector SelectExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional SelectExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional SelectExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector SelectExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector SendActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector SendActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector SendActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector SendActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional SendActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional SendActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SendActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector SendActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector SendActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector SendActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector SendActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional SendActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector SendActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SendActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector SendActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional SendActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector SendActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector SendActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional SendActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector SendActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector SendActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional SendActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector SendActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector SendActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector SendActionUsage::getInput() const { return read_list_("input"); } +inline std::vector SendActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional SendActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional SendActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional SendActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional SendActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional SendActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional SendActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional SendActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SendActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional SendActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SendActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional SendActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional SendActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional SendActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional SendActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional SendActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional SendActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional SendActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector SendActionUsage::getMember() const { return read_list_("member"); } +inline std::vector SendActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional SendActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional SendActionUsage::getName() const { return read_string_("name"); } +inline std::vector SendActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector SendActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector SendActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector SendActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector SendActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector SendActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector SendActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector SendActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector SendActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector SendActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector SendActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector SendActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector SendActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector SendActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector SendActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector SendActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector SendActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector SendActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector SendActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector SendActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector SendActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector SendActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector SendActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector SendActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector SendActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector SendActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector SendActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector SendActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector SendActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector SendActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional SendActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional SendActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector SendActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector SendActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector SendActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector SendActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector SendActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector SendActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector SendActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector SendActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector SendActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector SendActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector SendActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector SendActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector SendActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional SendActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector SendActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector SendActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector SendActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector SendActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector SendActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector SendActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional SendActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional SendActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional SendActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional SendActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SendActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SendActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SendActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional SendActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector SendActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional SendActionUsage::getPayloadArgument() const { return read_ref_("payloadArgument"); } +inline std::optional SendActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional SendActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional SendActionUsage::getReceiverArgument() const { return read_ref_("receiverArgument"); } +inline std::optional SendActionUsage::getSenderArgument() const { return read_ref_("senderArgument"); } +inline std::optional SendActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector SendActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector SendActionUsage::getType() const { return read_list_("type"); } +inline std::vector SendActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector SendActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector SendActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector SendActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector SendActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector SendActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector SendActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional SendActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector SendActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional SendActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional SendActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional SendActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional SendActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional SendActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SendActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SendActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector SendActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector SendActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector SendActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SendActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector SendActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional SendActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional SendActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional SendActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional SendActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional SendActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional SendActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional SendActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector SendActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector SendActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector SendActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional SendActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector SendActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SendActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional SendActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional SendActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional SendActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional SendActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional SendActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector SendActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional SendActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional SendActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional SendActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional SendActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional SendActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional SendActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional SendActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector SendActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector SendActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional SendActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional SendActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector SendActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector StakeholderMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional StakeholderMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional StakeholderMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector StakeholderMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional StakeholderMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional StakeholderMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional StakeholderMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional StakeholderMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional StakeholderMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional StakeholderMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional StakeholderMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional StakeholderMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional StakeholderMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional StakeholderMembership::getName() const { return read_string_("name"); } +inline std::vector StakeholderMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector StakeholderMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional StakeholderMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional StakeholderMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional StakeholderMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional StakeholderMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional StakeholderMembership::getOwnedMemberParameter() const { return read_ref_("ownedMemberParameter"); } +inline std::optional StakeholderMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector StakeholderMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector StakeholderMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional StakeholderMembership::getOwnedStakeholderParameter() const { return read_ref_("ownedStakeholderParameter"); } +inline std::optional StakeholderMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional StakeholderMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional StakeholderMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional StakeholderMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional StakeholderMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional StakeholderMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional StakeholderMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector StakeholderMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional StakeholderMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector StakeholderMembership::getSource() const { return read_list_("source"); } +inline std::vector StakeholderMembership::getTarget() const { return read_list_("target"); } +inline std::vector StakeholderMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional StakeholderMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional StakeholderMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional StakeholderMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional StakeholderMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional StakeholderMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional StakeholderMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional StakeholderMembership::parameterDirection() const { return as_string_(call_("parameterDirection", {})); } +inline std::optional StakeholderMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector StateDefinition::getAction() const { return read_list_("action"); } +inline std::vector StateDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional StateDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional StateDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector StateDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector StateDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector StateDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional StateDefinition::getDoAction() const { return read_ref_("doAction"); } +inline std::vector StateDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional StateDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector StateDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional StateDefinition::getEntryAction() const { return read_ref_("entryAction"); } +inline std::optional StateDefinition::getExitAction() const { return read_ref_("exitAction"); } +inline std::vector StateDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector StateDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector StateDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector StateDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector StateDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector StateDefinition::getInput() const { return read_list_("input"); } +inline std::vector StateDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional StateDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional StateDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional StateDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional StateDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional StateDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional StateDefinition::getIsParallel() const { return read_bool_("isParallel"); } +inline std::optional StateDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional StateDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector StateDefinition::getMember() const { return read_list_("member"); } +inline std::vector StateDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional StateDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional StateDefinition::getName() const { return read_string_("name"); } +inline std::vector StateDefinition::getOutput() const { return read_list_("output"); } +inline std::vector StateDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector StateDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector StateDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector StateDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector StateDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector StateDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector StateDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector StateDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional StateDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector StateDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector StateDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector StateDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector StateDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector StateDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector StateDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector StateDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector StateDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector StateDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector StateDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector StateDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector StateDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector StateDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector StateDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector StateDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector StateDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector StateDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector StateDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector StateDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector StateDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector StateDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector StateDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector StateDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector StateDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector StateDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector StateDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector StateDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector StateDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector StateDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector StateDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector StateDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector StateDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector StateDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector StateDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional StateDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional StateDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional StateDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional StateDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector StateDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional StateDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional StateDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector StateDefinition::getState() const { return read_list_("state"); } +inline std::vector StateDefinition::getStep() const { return read_list_("step"); } +inline std::vector StateDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector StateDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector StateDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector StateDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector StateDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector StateDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector StateDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional StateDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional StateDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional StateDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional StateDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional StateDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector StateDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector StateDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector StateDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional StateDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional StateDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector StateDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector StateDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector StateDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector StateDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional StateDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional StateDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector StateDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional StateDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional StateDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional StateDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional StateDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional StateDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional StateDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector StateDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional StateDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional StateDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector StateDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::optional StateSubactionMembership::getAction() const { return read_ref_("action"); } +inline std::vector StateSubactionMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional StateSubactionMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional StateSubactionMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector StateSubactionMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional StateSubactionMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional StateSubactionMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional StateSubactionMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional StateSubactionMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional StateSubactionMembership::getKind() const { return read_string_("kind"); } +inline std::optional StateSubactionMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional StateSubactionMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional StateSubactionMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional StateSubactionMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional StateSubactionMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional StateSubactionMembership::getName() const { return read_string_("name"); } +inline std::vector StateSubactionMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector StateSubactionMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional StateSubactionMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional StateSubactionMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional StateSubactionMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional StateSubactionMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional StateSubactionMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector StateSubactionMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector StateSubactionMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional StateSubactionMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional StateSubactionMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional StateSubactionMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional StateSubactionMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional StateSubactionMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional StateSubactionMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional StateSubactionMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector StateSubactionMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional StateSubactionMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector StateSubactionMembership::getSource() const { return read_list_("source"); } +inline std::vector StateSubactionMembership::getTarget() const { return read_list_("target"); } +inline std::vector StateSubactionMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional StateSubactionMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional StateSubactionMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional StateSubactionMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional StateSubactionMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional StateSubactionMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional StateSubactionMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional StateSubactionMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector Subclassification::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Subclassification::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Subclassification::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Subclassification::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Subclassification::getElementId() const { return read_string_("elementId"); } +inline std::optional Subclassification::getGeneral() const { return read_ref_("general"); } +inline std::optional Subclassification::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Subclassification::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Subclassification::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Subclassification::getName() const { return read_string_("name"); } +inline std::vector Subclassification::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Subclassification::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Subclassification::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Subclassification::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Subclassification::getOwner() const { return read_ref_("owner"); } +inline std::optional Subclassification::getOwningClassifier() const { return read_ref_("owningClassifier"); } +inline std::optional Subclassification::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Subclassification::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Subclassification::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Subclassification::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Subclassification::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Subclassification::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Subclassification::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Subclassification::getShortName() const { return read_string_("shortName"); } +inline std::vector Subclassification::getSource() const { return read_list_("source"); } +inline std::optional Subclassification::getSpecific() const { return read_ref_("specific"); } +inline std::optional Subclassification::getSubclassifier() const { return read_ref_("subclassifier"); } +inline std::optional Subclassification::getSuperclassifier() const { return read_ref_("superclassifier"); } +inline std::vector Subclassification::getTarget() const { return read_list_("target"); } +inline std::vector Subclassification::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Subclassification::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Subclassification::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Subclassification::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Subclassification::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Subclassification::path() const { return as_string_(call_("path", {})); } +inline std::vector SubjectMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional SubjectMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SubjectMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector SubjectMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SubjectMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional SubjectMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional SubjectMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SubjectMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SubjectMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional SubjectMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional SubjectMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional SubjectMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional SubjectMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional SubjectMembership::getName() const { return read_string_("name"); } +inline std::vector SubjectMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector SubjectMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional SubjectMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional SubjectMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional SubjectMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional SubjectMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional SubjectMembership::getOwnedMemberParameter() const { return read_ref_("ownedMemberParameter"); } +inline std::optional SubjectMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector SubjectMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector SubjectMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional SubjectMembership::getOwnedSubjectParameter() const { return read_ref_("ownedSubjectParameter"); } +inline std::optional SubjectMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional SubjectMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SubjectMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SubjectMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional SubjectMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SubjectMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional SubjectMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector SubjectMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional SubjectMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector SubjectMembership::getSource() const { return read_list_("source"); } +inline std::vector SubjectMembership::getTarget() const { return read_list_("target"); } +inline std::vector SubjectMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional SubjectMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional SubjectMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SubjectMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SubjectMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional SubjectMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional SubjectMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional SubjectMembership::parameterDirection() const { return as_string_(call_("parameterDirection", {})); } +inline std::optional SubjectMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector Succession::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector Succession::getAssociation() const { return read_list_("association"); } +inline std::vector Succession::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector Succession::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional Succession::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional Succession::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Succession::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional Succession::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector Succession::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector Succession::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional Succession::getDirection() const { return read_string_("direction"); } +inline std::vector Succession::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Succession::getElementId() const { return read_string_("elementId"); } +inline std::vector Succession::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional Succession::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector Succession::getFeature() const { return read_list_("feature"); } +inline std::vector Succession::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional Succession::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector Succession::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector Succession::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector Succession::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector Succession::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector Succession::getInput() const { return read_list_("input"); } +inline std::vector Succession::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional Succession::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional Succession::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional Succession::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional Succession::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional Succession::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional Succession::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional Succession::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Succession::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Succession::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Succession::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional Succession::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional Succession::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional Succession::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional Succession::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector Succession::getMember() const { return read_list_("member"); } +inline std::vector Succession::getMembership() const { return read_list_("membership"); } +inline std::optional Succession::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional Succession::getName() const { return read_string_("name"); } +inline std::vector Succession::getOutput() const { return read_list_("output"); } +inline std::vector Succession::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional Succession::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional Succession::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector Succession::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector Succession::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector Succession::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Succession::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector Succession::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector Succession::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector Succession::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector Succession::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector Succession::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector Succession::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector Succession::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector Succession::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector Succession::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional Succession::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector Succession::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Succession::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector Succession::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector Succession::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector Succession::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector Succession::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector Succession::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional Succession::getOwner() const { return read_ref_("owner"); } +inline std::optional Succession::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional Succession::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Succession::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Succession::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Succession::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Succession::getOwningType() const { return read_ref_("owningType"); } +inline std::optional Succession::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Succession::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector Succession::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional Succession::getShortName() const { return read_string_("shortName"); } +inline std::vector Succession::getSource() const { return read_list_("source"); } +inline std::optional Succession::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector Succession::getTarget() const { return read_list_("target"); } +inline std::vector Succession::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector Succession::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector Succession::getType() const { return read_list_("type"); } +inline std::vector Succession::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector Succession::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector Succession::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector Succession::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector Succession::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional Succession::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional Succession::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional Succession::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional Succession::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional Succession::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Succession::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Succession::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector Succession::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector Succession::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector Succession::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Succession::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional Succession::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional Succession::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional Succession::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional Succession::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional Succession::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector Succession::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector Succession::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector Succession::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional Succession::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector Succession::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional Succession::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional Succession::path() const { return as_string_(call_("path", {})); } +inline std::optional Succession::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional Succession::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional Succession::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector Succession::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional Succession::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional Succession::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional Succession::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional Succession::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional Succession::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional Succession::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional Succession::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector Succession::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector Succession::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional Succession::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional Succession::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector Succession::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector SuccessionAsUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector SuccessionAsUsage::getAssociation() const { return read_list_("association"); } +inline std::vector SuccessionAsUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector SuccessionAsUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional SuccessionAsUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional SuccessionAsUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SuccessionAsUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional SuccessionAsUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector SuccessionAsUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector SuccessionAsUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector SuccessionAsUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector SuccessionAsUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional SuccessionAsUsage::getDirection() const { return read_string_("direction"); } +inline std::vector SuccessionAsUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SuccessionAsUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector SuccessionAsUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional SuccessionAsUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector SuccessionAsUsage::getFeature() const { return read_list_("feature"); } +inline std::vector SuccessionAsUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional SuccessionAsUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector SuccessionAsUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector SuccessionAsUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector SuccessionAsUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector SuccessionAsUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector SuccessionAsUsage::getInput() const { return read_list_("input"); } +inline std::vector SuccessionAsUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional SuccessionAsUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional SuccessionAsUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional SuccessionAsUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional SuccessionAsUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional SuccessionAsUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional SuccessionAsUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional SuccessionAsUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional SuccessionAsUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SuccessionAsUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SuccessionAsUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional SuccessionAsUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional SuccessionAsUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional SuccessionAsUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional SuccessionAsUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional SuccessionAsUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional SuccessionAsUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional SuccessionAsUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector SuccessionAsUsage::getMember() const { return read_list_("member"); } +inline std::vector SuccessionAsUsage::getMembership() const { return read_list_("membership"); } +inline std::optional SuccessionAsUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional SuccessionAsUsage::getName() const { return read_string_("name"); } +inline std::vector SuccessionAsUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector SuccessionAsUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector SuccessionAsUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector SuccessionAsUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector SuccessionAsUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector SuccessionAsUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector SuccessionAsUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector SuccessionAsUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector SuccessionAsUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector SuccessionAsUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector SuccessionAsUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector SuccessionAsUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector SuccessionAsUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector SuccessionAsUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector SuccessionAsUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector SuccessionAsUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector SuccessionAsUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector SuccessionAsUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector SuccessionAsUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector SuccessionAsUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector SuccessionAsUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector SuccessionAsUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector SuccessionAsUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector SuccessionAsUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector SuccessionAsUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector SuccessionAsUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector SuccessionAsUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector SuccessionAsUsage::getOutput() const { return read_list_("output"); } +inline std::vector SuccessionAsUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional SuccessionAsUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional SuccessionAsUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector SuccessionAsUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector SuccessionAsUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector SuccessionAsUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector SuccessionAsUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector SuccessionAsUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector SuccessionAsUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector SuccessionAsUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector SuccessionAsUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector SuccessionAsUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector SuccessionAsUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector SuccessionAsUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector SuccessionAsUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector SuccessionAsUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional SuccessionAsUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector SuccessionAsUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector SuccessionAsUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector SuccessionAsUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector SuccessionAsUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector SuccessionAsUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector SuccessionAsUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector SuccessionAsUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional SuccessionAsUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional SuccessionAsUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional SuccessionAsUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional SuccessionAsUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SuccessionAsUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SuccessionAsUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional SuccessionAsUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SuccessionAsUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional SuccessionAsUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::optional SuccessionAsUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector SuccessionAsUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector SuccessionAsUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional SuccessionAsUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector SuccessionAsUsage::getSource() const { return read_list_("source"); } +inline std::optional SuccessionAsUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::vector SuccessionAsUsage::getTarget() const { return read_list_("target"); } +inline std::vector SuccessionAsUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::vector SuccessionAsUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector SuccessionAsUsage::getType() const { return read_list_("type"); } +inline std::vector SuccessionAsUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector SuccessionAsUsage::getUsage() const { return read_list_("usage"); } +inline std::vector SuccessionAsUsage::getVariant() const { return read_list_("variant"); } +inline std::vector SuccessionAsUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector SuccessionAsUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector SuccessionAsUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector SuccessionAsUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector SuccessionAsUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional SuccessionAsUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional SuccessionAsUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional SuccessionAsUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional SuccessionAsUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional SuccessionAsUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SuccessionAsUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SuccessionAsUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector SuccessionAsUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector SuccessionAsUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector SuccessionAsUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SuccessionAsUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional SuccessionAsUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional SuccessionAsUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional SuccessionAsUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional SuccessionAsUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional SuccessionAsUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector SuccessionAsUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector SuccessionAsUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector SuccessionAsUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional SuccessionAsUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector SuccessionAsUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SuccessionAsUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional SuccessionAsUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional SuccessionAsUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionAsUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional SuccessionAsUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional SuccessionAsUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector SuccessionAsUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional SuccessionAsUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionAsUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionAsUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional SuccessionAsUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional SuccessionAsUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional SuccessionAsUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional SuccessionAsUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector SuccessionAsUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector SuccessionAsUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional SuccessionAsUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionAsUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector SuccessionAsUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector SuccessionFlow::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector SuccessionFlow::getAssociation() const { return read_list_("association"); } +inline std::vector SuccessionFlow::getBehavior() const { return read_list_("behavior"); } +inline std::vector SuccessionFlow::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector SuccessionFlow::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional SuccessionFlow::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional SuccessionFlow::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SuccessionFlow::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional SuccessionFlow::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector SuccessionFlow::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector SuccessionFlow::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional SuccessionFlow::getDirection() const { return read_string_("direction"); } +inline std::vector SuccessionFlow::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SuccessionFlow::getElementId() const { return read_string_("elementId"); } +inline std::vector SuccessionFlow::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional SuccessionFlow::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector SuccessionFlow::getFeature() const { return read_list_("feature"); } +inline std::vector SuccessionFlow::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional SuccessionFlow::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector SuccessionFlow::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector SuccessionFlow::getFlowEnd() const { return read_list_("flowEnd"); } +inline std::vector SuccessionFlow::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector SuccessionFlow::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector SuccessionFlow::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector SuccessionFlow::getInput() const { return read_list_("input"); } +inline std::vector SuccessionFlow::getInteraction() const { return read_list_("interaction"); } +inline std::vector SuccessionFlow::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional SuccessionFlow::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional SuccessionFlow::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional SuccessionFlow::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional SuccessionFlow::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional SuccessionFlow::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional SuccessionFlow::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional SuccessionFlow::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional SuccessionFlow::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SuccessionFlow::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SuccessionFlow::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional SuccessionFlow::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional SuccessionFlow::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional SuccessionFlow::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional SuccessionFlow::getIsVariable() const { return read_bool_("isVariable"); } +inline std::vector SuccessionFlow::getMember() const { return read_list_("member"); } +inline std::vector SuccessionFlow::getMembership() const { return read_list_("membership"); } +inline std::optional SuccessionFlow::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional SuccessionFlow::getName() const { return read_string_("name"); } +inline std::vector SuccessionFlow::getOutput() const { return read_list_("output"); } +inline std::vector SuccessionFlow::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional SuccessionFlow::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional SuccessionFlow::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector SuccessionFlow::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector SuccessionFlow::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector SuccessionFlow::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector SuccessionFlow::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector SuccessionFlow::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector SuccessionFlow::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector SuccessionFlow::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector SuccessionFlow::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector SuccessionFlow::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector SuccessionFlow::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector SuccessionFlow::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector SuccessionFlow::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector SuccessionFlow::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional SuccessionFlow::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector SuccessionFlow::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector SuccessionFlow::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector SuccessionFlow::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector SuccessionFlow::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector SuccessionFlow::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector SuccessionFlow::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector SuccessionFlow::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional SuccessionFlow::getOwner() const { return read_ref_("owner"); } +inline std::optional SuccessionFlow::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional SuccessionFlow::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SuccessionFlow::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SuccessionFlow::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional SuccessionFlow::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SuccessionFlow::getOwningType() const { return read_ref_("owningType"); } +inline std::vector SuccessionFlow::getParameter() const { return read_list_("parameter"); } +inline std::optional SuccessionFlow::getPayloadFeature() const { return read_ref_("payloadFeature"); } +inline std::vector SuccessionFlow::getPayloadType() const { return read_list_("payloadType"); } +inline std::optional SuccessionFlow::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector SuccessionFlow::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector SuccessionFlow::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional SuccessionFlow::getShortName() const { return read_string_("shortName"); } +inline std::vector SuccessionFlow::getSource() const { return read_list_("source"); } +inline std::optional SuccessionFlow::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::optional SuccessionFlow::getSourceOutputFeature() const { return read_ref_("sourceOutputFeature"); } +inline std::vector SuccessionFlow::getTarget() const { return read_list_("target"); } +inline std::vector SuccessionFlow::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::optional SuccessionFlow::getTargetInputFeature() const { return read_ref_("targetInputFeature"); } +inline std::vector SuccessionFlow::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector SuccessionFlow::getType() const { return read_list_("type"); } +inline std::vector SuccessionFlow::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector SuccessionFlow::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector SuccessionFlow::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector SuccessionFlow::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector SuccessionFlow::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional SuccessionFlow::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional SuccessionFlow::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional SuccessionFlow::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional SuccessionFlow::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional SuccessionFlow::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SuccessionFlow::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SuccessionFlow::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector SuccessionFlow::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector SuccessionFlow::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector SuccessionFlow::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SuccessionFlow::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional SuccessionFlow::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional SuccessionFlow::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional SuccessionFlow::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional SuccessionFlow::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional SuccessionFlow::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector SuccessionFlow::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector SuccessionFlow::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector SuccessionFlow::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional SuccessionFlow::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector SuccessionFlow::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SuccessionFlow::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional SuccessionFlow::path() const { return as_string_(call_("path", {})); } +inline std::optional SuccessionFlow::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlow::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional SuccessionFlow::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector SuccessionFlow::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional SuccessionFlow::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlow::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlow::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional SuccessionFlow::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional SuccessionFlow::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional SuccessionFlow::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional SuccessionFlow::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector SuccessionFlow::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector SuccessionFlow::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional SuccessionFlow::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlow::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector SuccessionFlow::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector SuccessionFlowUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector SuccessionFlowUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector SuccessionFlowUsage::getAssociation() const { return read_list_("association"); } +inline std::vector SuccessionFlowUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector SuccessionFlowUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::vector SuccessionFlowUsage::getConnectorEnd() const { return read_list_("connectorEnd"); } +inline std::optional SuccessionFlowUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional SuccessionFlowUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional SuccessionFlowUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::optional SuccessionFlowUsage::getDefaultFeaturingType() const { return read_ref_("defaultFeaturingType"); } +inline std::vector SuccessionFlowUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector SuccessionFlowUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector SuccessionFlowUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector SuccessionFlowUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional SuccessionFlowUsage::getDirection() const { return read_string_("direction"); } +inline std::vector SuccessionFlowUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional SuccessionFlowUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector SuccessionFlowUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional SuccessionFlowUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector SuccessionFlowUsage::getFeature() const { return read_list_("feature"); } +inline std::vector SuccessionFlowUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional SuccessionFlowUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector SuccessionFlowUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector SuccessionFlowUsage::getFlowDefinition() const { return read_list_("flowDefinition"); } +inline std::vector SuccessionFlowUsage::getFlowEnd() const { return read_list_("flowEnd"); } +inline std::vector SuccessionFlowUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional SuccessionFlowUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector SuccessionFlowUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector SuccessionFlowUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector SuccessionFlowUsage::getInput() const { return read_list_("input"); } +inline std::vector SuccessionFlowUsage::getInteraction() const { return read_list_("interaction"); } +inline std::vector SuccessionFlowUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional SuccessionFlowUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional SuccessionFlowUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional SuccessionFlowUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional SuccessionFlowUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional SuccessionFlowUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional SuccessionFlowUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional SuccessionFlowUsage::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional SuccessionFlowUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional SuccessionFlowUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional SuccessionFlowUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional SuccessionFlowUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional SuccessionFlowUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional SuccessionFlowUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional SuccessionFlowUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional SuccessionFlowUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional SuccessionFlowUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional SuccessionFlowUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional SuccessionFlowUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector SuccessionFlowUsage::getMember() const { return read_list_("member"); } +inline std::vector SuccessionFlowUsage::getMembership() const { return read_list_("membership"); } +inline std::optional SuccessionFlowUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional SuccessionFlowUsage::getName() const { return read_string_("name"); } +inline std::vector SuccessionFlowUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector SuccessionFlowUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector SuccessionFlowUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector SuccessionFlowUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector SuccessionFlowUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector SuccessionFlowUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector SuccessionFlowUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector SuccessionFlowUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector SuccessionFlowUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector SuccessionFlowUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector SuccessionFlowUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector SuccessionFlowUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector SuccessionFlowUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector SuccessionFlowUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector SuccessionFlowUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector SuccessionFlowUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector SuccessionFlowUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector SuccessionFlowUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector SuccessionFlowUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector SuccessionFlowUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector SuccessionFlowUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector SuccessionFlowUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector SuccessionFlowUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector SuccessionFlowUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector SuccessionFlowUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector SuccessionFlowUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector SuccessionFlowUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector SuccessionFlowUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector SuccessionFlowUsage::getOutput() const { return read_list_("output"); } +inline std::vector SuccessionFlowUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional SuccessionFlowUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional SuccessionFlowUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector SuccessionFlowUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector SuccessionFlowUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector SuccessionFlowUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector SuccessionFlowUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector SuccessionFlowUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector SuccessionFlowUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector SuccessionFlowUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector SuccessionFlowUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector SuccessionFlowUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector SuccessionFlowUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector SuccessionFlowUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector SuccessionFlowUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector SuccessionFlowUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional SuccessionFlowUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector SuccessionFlowUsage::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector SuccessionFlowUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector SuccessionFlowUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector SuccessionFlowUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector SuccessionFlowUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector SuccessionFlowUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector SuccessionFlowUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional SuccessionFlowUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional SuccessionFlowUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional SuccessionFlowUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional SuccessionFlowUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional SuccessionFlowUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional SuccessionFlowUsage::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional SuccessionFlowUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional SuccessionFlowUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional SuccessionFlowUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector SuccessionFlowUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional SuccessionFlowUsage::getPayloadFeature() const { return read_ref_("payloadFeature"); } +inline std::vector SuccessionFlowUsage::getPayloadType() const { return read_list_("payloadType"); } +inline std::optional SuccessionFlowUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional SuccessionFlowUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector SuccessionFlowUsage::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::vector SuccessionFlowUsage::getRelatedFeature() const { return read_list_("relatedFeature"); } +inline std::optional SuccessionFlowUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector SuccessionFlowUsage::getSource() const { return read_list_("source"); } +inline std::optional SuccessionFlowUsage::getSourceFeature() const { return read_ref_("sourceFeature"); } +inline std::optional SuccessionFlowUsage::getSourceOutputFeature() const { return read_ref_("sourceOutputFeature"); } +inline std::vector SuccessionFlowUsage::getTarget() const { return read_list_("target"); } +inline std::vector SuccessionFlowUsage::getTargetFeature() const { return read_list_("targetFeature"); } +inline std::optional SuccessionFlowUsage::getTargetInputFeature() const { return read_ref_("targetInputFeature"); } +inline std::vector SuccessionFlowUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector SuccessionFlowUsage::getType() const { return read_list_("type"); } +inline std::vector SuccessionFlowUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector SuccessionFlowUsage::getUsage() const { return read_list_("usage"); } +inline std::vector SuccessionFlowUsage::getVariant() const { return read_list_("variant"); } +inline std::vector SuccessionFlowUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector SuccessionFlowUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector SuccessionFlowUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector SuccessionFlowUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional SuccessionFlowUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector SuccessionFlowUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional SuccessionFlowUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional SuccessionFlowUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional SuccessionFlowUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional SuccessionFlowUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional SuccessionFlowUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional SuccessionFlowUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional SuccessionFlowUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector SuccessionFlowUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector SuccessionFlowUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector SuccessionFlowUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SuccessionFlowUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector SuccessionFlowUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional SuccessionFlowUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional SuccessionFlowUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional SuccessionFlowUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional SuccessionFlowUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional SuccessionFlowUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional SuccessionFlowUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional SuccessionFlowUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector SuccessionFlowUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector SuccessionFlowUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector SuccessionFlowUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional SuccessionFlowUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector SuccessionFlowUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional SuccessionFlowUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional SuccessionFlowUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional SuccessionFlowUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlowUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional SuccessionFlowUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional SuccessionFlowUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector SuccessionFlowUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional SuccessionFlowUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlowUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlowUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional SuccessionFlowUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional SuccessionFlowUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional SuccessionFlowUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional SuccessionFlowUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector SuccessionFlowUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector SuccessionFlowUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional SuccessionFlowUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional SuccessionFlowUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector SuccessionFlowUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector TerminateActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector TerminateActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector TerminateActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector TerminateActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional TerminateActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional TerminateActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional TerminateActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector TerminateActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector TerminateActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector TerminateActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector TerminateActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional TerminateActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector TerminateActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional TerminateActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector TerminateActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional TerminateActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector TerminateActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector TerminateActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional TerminateActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector TerminateActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector TerminateActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional TerminateActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector TerminateActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector TerminateActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector TerminateActionUsage::getInput() const { return read_list_("input"); } +inline std::vector TerminateActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional TerminateActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional TerminateActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional TerminateActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional TerminateActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional TerminateActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional TerminateActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional TerminateActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional TerminateActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional TerminateActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional TerminateActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional TerminateActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional TerminateActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional TerminateActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional TerminateActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional TerminateActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional TerminateActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional TerminateActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector TerminateActionUsage::getMember() const { return read_list_("member"); } +inline std::vector TerminateActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional TerminateActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional TerminateActionUsage::getName() const { return read_string_("name"); } +inline std::vector TerminateActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector TerminateActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector TerminateActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector TerminateActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector TerminateActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector TerminateActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector TerminateActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector TerminateActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector TerminateActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector TerminateActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector TerminateActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector TerminateActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector TerminateActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector TerminateActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector TerminateActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector TerminateActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector TerminateActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector TerminateActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector TerminateActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector TerminateActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector TerminateActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector TerminateActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector TerminateActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector TerminateActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector TerminateActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector TerminateActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector TerminateActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector TerminateActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector TerminateActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector TerminateActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional TerminateActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional TerminateActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector TerminateActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector TerminateActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector TerminateActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector TerminateActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector TerminateActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector TerminateActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector TerminateActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector TerminateActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector TerminateActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector TerminateActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector TerminateActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector TerminateActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector TerminateActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional TerminateActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector TerminateActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector TerminateActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector TerminateActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector TerminateActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector TerminateActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector TerminateActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional TerminateActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional TerminateActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional TerminateActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional TerminateActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional TerminateActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional TerminateActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional TerminateActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional TerminateActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector TerminateActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional TerminateActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional TerminateActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional TerminateActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional TerminateActionUsage::getTerminatedOccurrenceArgument() const { return read_ref_("terminatedOccurrenceArgument"); } +inline std::vector TerminateActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector TerminateActionUsage::getType() const { return read_list_("type"); } +inline std::vector TerminateActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector TerminateActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector TerminateActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector TerminateActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector TerminateActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector TerminateActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector TerminateActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional TerminateActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector TerminateActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional TerminateActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional TerminateActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional TerminateActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional TerminateActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional TerminateActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional TerminateActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional TerminateActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector TerminateActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector TerminateActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector TerminateActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional TerminateActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector TerminateActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional TerminateActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional TerminateActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional TerminateActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional TerminateActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional TerminateActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional TerminateActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional TerminateActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector TerminateActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector TerminateActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector TerminateActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional TerminateActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector TerminateActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional TerminateActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional TerminateActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional TerminateActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional TerminateActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional TerminateActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional TerminateActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector TerminateActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional TerminateActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional TerminateActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional TerminateActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional TerminateActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional TerminateActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional TerminateActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional TerminateActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector TerminateActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector TerminateActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional TerminateActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional TerminateActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector TerminateActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector TextualRepresentation::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector TextualRepresentation::getAnnotatedElement() const { return read_list_("annotatedElement"); } +inline std::vector TextualRepresentation::getAnnotation() const { return read_list_("annotation"); } +inline std::optional TextualRepresentation::getBody() const { return read_string_("body"); } +inline std::optional TextualRepresentation::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional TextualRepresentation::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector TextualRepresentation::getDocumentation() const { return read_list_("documentation"); } +inline std::optional TextualRepresentation::getElementId() const { return read_string_("elementId"); } +inline std::optional TextualRepresentation::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional TextualRepresentation::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional TextualRepresentation::getLanguage() const { return read_string_("language"); } +inline std::optional TextualRepresentation::getName() const { return read_string_("name"); } +inline std::vector TextualRepresentation::getOwnedAnnotatingRelationship() const { return read_list_("ownedAnnotatingRelationship"); } +inline std::vector TextualRepresentation::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector TextualRepresentation::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector TextualRepresentation::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional TextualRepresentation::getOwner() const { return read_ref_("owner"); } +inline std::optional TextualRepresentation::getOwningAnnotatingRelationship() const { return read_ref_("owningAnnotatingRelationship"); } +inline std::optional TextualRepresentation::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional TextualRepresentation::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional TextualRepresentation::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional TextualRepresentation::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional TextualRepresentation::getRepresentedElement() const { return read_ref_("representedElement"); } +inline std::optional TextualRepresentation::getShortName() const { return read_string_("shortName"); } +inline std::vector TextualRepresentation::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional TextualRepresentation::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional TextualRepresentation::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional TextualRepresentation::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional TextualRepresentation::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional TextualRepresentation::path() const { return as_string_(call_("path", {})); } +inline std::vector TransitionFeatureMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional TransitionFeatureMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional TransitionFeatureMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector TransitionFeatureMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional TransitionFeatureMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional TransitionFeatureMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional TransitionFeatureMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional TransitionFeatureMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional TransitionFeatureMembership::getKind() const { return read_string_("kind"); } +inline std::optional TransitionFeatureMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional TransitionFeatureMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional TransitionFeatureMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional TransitionFeatureMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional TransitionFeatureMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional TransitionFeatureMembership::getName() const { return read_string_("name"); } +inline std::vector TransitionFeatureMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector TransitionFeatureMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional TransitionFeatureMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional TransitionFeatureMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional TransitionFeatureMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional TransitionFeatureMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional TransitionFeatureMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector TransitionFeatureMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector TransitionFeatureMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional TransitionFeatureMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional TransitionFeatureMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional TransitionFeatureMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional TransitionFeatureMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional TransitionFeatureMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional TransitionFeatureMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional TransitionFeatureMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector TransitionFeatureMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional TransitionFeatureMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector TransitionFeatureMembership::getSource() const { return read_list_("source"); } +inline std::vector TransitionFeatureMembership::getTarget() const { return read_list_("target"); } +inline std::vector TransitionFeatureMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional TransitionFeatureMembership::getTransitionFeature() const { return read_ref_("transitionFeature"); } +inline std::optional TransitionFeatureMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional TransitionFeatureMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional TransitionFeatureMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional TransitionFeatureMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional TransitionFeatureMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional TransitionFeatureMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional TransitionFeatureMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector TransitionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector TransitionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector TransitionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector TransitionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional TransitionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional TransitionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional TransitionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector TransitionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector TransitionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector TransitionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector TransitionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional TransitionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector TransitionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::vector TransitionUsage::getEffectAction() const { return read_list_("effectAction"); } +inline std::optional TransitionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector TransitionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional TransitionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector TransitionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector TransitionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional TransitionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector TransitionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector TransitionUsage::getGuardExpression() const { return read_list_("guardExpression"); } +inline std::vector TransitionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional TransitionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector TransitionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector TransitionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector TransitionUsage::getInput() const { return read_list_("input"); } +inline std::vector TransitionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional TransitionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional TransitionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional TransitionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional TransitionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional TransitionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional TransitionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional TransitionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional TransitionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional TransitionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional TransitionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional TransitionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional TransitionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional TransitionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional TransitionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional TransitionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional TransitionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional TransitionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector TransitionUsage::getMember() const { return read_list_("member"); } +inline std::vector TransitionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional TransitionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional TransitionUsage::getName() const { return read_string_("name"); } +inline std::vector TransitionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector TransitionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector TransitionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector TransitionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector TransitionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector TransitionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector TransitionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector TransitionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector TransitionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector TransitionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector TransitionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector TransitionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector TransitionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector TransitionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector TransitionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector TransitionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector TransitionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector TransitionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector TransitionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector TransitionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector TransitionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector TransitionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector TransitionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector TransitionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector TransitionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector TransitionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector TransitionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector TransitionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector TransitionUsage::getOutput() const { return read_list_("output"); } +inline std::vector TransitionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional TransitionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional TransitionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector TransitionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector TransitionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector TransitionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector TransitionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector TransitionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector TransitionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector TransitionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector TransitionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector TransitionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector TransitionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector TransitionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector TransitionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector TransitionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional TransitionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector TransitionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector TransitionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector TransitionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector TransitionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector TransitionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector TransitionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional TransitionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional TransitionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional TransitionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional TransitionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional TransitionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional TransitionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional TransitionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional TransitionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector TransitionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional TransitionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional TransitionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional TransitionUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional TransitionUsage::getSource() const { return read_ref_("source"); } +inline std::optional TransitionUsage::getSuccession() const { return read_ref_("succession"); } +inline std::optional TransitionUsage::getTarget() const { return read_ref_("target"); } +inline std::vector TransitionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector TransitionUsage::getTriggerAction() const { return read_list_("triggerAction"); } +inline std::vector TransitionUsage::getType() const { return read_list_("type"); } +inline std::vector TransitionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector TransitionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector TransitionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector TransitionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector TransitionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector TransitionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector TransitionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional TransitionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector TransitionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional TransitionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional TransitionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional TransitionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional TransitionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional TransitionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional TransitionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional TransitionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector TransitionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector TransitionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector TransitionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional TransitionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector TransitionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional TransitionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional TransitionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional TransitionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional TransitionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional TransitionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional TransitionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional TransitionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector TransitionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector TransitionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector TransitionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional TransitionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector TransitionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional TransitionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional TransitionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional TransitionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional TransitionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional TransitionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional TransitionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector TransitionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional TransitionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional TransitionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional TransitionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional TransitionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional TransitionUsage::sourceFeature() const { return as_ref_(call_("sourceFeature", {})); } +inline std::optional TransitionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional TransitionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional TransitionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector TransitionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional TransitionUsage::triggerPayloadParameter() const { return as_ref_(call_("triggerPayloadParameter", {})); } +inline std::vector TransitionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional TransitionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional TransitionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector TransitionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector TriggerInvocationExpression::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector TriggerInvocationExpression::getArgument() const { return read_list_("argument"); } +inline std::vector TriggerInvocationExpression::getBehavior() const { return read_list_("behavior"); } +inline std::vector TriggerInvocationExpression::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional TriggerInvocationExpression::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional TriggerInvocationExpression::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional TriggerInvocationExpression::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector TriggerInvocationExpression::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector TriggerInvocationExpression::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::optional TriggerInvocationExpression::getDirection() const { return read_string_("direction"); } +inline std::vector TriggerInvocationExpression::getDocumentation() const { return read_list_("documentation"); } +inline std::optional TriggerInvocationExpression::getElementId() const { return read_string_("elementId"); } +inline std::vector TriggerInvocationExpression::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional TriggerInvocationExpression::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector TriggerInvocationExpression::getFeature() const { return read_list_("feature"); } +inline std::vector TriggerInvocationExpression::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional TriggerInvocationExpression::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector TriggerInvocationExpression::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional TriggerInvocationExpression::getFunction() const { return read_ref_("function"); } +inline std::vector TriggerInvocationExpression::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector TriggerInvocationExpression::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector TriggerInvocationExpression::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector TriggerInvocationExpression::getInput() const { return read_list_("input"); } +inline std::optional TriggerInvocationExpression::getInstantiatedType() const { return read_ref_("instantiatedType"); } +inline std::vector TriggerInvocationExpression::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional TriggerInvocationExpression::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional TriggerInvocationExpression::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional TriggerInvocationExpression::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional TriggerInvocationExpression::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional TriggerInvocationExpression::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional TriggerInvocationExpression::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional TriggerInvocationExpression::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional TriggerInvocationExpression::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional TriggerInvocationExpression::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional TriggerInvocationExpression::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional TriggerInvocationExpression::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional TriggerInvocationExpression::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional TriggerInvocationExpression::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional TriggerInvocationExpression::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional TriggerInvocationExpression::getKind() const { return read_string_("kind"); } +inline std::vector TriggerInvocationExpression::getMember() const { return read_list_("member"); } +inline std::vector TriggerInvocationExpression::getMembership() const { return read_list_("membership"); } +inline std::optional TriggerInvocationExpression::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional TriggerInvocationExpression::getName() const { return read_string_("name"); } +inline std::vector TriggerInvocationExpression::getOutput() const { return read_list_("output"); } +inline std::vector TriggerInvocationExpression::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional TriggerInvocationExpression::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional TriggerInvocationExpression::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector TriggerInvocationExpression::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector TriggerInvocationExpression::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector TriggerInvocationExpression::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector TriggerInvocationExpression::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector TriggerInvocationExpression::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector TriggerInvocationExpression::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector TriggerInvocationExpression::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector TriggerInvocationExpression::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector TriggerInvocationExpression::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector TriggerInvocationExpression::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector TriggerInvocationExpression::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector TriggerInvocationExpression::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector TriggerInvocationExpression::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional TriggerInvocationExpression::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector TriggerInvocationExpression::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector TriggerInvocationExpression::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector TriggerInvocationExpression::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector TriggerInvocationExpression::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector TriggerInvocationExpression::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector TriggerInvocationExpression::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional TriggerInvocationExpression::getOwner() const { return read_ref_("owner"); } +inline std::optional TriggerInvocationExpression::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional TriggerInvocationExpression::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional TriggerInvocationExpression::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional TriggerInvocationExpression::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional TriggerInvocationExpression::getOwningType() const { return read_ref_("owningType"); } +inline std::vector TriggerInvocationExpression::getParameter() const { return read_list_("parameter"); } +inline std::optional TriggerInvocationExpression::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional TriggerInvocationExpression::getResult() const { return read_ref_("result"); } +inline std::optional TriggerInvocationExpression::getShortName() const { return read_string_("shortName"); } +inline std::vector TriggerInvocationExpression::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector TriggerInvocationExpression::getType() const { return read_list_("type"); } +inline std::vector TriggerInvocationExpression::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector TriggerInvocationExpression::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector TriggerInvocationExpression::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector TriggerInvocationExpression::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector TriggerInvocationExpression::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional TriggerInvocationExpression::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional TriggerInvocationExpression::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional TriggerInvocationExpression::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional TriggerInvocationExpression::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional TriggerInvocationExpression::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional TriggerInvocationExpression::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional TriggerInvocationExpression::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional TriggerInvocationExpression::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector TriggerInvocationExpression::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector TriggerInvocationExpression::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector TriggerInvocationExpression::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector TriggerInvocationExpression::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional TriggerInvocationExpression::instantiatedType() const { return as_ref_(call_("instantiatedType", {})); } +inline std::optional TriggerInvocationExpression::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional TriggerInvocationExpression::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional TriggerInvocationExpression::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional TriggerInvocationExpression::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional TriggerInvocationExpression::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional TriggerInvocationExpression::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector TriggerInvocationExpression::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional TriggerInvocationExpression::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector TriggerInvocationExpression::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector TriggerInvocationExpression::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional TriggerInvocationExpression::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector TriggerInvocationExpression::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional TriggerInvocationExpression::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional TriggerInvocationExpression::path() const { return as_string_(call_("path", {})); } +inline std::optional TriggerInvocationExpression::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional TriggerInvocationExpression::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional TriggerInvocationExpression::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::vector TriggerInvocationExpression::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional TriggerInvocationExpression::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional TriggerInvocationExpression::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional TriggerInvocationExpression::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional TriggerInvocationExpression::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional TriggerInvocationExpression::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional TriggerInvocationExpression::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional TriggerInvocationExpression::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector TriggerInvocationExpression::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector TriggerInvocationExpression::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional TriggerInvocationExpression::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional TriggerInvocationExpression::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector TriggerInvocationExpression::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector TypeFeaturing::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional TypeFeaturing::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional TypeFeaturing::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector TypeFeaturing::getDocumentation() const { return read_list_("documentation"); } +inline std::optional TypeFeaturing::getElementId() const { return read_string_("elementId"); } +inline std::optional TypeFeaturing::getFeatureOfType() const { return read_ref_("featureOfType"); } +inline std::optional TypeFeaturing::getFeaturingType() const { return read_ref_("featuringType"); } +inline std::optional TypeFeaturing::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional TypeFeaturing::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional TypeFeaturing::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional TypeFeaturing::getName() const { return read_string_("name"); } +inline std::vector TypeFeaturing::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector TypeFeaturing::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector TypeFeaturing::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector TypeFeaturing::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional TypeFeaturing::getOwner() const { return read_ref_("owner"); } +inline std::optional TypeFeaturing::getOwningFeatureOfType() const { return read_ref_("owningFeatureOfType"); } +inline std::optional TypeFeaturing::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional TypeFeaturing::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional TypeFeaturing::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional TypeFeaturing::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional TypeFeaturing::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector TypeFeaturing::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional TypeFeaturing::getShortName() const { return read_string_("shortName"); } +inline std::vector TypeFeaturing::getSource() const { return read_list_("source"); } +inline std::vector TypeFeaturing::getTarget() const { return read_list_("target"); } +inline std::vector TypeFeaturing::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional TypeFeaturing::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional TypeFeaturing::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional TypeFeaturing::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional TypeFeaturing::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional TypeFeaturing::path() const { return as_string_(call_("path", {})); } +inline std::vector Unioning::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional Unioning::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional Unioning::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector Unioning::getDocumentation() const { return read_list_("documentation"); } +inline std::optional Unioning::getElementId() const { return read_string_("elementId"); } +inline std::optional Unioning::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional Unioning::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional Unioning::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional Unioning::getName() const { return read_string_("name"); } +inline std::vector Unioning::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector Unioning::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector Unioning::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector Unioning::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional Unioning::getOwner() const { return read_ref_("owner"); } +inline std::optional Unioning::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional Unioning::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional Unioning::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional Unioning::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional Unioning::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector Unioning::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional Unioning::getShortName() const { return read_string_("shortName"); } +inline std::vector Unioning::getSource() const { return read_list_("source"); } +inline std::vector Unioning::getTarget() const { return read_list_("target"); } +inline std::vector Unioning::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional Unioning::getTypeUnioned() const { return read_ref_("typeUnioned"); } +inline std::optional Unioning::getUnioningType() const { return read_ref_("unioningType"); } +inline std::optional Unioning::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional Unioning::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional Unioning::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional Unioning::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional Unioning::path() const { return as_string_(call_("path", {})); } +inline std::vector UseCaseDefinition::getAction() const { return read_list_("action"); } +inline std::vector UseCaseDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector UseCaseDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector UseCaseDefinition::getCalculation() const { return read_list_("calculation"); } +inline std::optional UseCaseDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional UseCaseDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector UseCaseDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector UseCaseDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector UseCaseDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector UseCaseDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional UseCaseDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector UseCaseDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector UseCaseDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector UseCaseDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector UseCaseDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector UseCaseDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector UseCaseDefinition::getIncludedUseCase() const { return read_list_("includedUseCase"); } +inline std::vector UseCaseDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector UseCaseDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector UseCaseDefinition::getInput() const { return read_list_("input"); } +inline std::vector UseCaseDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional UseCaseDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional UseCaseDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional UseCaseDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional UseCaseDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional UseCaseDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional UseCaseDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional UseCaseDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional UseCaseDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector UseCaseDefinition::getMember() const { return read_list_("member"); } +inline std::vector UseCaseDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional UseCaseDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional UseCaseDefinition::getName() const { return read_string_("name"); } +inline std::optional UseCaseDefinition::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector UseCaseDefinition::getOutput() const { return read_list_("output"); } +inline std::vector UseCaseDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector UseCaseDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector UseCaseDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector UseCaseDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector UseCaseDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector UseCaseDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector UseCaseDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector UseCaseDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional UseCaseDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector UseCaseDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector UseCaseDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector UseCaseDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector UseCaseDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector UseCaseDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector UseCaseDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector UseCaseDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector UseCaseDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector UseCaseDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector UseCaseDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector UseCaseDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector UseCaseDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector UseCaseDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector UseCaseDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector UseCaseDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector UseCaseDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector UseCaseDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector UseCaseDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector UseCaseDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector UseCaseDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector UseCaseDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector UseCaseDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector UseCaseDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector UseCaseDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector UseCaseDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector UseCaseDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector UseCaseDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector UseCaseDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector UseCaseDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector UseCaseDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector UseCaseDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector UseCaseDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector UseCaseDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector UseCaseDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional UseCaseDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional UseCaseDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional UseCaseDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional UseCaseDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector UseCaseDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional UseCaseDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional UseCaseDefinition::getResult() const { return read_ref_("result"); } +inline std::optional UseCaseDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector UseCaseDefinition::getStep() const { return read_list_("step"); } +inline std::optional UseCaseDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector UseCaseDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector UseCaseDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector UseCaseDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector UseCaseDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector UseCaseDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector UseCaseDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector UseCaseDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional UseCaseDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional UseCaseDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional UseCaseDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional UseCaseDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional UseCaseDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector UseCaseDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector UseCaseDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector UseCaseDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional UseCaseDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional UseCaseDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector UseCaseDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector UseCaseDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector UseCaseDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector UseCaseDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional UseCaseDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional UseCaseDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector UseCaseDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional UseCaseDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional UseCaseDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional UseCaseDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional UseCaseDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector UseCaseDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional UseCaseDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional UseCaseDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector UseCaseDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector VariantMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional VariantMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional VariantMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector VariantMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional VariantMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional VariantMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional VariantMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional VariantMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional VariantMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional VariantMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional VariantMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional VariantMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional VariantMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional VariantMembership::getName() const { return read_string_("name"); } +inline std::vector VariantMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector VariantMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional VariantMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional VariantMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional VariantMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional VariantMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector VariantMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector VariantMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional VariantMembership::getOwnedVariantUsage() const { return read_ref_("ownedVariantUsage"); } +inline std::optional VariantMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional VariantMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional VariantMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional VariantMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional VariantMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional VariantMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector VariantMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional VariantMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector VariantMembership::getSource() const { return read_list_("source"); } +inline std::vector VariantMembership::getTarget() const { return read_list_("target"); } +inline std::vector VariantMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional VariantMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional VariantMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional VariantMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional VariantMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional VariantMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional VariantMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional VariantMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector VerificationCaseDefinition::getAction() const { return read_list_("action"); } +inline std::vector VerificationCaseDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector VerificationCaseDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector VerificationCaseDefinition::getCalculation() const { return read_list_("calculation"); } +inline std::optional VerificationCaseDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional VerificationCaseDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector VerificationCaseDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector VerificationCaseDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector VerificationCaseDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector VerificationCaseDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional VerificationCaseDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector VerificationCaseDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector VerificationCaseDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector VerificationCaseDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector VerificationCaseDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector VerificationCaseDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector VerificationCaseDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector VerificationCaseDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector VerificationCaseDefinition::getInput() const { return read_list_("input"); } +inline std::vector VerificationCaseDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional VerificationCaseDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional VerificationCaseDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional VerificationCaseDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional VerificationCaseDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional VerificationCaseDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional VerificationCaseDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional VerificationCaseDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional VerificationCaseDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector VerificationCaseDefinition::getMember() const { return read_list_("member"); } +inline std::vector VerificationCaseDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional VerificationCaseDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional VerificationCaseDefinition::getName() const { return read_string_("name"); } +inline std::optional VerificationCaseDefinition::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector VerificationCaseDefinition::getOutput() const { return read_list_("output"); } +inline std::vector VerificationCaseDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector VerificationCaseDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector VerificationCaseDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector VerificationCaseDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector VerificationCaseDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector VerificationCaseDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector VerificationCaseDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector VerificationCaseDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional VerificationCaseDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector VerificationCaseDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector VerificationCaseDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector VerificationCaseDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector VerificationCaseDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector VerificationCaseDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector VerificationCaseDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector VerificationCaseDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector VerificationCaseDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector VerificationCaseDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector VerificationCaseDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector VerificationCaseDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector VerificationCaseDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector VerificationCaseDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector VerificationCaseDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector VerificationCaseDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector VerificationCaseDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector VerificationCaseDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector VerificationCaseDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector VerificationCaseDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector VerificationCaseDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector VerificationCaseDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector VerificationCaseDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector VerificationCaseDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector VerificationCaseDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector VerificationCaseDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector VerificationCaseDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector VerificationCaseDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector VerificationCaseDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector VerificationCaseDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector VerificationCaseDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector VerificationCaseDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector VerificationCaseDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector VerificationCaseDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector VerificationCaseDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional VerificationCaseDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional VerificationCaseDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional VerificationCaseDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional VerificationCaseDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector VerificationCaseDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional VerificationCaseDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional VerificationCaseDefinition::getResult() const { return read_ref_("result"); } +inline std::optional VerificationCaseDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector VerificationCaseDefinition::getStep() const { return read_list_("step"); } +inline std::optional VerificationCaseDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector VerificationCaseDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector VerificationCaseDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector VerificationCaseDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector VerificationCaseDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector VerificationCaseDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector VerificationCaseDefinition::getVerifiedRequirement() const { return read_list_("verifiedRequirement"); } +inline std::vector VerificationCaseDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector VerificationCaseDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional VerificationCaseDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional VerificationCaseDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional VerificationCaseDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional VerificationCaseDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional VerificationCaseDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector VerificationCaseDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector VerificationCaseDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector VerificationCaseDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional VerificationCaseDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional VerificationCaseDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector VerificationCaseDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector VerificationCaseDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector VerificationCaseDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector VerificationCaseDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional VerificationCaseDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional VerificationCaseDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector VerificationCaseDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional VerificationCaseDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional VerificationCaseDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional VerificationCaseDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional VerificationCaseDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector VerificationCaseDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional VerificationCaseDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector VerificationCaseDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector VerificationCaseUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector VerificationCaseUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector VerificationCaseUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector VerificationCaseUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional VerificationCaseUsage::getCalculationDefinition() const { return read_ref_("calculationDefinition"); } +inline std::optional VerificationCaseUsage::getCaseDefinition() const { return read_ref_("caseDefinition"); } +inline std::vector VerificationCaseUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional VerificationCaseUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional VerificationCaseUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional VerificationCaseUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector VerificationCaseUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector VerificationCaseUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector VerificationCaseUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector VerificationCaseUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional VerificationCaseUsage::getDirection() const { return read_string_("direction"); } +inline std::vector VerificationCaseUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional VerificationCaseUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector VerificationCaseUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional VerificationCaseUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector VerificationCaseUsage::getFeature() const { return read_list_("feature"); } +inline std::vector VerificationCaseUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional VerificationCaseUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector VerificationCaseUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::optional VerificationCaseUsage::getFunction() const { return read_ref_("function"); } +inline std::vector VerificationCaseUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional VerificationCaseUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector VerificationCaseUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector VerificationCaseUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector VerificationCaseUsage::getInput() const { return read_list_("input"); } +inline std::vector VerificationCaseUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional VerificationCaseUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional VerificationCaseUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional VerificationCaseUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional VerificationCaseUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional VerificationCaseUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional VerificationCaseUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional VerificationCaseUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional VerificationCaseUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional VerificationCaseUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional VerificationCaseUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional VerificationCaseUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional VerificationCaseUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional VerificationCaseUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional VerificationCaseUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional VerificationCaseUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional VerificationCaseUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional VerificationCaseUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional VerificationCaseUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector VerificationCaseUsage::getMember() const { return read_list_("member"); } +inline std::vector VerificationCaseUsage::getMembership() const { return read_list_("membership"); } +inline std::optional VerificationCaseUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional VerificationCaseUsage::getName() const { return read_string_("name"); } +inline std::vector VerificationCaseUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector VerificationCaseUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector VerificationCaseUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector VerificationCaseUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector VerificationCaseUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector VerificationCaseUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector VerificationCaseUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector VerificationCaseUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector VerificationCaseUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector VerificationCaseUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector VerificationCaseUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector VerificationCaseUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector VerificationCaseUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector VerificationCaseUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector VerificationCaseUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector VerificationCaseUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector VerificationCaseUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector VerificationCaseUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector VerificationCaseUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector VerificationCaseUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector VerificationCaseUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector VerificationCaseUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector VerificationCaseUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector VerificationCaseUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector VerificationCaseUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector VerificationCaseUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector VerificationCaseUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::optional VerificationCaseUsage::getObjectiveRequirement() const { return read_ref_("objectiveRequirement"); } +inline std::vector VerificationCaseUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector VerificationCaseUsage::getOutput() const { return read_list_("output"); } +inline std::vector VerificationCaseUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional VerificationCaseUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional VerificationCaseUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector VerificationCaseUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector VerificationCaseUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector VerificationCaseUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector VerificationCaseUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector VerificationCaseUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector VerificationCaseUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector VerificationCaseUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector VerificationCaseUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector VerificationCaseUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector VerificationCaseUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector VerificationCaseUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector VerificationCaseUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector VerificationCaseUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional VerificationCaseUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector VerificationCaseUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector VerificationCaseUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector VerificationCaseUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector VerificationCaseUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector VerificationCaseUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector VerificationCaseUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional VerificationCaseUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional VerificationCaseUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional VerificationCaseUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional VerificationCaseUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional VerificationCaseUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional VerificationCaseUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional VerificationCaseUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional VerificationCaseUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector VerificationCaseUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional VerificationCaseUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional VerificationCaseUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional VerificationCaseUsage::getResult() const { return read_ref_("result"); } +inline std::optional VerificationCaseUsage::getShortName() const { return read_string_("shortName"); } +inline std::optional VerificationCaseUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector VerificationCaseUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector VerificationCaseUsage::getType() const { return read_list_("type"); } +inline std::vector VerificationCaseUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector VerificationCaseUsage::getUsage() const { return read_list_("usage"); } +inline std::vector VerificationCaseUsage::getVariant() const { return read_list_("variant"); } +inline std::vector VerificationCaseUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::optional VerificationCaseUsage::getVerificationCaseDefinition() const { return read_ref_("verificationCaseDefinition"); } +inline std::vector VerificationCaseUsage::getVerifiedRequirement() const { return read_list_("verifiedRequirement"); } +inline std::vector VerificationCaseUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector VerificationCaseUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector VerificationCaseUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional VerificationCaseUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector VerificationCaseUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional VerificationCaseUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional VerificationCaseUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional VerificationCaseUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional VerificationCaseUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional VerificationCaseUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional VerificationCaseUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional VerificationCaseUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional VerificationCaseUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector VerificationCaseUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector VerificationCaseUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector VerificationCaseUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector VerificationCaseUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional VerificationCaseUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector VerificationCaseUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional VerificationCaseUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional VerificationCaseUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional VerificationCaseUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional VerificationCaseUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional VerificationCaseUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional VerificationCaseUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional VerificationCaseUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector VerificationCaseUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional VerificationCaseUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector VerificationCaseUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector VerificationCaseUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional VerificationCaseUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector VerificationCaseUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional VerificationCaseUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional VerificationCaseUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional VerificationCaseUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional VerificationCaseUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional VerificationCaseUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector VerificationCaseUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional VerificationCaseUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional VerificationCaseUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional VerificationCaseUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional VerificationCaseUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional VerificationCaseUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector VerificationCaseUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector VerificationCaseUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional VerificationCaseUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional VerificationCaseUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector VerificationCaseUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ViewDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ViewDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ViewDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ViewDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ViewDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ViewDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ViewDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ViewDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ViewDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ViewDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ViewDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ViewDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ViewDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ViewDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ViewDefinition::getInput() const { return read_list_("input"); } +inline std::vector ViewDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ViewDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ViewDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ViewDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ViewDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ViewDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ViewDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ViewDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ViewDefinition::getMember() const { return read_list_("member"); } +inline std::vector ViewDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ViewDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ViewDefinition::getName() const { return read_string_("name"); } +inline std::vector ViewDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ViewDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ViewDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ViewDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ViewDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ViewDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ViewDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ViewDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ViewDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ViewDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ViewDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ViewDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ViewDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ViewDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ViewDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ViewDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ViewDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ViewDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ViewDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ViewDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ViewDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ViewDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ViewDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ViewDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ViewDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ViewDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ViewDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ViewDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ViewDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ViewDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ViewDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ViewDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ViewDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ViewDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ViewDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ViewDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ViewDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ViewDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ViewDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ViewDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ViewDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ViewDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ViewDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ViewDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ViewDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ViewDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ViewDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ViewDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ViewDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ViewDefinition::getSatisfiedViewpoint() const { return read_list_("satisfiedViewpoint"); } +inline std::optional ViewDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ViewDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ViewDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ViewDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ViewDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ViewDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ViewDefinition::getView() const { return read_list_("view"); } +inline std::vector ViewDefinition::getViewCondition() const { return read_list_("viewCondition"); } +inline std::optional ViewDefinition::getViewRendering() const { return read_ref_("viewRendering"); } +inline std::vector ViewDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ViewDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ViewDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ViewDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ViewDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ViewDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ViewDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ViewDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ViewDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ViewDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ViewDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ViewDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ViewDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ViewDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ViewDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ViewDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ViewDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ViewDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ViewDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ViewDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ViewDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ViewDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ViewDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ViewDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ViewDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ViewDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ViewDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ViewRenderingMembership::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::optional ViewRenderingMembership::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ViewRenderingMembership::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ViewRenderingMembership::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ViewRenderingMembership::getElementId() const { return read_string_("elementId"); } +inline std::optional ViewRenderingMembership::getIsImplied() const { return read_bool_("isImplied"); } +inline std::optional ViewRenderingMembership::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ViewRenderingMembership::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ViewRenderingMembership::getMemberElement() const { return read_ref_("memberElement"); } +inline std::optional ViewRenderingMembership::getMemberElementId() const { return read_string_("memberElementId"); } +inline std::optional ViewRenderingMembership::getMemberName() const { return read_string_("memberName"); } +inline std::optional ViewRenderingMembership::getMemberShortName() const { return read_string_("memberShortName"); } +inline std::optional ViewRenderingMembership::getMembershipOwningNamespace() const { return read_ref_("membershipOwningNamespace"); } +inline std::optional ViewRenderingMembership::getName() const { return read_string_("name"); } +inline std::vector ViewRenderingMembership::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ViewRenderingMembership::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::optional ViewRenderingMembership::getOwnedMemberElement() const { return read_ref_("ownedMemberElement"); } +inline std::optional ViewRenderingMembership::getOwnedMemberElementId() const { return read_string_("ownedMemberElementId"); } +inline std::optional ViewRenderingMembership::getOwnedMemberFeature() const { return read_ref_("ownedMemberFeature"); } +inline std::optional ViewRenderingMembership::getOwnedMemberName() const { return read_string_("ownedMemberName"); } +inline std::optional ViewRenderingMembership::getOwnedMemberShortName() const { return read_string_("ownedMemberShortName"); } +inline std::vector ViewRenderingMembership::getOwnedRelatedElement() const { return read_list_("ownedRelatedElement"); } +inline std::vector ViewRenderingMembership::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::optional ViewRenderingMembership::getOwnedRendering() const { return read_ref_("ownedRendering"); } +inline std::optional ViewRenderingMembership::getOwner() const { return read_ref_("owner"); } +inline std::optional ViewRenderingMembership::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ViewRenderingMembership::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ViewRenderingMembership::getOwningRelatedElement() const { return read_ref_("owningRelatedElement"); } +inline std::optional ViewRenderingMembership::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ViewRenderingMembership::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ViewRenderingMembership::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ViewRenderingMembership::getReferencedRendering() const { return read_ref_("referencedRendering"); } +inline std::vector ViewRenderingMembership::getRelatedElement() const { return read_list_("relatedElement"); } +inline std::optional ViewRenderingMembership::getShortName() const { return read_string_("shortName"); } +inline std::vector ViewRenderingMembership::getSource() const { return read_list_("source"); } +inline std::vector ViewRenderingMembership::getTarget() const { return read_list_("target"); } +inline std::vector ViewRenderingMembership::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::optional ViewRenderingMembership::getVisibility() const { return read_string_("visibility"); } +inline std::optional ViewRenderingMembership::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ViewRenderingMembership::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ViewRenderingMembership::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::optional ViewRenderingMembership::isDistinguishableFrom(const std::optional& other) const { return as_bool_(call_("isDistinguishableFrom", {detail::arg(other)})); } +inline std::optional ViewRenderingMembership::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::optional ViewRenderingMembership::path() const { return as_string_(call_("path", {})); } +inline std::vector ViewUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ViewUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ViewUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ViewUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ViewUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ViewUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ViewUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ViewUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ViewUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ViewUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ViewUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ViewUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ViewUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ViewUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ViewUsage::getExposedElement() const { return read_list_("exposedElement"); } +inline std::vector ViewUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ViewUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ViewUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ViewUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ViewUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ViewUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ViewUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ViewUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ViewUsage::getInput() const { return read_list_("input"); } +inline std::vector ViewUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ViewUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ViewUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ViewUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ViewUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ViewUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ViewUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ViewUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ViewUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ViewUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ViewUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ViewUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ViewUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ViewUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ViewUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ViewUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ViewUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ViewUsage::getItemDefinition() const { return read_list_("itemDefinition"); } +inline std::optional ViewUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ViewUsage::getMember() const { return read_list_("member"); } +inline std::vector ViewUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ViewUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ViewUsage::getName() const { return read_string_("name"); } +inline std::vector ViewUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ViewUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ViewUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ViewUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ViewUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ViewUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ViewUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ViewUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ViewUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ViewUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ViewUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ViewUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ViewUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ViewUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ViewUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ViewUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ViewUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ViewUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ViewUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ViewUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ViewUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ViewUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ViewUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ViewUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ViewUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ViewUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ViewUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ViewUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ViewUsage::getOutput() const { return read_list_("output"); } +inline std::vector ViewUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ViewUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ViewUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ViewUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ViewUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ViewUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ViewUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ViewUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ViewUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ViewUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ViewUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ViewUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ViewUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ViewUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ViewUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ViewUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ViewUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ViewUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ViewUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ViewUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ViewUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ViewUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ViewUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ViewUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ViewUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ViewUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ViewUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ViewUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ViewUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ViewUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ViewUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ViewUsage::getPartDefinition() const { return read_list_("partDefinition"); } +inline std::optional ViewUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ViewUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::vector ViewUsage::getSatisfiedViewpoint() const { return read_list_("satisfiedViewpoint"); } +inline std::optional ViewUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ViewUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ViewUsage::getType() const { return read_list_("type"); } +inline std::vector ViewUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ViewUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ViewUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ViewUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ViewUsage::getViewCondition() const { return read_list_("viewCondition"); } +inline std::optional ViewUsage::getViewDefinition() const { return read_ref_("viewDefinition"); } +inline std::optional ViewUsage::getViewRendering() const { return read_ref_("viewRendering"); } +inline std::vector ViewUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ViewUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ViewUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ViewUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ViewUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ViewUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ViewUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ViewUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ViewUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ViewUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ViewUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ViewUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::optional ViewUsage::includeAsExposed(const std::optional& element) const { return as_bool_(call_("includeAsExposed", {detail::arg(element)})); } +inline std::vector ViewUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ViewUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ViewUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ViewUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ViewUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ViewUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ViewUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ViewUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ViewUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ViewUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ViewUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ViewUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ViewUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ViewUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ViewUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ViewUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ViewUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ViewUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ViewUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ViewUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ViewUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ViewUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ViewUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ViewUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ViewUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ViewUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ViewUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ViewUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ViewUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ViewUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ViewpointDefinition::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector ViewpointDefinition::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ViewpointDefinition::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::optional ViewpointDefinition::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ViewpointDefinition::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ViewpointDefinition::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ViewpointDefinition::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ViewpointDefinition::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::vector ViewpointDefinition::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ViewpointDefinition::getElementId() const { return read_string_("elementId"); } +inline std::vector ViewpointDefinition::getEndFeature() const { return read_list_("endFeature"); } +inline std::vector ViewpointDefinition::getExpression() const { return read_list_("expression"); } +inline std::vector ViewpointDefinition::getFeature() const { return read_list_("feature"); } +inline std::vector ViewpointDefinition::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::vector ViewpointDefinition::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::vector ViewpointDefinition::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::vector ViewpointDefinition::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ViewpointDefinition::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ViewpointDefinition::getInput() const { return read_list_("input"); } +inline std::vector ViewpointDefinition::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ViewpointDefinition::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ViewpointDefinition::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ViewpointDefinition::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ViewpointDefinition::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ViewpointDefinition::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ViewpointDefinition::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ViewpointDefinition::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ViewpointDefinition::getIsVariation() const { return read_bool_("isVariation"); } +inline std::vector ViewpointDefinition::getMember() const { return read_list_("member"); } +inline std::vector ViewpointDefinition::getMembership() const { return read_list_("membership"); } +inline std::optional ViewpointDefinition::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ViewpointDefinition::getName() const { return read_string_("name"); } +inline std::vector ViewpointDefinition::getOutput() const { return read_list_("output"); } +inline std::vector ViewpointDefinition::getOwnedAction() const { return read_list_("ownedAction"); } +inline std::vector ViewpointDefinition::getOwnedAllocation() const { return read_list_("ownedAllocation"); } +inline std::vector ViewpointDefinition::getOwnedAnalysisCase() const { return read_list_("ownedAnalysisCase"); } +inline std::vector ViewpointDefinition::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::vector ViewpointDefinition::getOwnedAttribute() const { return read_list_("ownedAttribute"); } +inline std::vector ViewpointDefinition::getOwnedCalculation() const { return read_list_("ownedCalculation"); } +inline std::vector ViewpointDefinition::getOwnedCase() const { return read_list_("ownedCase"); } +inline std::vector ViewpointDefinition::getOwnedConcern() const { return read_list_("ownedConcern"); } +inline std::optional ViewpointDefinition::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::vector ViewpointDefinition::getOwnedConnection() const { return read_list_("ownedConnection"); } +inline std::vector ViewpointDefinition::getOwnedConstraint() const { return read_list_("ownedConstraint"); } +inline std::vector ViewpointDefinition::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ViewpointDefinition::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ViewpointDefinition::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ViewpointDefinition::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ViewpointDefinition::getOwnedEnumeration() const { return read_list_("ownedEnumeration"); } +inline std::vector ViewpointDefinition::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ViewpointDefinition::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ViewpointDefinition::getOwnedFlow() const { return read_list_("ownedFlow"); } +inline std::vector ViewpointDefinition::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ViewpointDefinition::getOwnedInterface() const { return read_list_("ownedInterface"); } +inline std::vector ViewpointDefinition::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ViewpointDefinition::getOwnedItem() const { return read_list_("ownedItem"); } +inline std::vector ViewpointDefinition::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ViewpointDefinition::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ViewpointDefinition::getOwnedMetadata() const { return read_list_("ownedMetadata"); } +inline std::vector ViewpointDefinition::getOwnedOccurrence() const { return read_list_("ownedOccurrence"); } +inline std::vector ViewpointDefinition::getOwnedPart() const { return read_list_("ownedPart"); } +inline std::vector ViewpointDefinition::getOwnedPort() const { return read_list_("ownedPort"); } +inline std::vector ViewpointDefinition::getOwnedReference() const { return read_list_("ownedReference"); } +inline std::vector ViewpointDefinition::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ViewpointDefinition::getOwnedRendering() const { return read_list_("ownedRendering"); } +inline std::vector ViewpointDefinition::getOwnedRequirement() const { return read_list_("ownedRequirement"); } +inline std::vector ViewpointDefinition::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ViewpointDefinition::getOwnedState() const { return read_list_("ownedState"); } +inline std::vector ViewpointDefinition::getOwnedSubclassification() const { return read_list_("ownedSubclassification"); } +inline std::vector ViewpointDefinition::getOwnedTransition() const { return read_list_("ownedTransition"); } +inline std::vector ViewpointDefinition::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::vector ViewpointDefinition::getOwnedUsage() const { return read_list_("ownedUsage"); } +inline std::vector ViewpointDefinition::getOwnedUseCase() const { return read_list_("ownedUseCase"); } +inline std::vector ViewpointDefinition::getOwnedVerificationCase() const { return read_list_("ownedVerificationCase"); } +inline std::vector ViewpointDefinition::getOwnedView() const { return read_list_("ownedView"); } +inline std::vector ViewpointDefinition::getOwnedViewpoint() const { return read_list_("ownedViewpoint"); } +inline std::optional ViewpointDefinition::getOwner() const { return read_ref_("owner"); } +inline std::optional ViewpointDefinition::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ViewpointDefinition::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ViewpointDefinition::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::vector ViewpointDefinition::getParameter() const { return read_list_("parameter"); } +inline std::optional ViewpointDefinition::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ViewpointDefinition::getReqId() const { return read_string_("reqId"); } +inline std::vector ViewpointDefinition::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional ViewpointDefinition::getResult() const { return read_ref_("result"); } +inline std::optional ViewpointDefinition::getShortName() const { return read_string_("shortName"); } +inline std::vector ViewpointDefinition::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::vector ViewpointDefinition::getStep() const { return read_list_("step"); } +inline std::optional ViewpointDefinition::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector ViewpointDefinition::getText() const { return read_string_list_("text"); } +inline std::vector ViewpointDefinition::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ViewpointDefinition::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ViewpointDefinition::getUsage() const { return read_list_("usage"); } +inline std::vector ViewpointDefinition::getVariant() const { return read_list_("variant"); } +inline std::vector ViewpointDefinition::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::vector ViewpointDefinition::getViewpointStakeholder() const { return read_list_("viewpointStakeholder"); } +inline std::vector ViewpointDefinition::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ViewpointDefinition::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional ViewpointDefinition::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ViewpointDefinition::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ViewpointDefinition::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ViewpointDefinition::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ViewpointDefinition::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ViewpointDefinition::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ViewpointDefinition::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ViewpointDefinition::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewpointDefinition::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ViewpointDefinition::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ViewpointDefinition::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector ViewpointDefinition::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ViewpointDefinition::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::vector ViewpointDefinition::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewpointDefinition::path() const { return as_string_(call_("path", {})); } +inline std::optional ViewpointDefinition::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::vector ViewpointDefinition::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ViewpointDefinition::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointDefinition::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointDefinition::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ViewpointDefinition::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ViewpointDefinition::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ViewpointDefinition::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::vector ViewpointDefinition::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::optional ViewpointDefinition::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointDefinition::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ViewpointDefinition::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector ViewpointUsage::getActorParameter() const { return read_list_("actorParameter"); } +inline std::vector ViewpointUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector ViewpointUsage::getAssumedConstraint() const { return read_list_("assumedConstraint"); } +inline std::vector ViewpointUsage::getBehavior() const { return read_list_("behavior"); } +inline std::vector ViewpointUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional ViewpointUsage::getConstraintDefinition() const { return read_ref_("constraintDefinition"); } +inline std::optional ViewpointUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional ViewpointUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional ViewpointUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector ViewpointUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector ViewpointUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector ViewpointUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector ViewpointUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional ViewpointUsage::getDirection() const { return read_string_("direction"); } +inline std::vector ViewpointUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional ViewpointUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector ViewpointUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional ViewpointUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector ViewpointUsage::getFeature() const { return read_list_("feature"); } +inline std::vector ViewpointUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional ViewpointUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector ViewpointUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector ViewpointUsage::getFramedConcern() const { return read_list_("framedConcern"); } +inline std::optional ViewpointUsage::getFunction() const { return read_ref_("function"); } +inline std::vector ViewpointUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional ViewpointUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector ViewpointUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector ViewpointUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector ViewpointUsage::getInput() const { return read_list_("input"); } +inline std::vector ViewpointUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional ViewpointUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional ViewpointUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional ViewpointUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional ViewpointUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional ViewpointUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional ViewpointUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional ViewpointUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional ViewpointUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional ViewpointUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional ViewpointUsage::getIsModelLevelEvaluable() const { return read_bool_("isModelLevelEvaluable"); } +inline std::optional ViewpointUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional ViewpointUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional ViewpointUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional ViewpointUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional ViewpointUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional ViewpointUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional ViewpointUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional ViewpointUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector ViewpointUsage::getMember() const { return read_list_("member"); } +inline std::vector ViewpointUsage::getMembership() const { return read_list_("membership"); } +inline std::optional ViewpointUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional ViewpointUsage::getName() const { return read_string_("name"); } +inline std::vector ViewpointUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector ViewpointUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector ViewpointUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector ViewpointUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector ViewpointUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector ViewpointUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector ViewpointUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector ViewpointUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector ViewpointUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector ViewpointUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector ViewpointUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector ViewpointUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector ViewpointUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector ViewpointUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector ViewpointUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector ViewpointUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector ViewpointUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector ViewpointUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector ViewpointUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector ViewpointUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector ViewpointUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector ViewpointUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector ViewpointUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector ViewpointUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector ViewpointUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector ViewpointUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector ViewpointUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector ViewpointUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector ViewpointUsage::getOutput() const { return read_list_("output"); } +inline std::vector ViewpointUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional ViewpointUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional ViewpointUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector ViewpointUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector ViewpointUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector ViewpointUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector ViewpointUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector ViewpointUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector ViewpointUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector ViewpointUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector ViewpointUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector ViewpointUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector ViewpointUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector ViewpointUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector ViewpointUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector ViewpointUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional ViewpointUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector ViewpointUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector ViewpointUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector ViewpointUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector ViewpointUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector ViewpointUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector ViewpointUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional ViewpointUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional ViewpointUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional ViewpointUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional ViewpointUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional ViewpointUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional ViewpointUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional ViewpointUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional ViewpointUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector ViewpointUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional ViewpointUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional ViewpointUsage::getPredicate() const { return read_ref_("predicate"); } +inline std::optional ViewpointUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional ViewpointUsage::getReqId() const { return read_string_("reqId"); } +inline std::vector ViewpointUsage::getRequiredConstraint() const { return read_list_("requiredConstraint"); } +inline std::optional ViewpointUsage::getRequirementDefinition() const { return read_ref_("requirementDefinition"); } +inline std::optional ViewpointUsage::getResult() const { return read_ref_("result"); } +inline std::optional ViewpointUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector ViewpointUsage::getStakeholderParameter() const { return read_list_("stakeholderParameter"); } +inline std::optional ViewpointUsage::getSubjectParameter() const { return read_ref_("subjectParameter"); } +inline std::vector ViewpointUsage::getText() const { return read_string_list_("text"); } +inline std::vector ViewpointUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector ViewpointUsage::getType() const { return read_list_("type"); } +inline std::vector ViewpointUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::vector ViewpointUsage::getUsage() const { return read_list_("usage"); } +inline std::vector ViewpointUsage::getVariant() const { return read_list_("variant"); } +inline std::vector ViewpointUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::optional ViewpointUsage::getViewpointDefinition() const { return read_ref_("viewpointDefinition"); } +inline std::vector ViewpointUsage::getViewpointStakeholder() const { return read_list_("viewpointStakeholder"); } +inline std::vector ViewpointUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector ViewpointUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector ViewpointUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::vector ViewpointUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional ViewpointUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional ViewpointUsage::checkCondition(const std::optional& target) const { return as_bool_(call_("checkCondition", {detail::arg(target)})); } +inline std::optional ViewpointUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional ViewpointUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional ViewpointUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional ViewpointUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional ViewpointUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional ViewpointUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector ViewpointUsage::evaluate(const std::optional& target) const { return as_list_(call_("evaluate", {detail::arg(target)})); } +inline std::vector ViewpointUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector ViewpointUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector ViewpointUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewpointUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional ViewpointUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional ViewpointUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional ViewpointUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional ViewpointUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional ViewpointUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector ViewpointUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::optional ViewpointUsage::modelLevelEvaluable(const std::vector& visited) const { return as_bool_(call_("modelLevelEvaluable", {detail::arg(visited)})); } +inline std::vector ViewpointUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector ViewpointUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional ViewpointUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector ViewpointUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional ViewpointUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional ViewpointUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional ViewpointUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional ViewpointUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional ViewpointUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector ViewpointUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional ViewpointUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional ViewpointUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional ViewpointUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional ViewpointUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional ViewpointUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector ViewpointUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector ViewpointUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional ViewpointUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional ViewpointUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector ViewpointUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } +inline std::vector WhileLoopActionUsage::getActionDefinition() const { return read_list_("actionDefinition"); } +inline std::vector WhileLoopActionUsage::getAliasIds() const { return read_string_list_("aliasIds"); } +inline std::vector WhileLoopActionUsage::getBehavior() const { return read_list_("behavior"); } +inline std::optional WhileLoopActionUsage::getBodyAction() const { return read_ref_("bodyAction"); } +inline std::vector WhileLoopActionUsage::getChainingFeature() const { return read_list_("chainingFeature"); } +inline std::optional WhileLoopActionUsage::getCrossFeature() const { return read_ref_("crossFeature"); } +inline std::optional WhileLoopActionUsage::getDeclaredName() const { return read_string_("declaredName"); } +inline std::optional WhileLoopActionUsage::getDeclaredShortName() const { return read_string_("declaredShortName"); } +inline std::vector WhileLoopActionUsage::getDefinition() const { return read_list_("definition"); } +inline std::vector WhileLoopActionUsage::getDifferencingType() const { return read_list_("differencingType"); } +inline std::vector WhileLoopActionUsage::getDirectedFeature() const { return read_list_("directedFeature"); } +inline std::vector WhileLoopActionUsage::getDirectedUsage() const { return read_list_("directedUsage"); } +inline std::optional WhileLoopActionUsage::getDirection() const { return read_string_("direction"); } +inline std::vector WhileLoopActionUsage::getDocumentation() const { return read_list_("documentation"); } +inline std::optional WhileLoopActionUsage::getElementId() const { return read_string_("elementId"); } +inline std::vector WhileLoopActionUsage::getEndFeature() const { return read_list_("endFeature"); } +inline std::optional WhileLoopActionUsage::getEndOwningType() const { return read_ref_("endOwningType"); } +inline std::vector WhileLoopActionUsage::getFeature() const { return read_list_("feature"); } +inline std::vector WhileLoopActionUsage::getFeatureMembership() const { return read_list_("featureMembership"); } +inline std::optional WhileLoopActionUsage::getFeatureTarget() const { return read_ref_("featureTarget"); } +inline std::vector WhileLoopActionUsage::getFeaturingType() const { return read_list_("featuringType"); } +inline std::vector WhileLoopActionUsage::getImportedMembership() const { return read_list_("importedMembership"); } +inline std::optional WhileLoopActionUsage::getIndividualDefinition() const { return read_ref_("individualDefinition"); } +inline std::vector WhileLoopActionUsage::getInheritedFeature() const { return read_list_("inheritedFeature"); } +inline std::vector WhileLoopActionUsage::getInheritedMembership() const { return read_list_("inheritedMembership"); } +inline std::vector WhileLoopActionUsage::getInput() const { return read_list_("input"); } +inline std::vector WhileLoopActionUsage::getIntersectingType() const { return read_list_("intersectingType"); } +inline std::optional WhileLoopActionUsage::getIsAbstract() const { return read_bool_("isAbstract"); } +inline std::optional WhileLoopActionUsage::getIsComposite() const { return read_bool_("isComposite"); } +inline std::optional WhileLoopActionUsage::getIsConjugated() const { return read_bool_("isConjugated"); } +inline std::optional WhileLoopActionUsage::getIsConstant() const { return read_bool_("isConstant"); } +inline std::optional WhileLoopActionUsage::getIsDerived() const { return read_bool_("isDerived"); } +inline std::optional WhileLoopActionUsage::getIsEnd() const { return read_bool_("isEnd"); } +inline std::optional WhileLoopActionUsage::getIsImpliedIncluded() const { return read_bool_("isImpliedIncluded"); } +inline std::optional WhileLoopActionUsage::getIsIndividual() const { return read_bool_("isIndividual"); } +inline std::optional WhileLoopActionUsage::getIsLibraryElement() const { return read_bool_("isLibraryElement"); } +inline std::optional WhileLoopActionUsage::getIsOrdered() const { return read_bool_("isOrdered"); } +inline std::optional WhileLoopActionUsage::getIsPortion() const { return read_bool_("isPortion"); } +inline std::optional WhileLoopActionUsage::getIsReference() const { return read_bool_("isReference"); } +inline std::optional WhileLoopActionUsage::getIsSufficient() const { return read_bool_("isSufficient"); } +inline std::optional WhileLoopActionUsage::getIsUnique() const { return read_bool_("isUnique"); } +inline std::optional WhileLoopActionUsage::getIsVariable() const { return read_bool_("isVariable"); } +inline std::optional WhileLoopActionUsage::getIsVariation() const { return read_bool_("isVariation"); } +inline std::optional WhileLoopActionUsage::getMayTimeVary() const { return read_bool_("mayTimeVary"); } +inline std::vector WhileLoopActionUsage::getMember() const { return read_list_("member"); } +inline std::vector WhileLoopActionUsage::getMembership() const { return read_list_("membership"); } +inline std::optional WhileLoopActionUsage::getMultiplicity() const { return read_ref_("multiplicity"); } +inline std::optional WhileLoopActionUsage::getName() const { return read_string_("name"); } +inline std::vector WhileLoopActionUsage::getNestedAction() const { return read_list_("nestedAction"); } +inline std::vector WhileLoopActionUsage::getNestedAllocation() const { return read_list_("nestedAllocation"); } +inline std::vector WhileLoopActionUsage::getNestedAnalysisCase() const { return read_list_("nestedAnalysisCase"); } +inline std::vector WhileLoopActionUsage::getNestedAttribute() const { return read_list_("nestedAttribute"); } +inline std::vector WhileLoopActionUsage::getNestedCalculation() const { return read_list_("nestedCalculation"); } +inline std::vector WhileLoopActionUsage::getNestedCase() const { return read_list_("nestedCase"); } +inline std::vector WhileLoopActionUsage::getNestedConcern() const { return read_list_("nestedConcern"); } +inline std::vector WhileLoopActionUsage::getNestedConnection() const { return read_list_("nestedConnection"); } +inline std::vector WhileLoopActionUsage::getNestedConstraint() const { return read_list_("nestedConstraint"); } +inline std::vector WhileLoopActionUsage::getNestedEnumeration() const { return read_list_("nestedEnumeration"); } +inline std::vector WhileLoopActionUsage::getNestedFlow() const { return read_list_("nestedFlow"); } +inline std::vector WhileLoopActionUsage::getNestedInterface() const { return read_list_("nestedInterface"); } +inline std::vector WhileLoopActionUsage::getNestedItem() const { return read_list_("nestedItem"); } +inline std::vector WhileLoopActionUsage::getNestedMetadata() const { return read_list_("nestedMetadata"); } +inline std::vector WhileLoopActionUsage::getNestedOccurrence() const { return read_list_("nestedOccurrence"); } +inline std::vector WhileLoopActionUsage::getNestedPart() const { return read_list_("nestedPart"); } +inline std::vector WhileLoopActionUsage::getNestedPort() const { return read_list_("nestedPort"); } +inline std::vector WhileLoopActionUsage::getNestedReference() const { return read_list_("nestedReference"); } +inline std::vector WhileLoopActionUsage::getNestedRendering() const { return read_list_("nestedRendering"); } +inline std::vector WhileLoopActionUsage::getNestedRequirement() const { return read_list_("nestedRequirement"); } +inline std::vector WhileLoopActionUsage::getNestedState() const { return read_list_("nestedState"); } +inline std::vector WhileLoopActionUsage::getNestedTransition() const { return read_list_("nestedTransition"); } +inline std::vector WhileLoopActionUsage::getNestedUsage() const { return read_list_("nestedUsage"); } +inline std::vector WhileLoopActionUsage::getNestedUseCase() const { return read_list_("nestedUseCase"); } +inline std::vector WhileLoopActionUsage::getNestedVerificationCase() const { return read_list_("nestedVerificationCase"); } +inline std::vector WhileLoopActionUsage::getNestedView() const { return read_list_("nestedView"); } +inline std::vector WhileLoopActionUsage::getNestedViewpoint() const { return read_list_("nestedViewpoint"); } +inline std::vector WhileLoopActionUsage::getOccurrenceDefinition() const { return read_list_("occurrenceDefinition"); } +inline std::vector WhileLoopActionUsage::getOutput() const { return read_list_("output"); } +inline std::vector WhileLoopActionUsage::getOwnedAnnotation() const { return read_list_("ownedAnnotation"); } +inline std::optional WhileLoopActionUsage::getOwnedConjugator() const { return read_ref_("ownedConjugator"); } +inline std::optional WhileLoopActionUsage::getOwnedCrossSubsetting() const { return read_ref_("ownedCrossSubsetting"); } +inline std::vector WhileLoopActionUsage::getOwnedDifferencing() const { return read_list_("ownedDifferencing"); } +inline std::vector WhileLoopActionUsage::getOwnedDisjoining() const { return read_list_("ownedDisjoining"); } +inline std::vector WhileLoopActionUsage::getOwnedElement() const { return read_list_("ownedElement"); } +inline std::vector WhileLoopActionUsage::getOwnedEndFeature() const { return read_list_("ownedEndFeature"); } +inline std::vector WhileLoopActionUsage::getOwnedFeature() const { return read_list_("ownedFeature"); } +inline std::vector WhileLoopActionUsage::getOwnedFeatureChaining() const { return read_list_("ownedFeatureChaining"); } +inline std::vector WhileLoopActionUsage::getOwnedFeatureInverting() const { return read_list_("ownedFeatureInverting"); } +inline std::vector WhileLoopActionUsage::getOwnedFeatureMembership() const { return read_list_("ownedFeatureMembership"); } +inline std::vector WhileLoopActionUsage::getOwnedImport() const { return read_list_("ownedImport"); } +inline std::vector WhileLoopActionUsage::getOwnedIntersecting() const { return read_list_("ownedIntersecting"); } +inline std::vector WhileLoopActionUsage::getOwnedMember() const { return read_list_("ownedMember"); } +inline std::vector WhileLoopActionUsage::getOwnedMembership() const { return read_list_("ownedMembership"); } +inline std::vector WhileLoopActionUsage::getOwnedRedefinition() const { return read_list_("ownedRedefinition"); } +inline std::optional WhileLoopActionUsage::getOwnedReferenceSubsetting() const { return read_ref_("ownedReferenceSubsetting"); } +inline std::vector WhileLoopActionUsage::getOwnedRelationship() const { return read_list_("ownedRelationship"); } +inline std::vector WhileLoopActionUsage::getOwnedSpecialization() const { return read_list_("ownedSpecialization"); } +inline std::vector WhileLoopActionUsage::getOwnedSubsetting() const { return read_list_("ownedSubsetting"); } +inline std::vector WhileLoopActionUsage::getOwnedTypeFeaturing() const { return read_list_("ownedTypeFeaturing"); } +inline std::vector WhileLoopActionUsage::getOwnedTyping() const { return read_list_("ownedTyping"); } +inline std::vector WhileLoopActionUsage::getOwnedUnioning() const { return read_list_("ownedUnioning"); } +inline std::optional WhileLoopActionUsage::getOwner() const { return read_ref_("owner"); } +inline std::optional WhileLoopActionUsage::getOwningDefinition() const { return read_ref_("owningDefinition"); } +inline std::optional WhileLoopActionUsage::getOwningFeatureMembership() const { return read_ref_("owningFeatureMembership"); } +inline std::optional WhileLoopActionUsage::getOwningMembership() const { return read_ref_("owningMembership"); } +inline std::optional WhileLoopActionUsage::getOwningNamespace() const { return read_ref_("owningNamespace"); } +inline std::optional WhileLoopActionUsage::getOwningRelationship() const { return read_ref_("owningRelationship"); } +inline std::optional WhileLoopActionUsage::getOwningType() const { return read_ref_("owningType"); } +inline std::optional WhileLoopActionUsage::getOwningUsage() const { return read_ref_("owningUsage"); } +inline std::vector WhileLoopActionUsage::getParameter() const { return read_list_("parameter"); } +inline std::optional WhileLoopActionUsage::getPortionKind() const { return read_string_("portionKind"); } +inline std::optional WhileLoopActionUsage::getQualifiedName() const { return read_string_("qualifiedName"); } +inline std::optional WhileLoopActionUsage::getShortName() const { return read_string_("shortName"); } +inline std::vector WhileLoopActionUsage::getTextualRepresentation() const { return read_list_("textualRepresentation"); } +inline std::vector WhileLoopActionUsage::getType() const { return read_list_("type"); } +inline std::vector WhileLoopActionUsage::getUnioningType() const { return read_list_("unioningType"); } +inline std::optional WhileLoopActionUsage::getUntilArgument() const { return read_ref_("untilArgument"); } +inline std::vector WhileLoopActionUsage::getUsage() const { return read_list_("usage"); } +inline std::vector WhileLoopActionUsage::getVariant() const { return read_list_("variant"); } +inline std::vector WhileLoopActionUsage::getVariantMembership() const { return read_list_("variantMembership"); } +inline std::optional WhileLoopActionUsage::getWhileArgument() const { return read_ref_("whileArgument"); } +inline std::vector WhileLoopActionUsage::allRedefinedFeatures() const { return as_list_(call_("allRedefinedFeatures", {})); } +inline std::vector WhileLoopActionUsage::allRedefinedFeaturesOf(const std::optional& membership) const { return as_list_(call_("allRedefinedFeaturesOf", {detail::arg(membership)})); } +inline std::vector WhileLoopActionUsage::allSupertypes() const { return as_list_(call_("allSupertypes", {})); } +inline std::optional WhileLoopActionUsage::argument(const std::optional& i) const { return as_ref_(call_("argument", {detail::arg(i)})); } +inline std::vector WhileLoopActionUsage::asCartesianProduct() const { return as_list_(call_("asCartesianProduct", {})); } +inline std::optional WhileLoopActionUsage::canAccess(const std::optional& feature) const { return as_bool_(call_("canAccess", {detail::arg(feature)})); } +inline std::optional WhileLoopActionUsage::directionFor(const std::optional& type) const { return as_string_(call_("directionFor", {detail::arg(type)})); } +inline std::optional WhileLoopActionUsage::directionOf(const std::optional& feature) const { return as_string_(call_("directionOf", {detail::arg(feature)})); } +inline std::optional WhileLoopActionUsage::directionOfExcluding(const std::optional& feature, const std::vector& excluded) const { return as_string_(call_("directionOfExcluding", {detail::arg(feature), detail::arg(excluded)})); } +inline std::optional WhileLoopActionUsage::effectiveName() const { return as_string_(call_("effectiveName", {})); } +inline std::optional WhileLoopActionUsage::effectiveShortName() const { return as_string_(call_("effectiveShortName", {})); } +inline std::optional WhileLoopActionUsage::escapedName() const { return as_string_(call_("escapedName", {})); } +inline std::vector WhileLoopActionUsage::importedMemberships(const std::vector& excluded) const { return as_list_(call_("importedMemberships", {detail::arg(excluded)})); } +inline std::vector WhileLoopActionUsage::inheritableMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritableMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::vector WhileLoopActionUsage::inheritedMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("inheritedMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional WhileLoopActionUsage::inputParameter(const std::optional& i) const { return as_ref_(call_("inputParameter", {detail::arg(i)})); } +inline std::vector WhileLoopActionUsage::inputParameters() const { return as_list_(call_("inputParameters", {})); } +inline std::optional WhileLoopActionUsage::isCartesianProduct() const { return as_bool_(call_("isCartesianProduct", {})); } +inline std::optional WhileLoopActionUsage::isCompatibleWith(const std::optional& otherType) const { return as_bool_(call_("isCompatibleWith", {detail::arg(otherType)})); } +inline std::optional WhileLoopActionUsage::isFeaturedWithin(const std::optional& type) const { return as_bool_(call_("isFeaturedWithin", {detail::arg(type)})); } +inline std::optional WhileLoopActionUsage::isFeaturingType(const std::optional& type) const { return as_bool_(call_("isFeaturingType", {detail::arg(type)})); } +inline std::optional WhileLoopActionUsage::isOwnedCrossFeature() const { return as_bool_(call_("isOwnedCrossFeature", {})); } +inline std::optional WhileLoopActionUsage::isSubactionUsage() const { return as_bool_(call_("isSubactionUsage", {})); } +inline std::optional WhileLoopActionUsage::libraryNamespace() const { return as_ref_(call_("libraryNamespace", {})); } +inline std::vector WhileLoopActionUsage::membershipsOfVisibility(const std::optional& visibility, const std::vector& excluded) const { return as_list_(call_("membershipsOfVisibility", {detail::arg(visibility), detail::arg(excluded)})); } +inline std::vector WhileLoopActionUsage::multiplicities() const { return as_list_(call_("multiplicities", {})); } +inline std::vector WhileLoopActionUsage::namesOf(const std::optional& element) const { return as_string_list_(call_("namesOf", {detail::arg(element)})); } +inline std::optional WhileLoopActionUsage::namingFeature() const { return as_ref_(call_("namingFeature", {})); } +inline std::vector WhileLoopActionUsage::nonPrivateMemberships(const std::vector& excludedNamespaces, const std::vector& excludedTypes, const std::optional& excludeImplied) const { return as_list_(call_("nonPrivateMemberships", {detail::arg(excludedNamespaces), detail::arg(excludedTypes), detail::arg(excludeImplied)})); } +inline std::optional WhileLoopActionUsage::ownedCrossFeature() const { return as_ref_(call_("ownedCrossFeature", {})); } +inline std::optional WhileLoopActionUsage::path() const { return as_string_(call_("path", {})); } +inline std::optional WhileLoopActionUsage::qualificationOf(const std::optional& qualifiedName) const { return as_string_(call_("qualificationOf", {detail::arg(qualifiedName)})); } +inline std::optional WhileLoopActionUsage::redefines(const std::optional& redefinedFeature) const { return as_bool_(call_("redefines", {detail::arg(redefinedFeature)})); } +inline std::optional WhileLoopActionUsage::redefinesFromLibrary(const std::optional& libraryFeatureName) const { return as_bool_(call_("redefinesFromLibrary", {detail::arg(libraryFeatureName)})); } +inline std::optional WhileLoopActionUsage::referencedFeatureTarget() const { return as_ref_(call_("referencedFeatureTarget", {})); } +inline std::vector WhileLoopActionUsage::removeRedefinedFeatures(const std::vector& memberships) const { return as_list_(call_("removeRedefinedFeatures", {detail::arg(memberships)})); } +inline std::optional WhileLoopActionUsage::resolve(const std::optional& qualifiedName) const { return as_ref_(call_("resolve", {detail::arg(qualifiedName)})); } +inline std::optional WhileLoopActionUsage::resolveGlobal(const std::optional& qualifiedName) const { return as_ref_(call_("resolveGlobal", {detail::arg(qualifiedName)})); } +inline std::optional WhileLoopActionUsage::resolveLocal(const std::optional& name) const { return as_ref_(call_("resolveLocal", {detail::arg(name)})); } +inline std::optional WhileLoopActionUsage::resolveVisible(const std::optional& name) const { return as_ref_(call_("resolveVisible", {detail::arg(name)})); } +inline std::optional WhileLoopActionUsage::specializes(const std::optional& supertype) const { return as_bool_(call_("specializes", {detail::arg(supertype)})); } +inline std::optional WhileLoopActionUsage::specializesFromLibrary(const std::optional& libraryTypeName) const { return as_bool_(call_("specializesFromLibrary", {detail::arg(libraryTypeName)})); } +inline std::optional WhileLoopActionUsage::subsetsChain(const std::optional& first, const std::optional& second) const { return as_bool_(call_("subsetsChain", {detail::arg(first), detail::arg(second)})); } +inline std::vector WhileLoopActionUsage::supertypes(const std::optional& excludeImplied) const { return as_list_(call_("supertypes", {detail::arg(excludeImplied)})); } +inline std::vector WhileLoopActionUsage::typingFeatures() const { return as_list_(call_("typingFeatures", {})); } +inline std::optional WhileLoopActionUsage::unqualifiedNameOf(const std::optional& qualifiedName) const { return as_string_(call_("unqualifiedNameOf", {detail::arg(qualifiedName)})); } +inline std::optional WhileLoopActionUsage::visibilityOf(const std::optional& mem) const { return as_string_(call_("visibilityOf", {detail::arg(mem)})); } +inline std::vector WhileLoopActionUsage::visibleMemberships(const std::vector& excluded, const std::optional& isRecursive, const std::optional& includeAll) const { return as_list_(call_("visibleMemberships", {detail::arg(excluded), detail::arg(isRecursive), detail::arg(includeAll)})); } + +namespace detail { + +/// Metaclass name -> all spec ancestors (Element included). +inline const std::unordered_map>& spec_hierarchy() { + static const std::unordered_map> h = { + {"AcceptActionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"ActionDefinition", {"Behavior", "Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Type"}}, + {"ActionUsage", {"Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"ActorMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"}}, + {"AllocationDefinition", {"Association", "AssociationStructure", "Class", "Classifier", "ConnectionDefinition", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"}}, + {"AllocationUsage", {"ConnectionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"}}, + {"AnalysisCaseDefinition", {"ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"}}, + {"AnalysisCaseUsage", {"ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"AnnotatingElement", {"Element"}}, + {"Annotation", {"Element", "Relationship"}}, + {"AssertConstraintUsage", {"BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Invariant", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"AssignmentActionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Association", {"Classifier", "Element", "Namespace", "Relationship", "Type"}}, + {"AssociationStructure", {"Association", "Class", "Classifier", "Element", "Namespace", "Relationship", "Structure", "Type"}}, + {"AttributeDefinition", {"Classifier", "DataType", "Definition", "Element", "Namespace", "Type"}}, + {"AttributeUsage", {"Element", "Feature", "Namespace", "Type", "Usage"}}, + {"Behavior", {"Class", "Classifier", "Element", "Namespace", "Type"}}, + {"BindingConnector", {"Connector", "Element", "Feature", "Namespace", "Relationship", "Type"}}, + {"BindingConnectorAsUsage", {"BindingConnector", "Connector", "ConnectorAsUsage", "Element", "Feature", "Namespace", "Relationship", "Type", "Usage"}}, + {"BooleanExpression", {"Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"CalculationDefinition", {"ActionDefinition", "Behavior", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"}}, + {"CalculationUsage", {"ActionUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"CaseDefinition", {"ActionDefinition", "Behavior", "CalculationDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"}}, + {"CaseUsage", {"ActionUsage", "CalculationUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Class", {"Classifier", "Element", "Namespace", "Type"}}, + {"Classifier", {"Element", "Namespace", "Type"}}, + {"CollectExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"}}, + {"Comment", {"AnnotatingElement", "Element"}}, + {"ConcernDefinition", {"Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "RequirementDefinition", "Type"}}, + {"ConcernUsage", {"BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"}}, + {"ConjugatedPortDefinition", {"Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "PortDefinition", "Structure", "Type"}}, + {"ConjugatedPortTyping", {"Element", "FeatureTyping", "Relationship", "Specialization"}}, + {"Conjugation", {"Element", "Relationship"}}, + {"ConnectionDefinition", {"Association", "AssociationStructure", "Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"}}, + {"ConnectionUsage", {"Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"}}, + {"Connector", {"Element", "Feature", "Namespace", "Relationship", "Type"}}, + {"ConnectorAsUsage", {"Connector", "Element", "Feature", "Namespace", "Relationship", "Type", "Usage"}}, + {"ConstraintDefinition", {"Behavior", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "Type"}}, + {"ConstraintUsage", {"BooleanExpression", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"ConstructorExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "Namespace", "Step", "Type"}}, + {"ControlNode", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"CrossSubsetting", {"Element", "Relationship", "Specialization", "Subsetting"}}, + {"DataType", {"Classifier", "Element", "Namespace", "Type"}}, + {"DecisionNode", {"ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Definition", {"Classifier", "Element", "Namespace", "Type"}}, + {"Dependency", {"Element", "Relationship"}}, + {"Differencing", {"Element", "Relationship"}}, + {"Disjoining", {"Element", "Relationship"}}, + {"Documentation", {"AnnotatingElement", "Comment", "Element"}}, + {"ElementFilterMembership", {"Element", "Membership", "OwningMembership", "Relationship"}}, + {"EndFeatureMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"EnumerationDefinition", {"AttributeDefinition", "Classifier", "DataType", "Definition", "Element", "Namespace", "Type"}}, + {"EnumerationUsage", {"AttributeUsage", "Element", "Feature", "Namespace", "Type", "Usage"}}, + {"EventOccurrenceUsage", {"Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"}}, + {"ExhibitStateUsage", {"ActionUsage", "Element", "EventOccurrenceUsage", "Feature", "Namespace", "OccurrenceUsage", "PerformActionUsage", "StateUsage", "Step", "Type", "Usage"}}, + {"Expose", {"Element", "Import", "Relationship"}}, + {"Expression", {"Element", "Feature", "Namespace", "Step", "Type"}}, + {"Feature", {"Element", "Namespace", "Type"}}, + {"FeatureChainExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"}}, + {"FeatureChaining", {"Element", "Relationship"}}, + {"FeatureInverting", {"Element", "Relationship"}}, + {"FeatureMembership", {"Element", "Membership", "OwningMembership", "Relationship"}}, + {"FeatureReferenceExpression", {"Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"FeatureTyping", {"Element", "Relationship", "Specialization"}}, + {"FeatureValue", {"Element", "Membership", "OwningMembership", "Relationship"}}, + {"Flow", {"Connector", "Element", "Feature", "Namespace", "Relationship", "Step", "Type"}}, + {"FlowDefinition", {"ActionDefinition", "Association", "Behavior", "Class", "Classifier", "Definition", "Element", "Interaction", "Namespace", "OccurrenceDefinition", "Relationship", "Type"}}, + {"FlowEnd", {"Element", "Feature", "Namespace", "Type"}}, + {"FlowUsage", {"ActionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "Flow", "Namespace", "OccurrenceUsage", "Relationship", "Step", "Type", "Usage"}}, + {"ForLoopActionUsage", {"ActionUsage", "Element", "Feature", "LoopActionUsage", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"ForkNode", {"ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"FramedConcernMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship", "RequirementConstraintMembership"}}, + {"Function", {"Behavior", "Class", "Classifier", "Element", "Namespace", "Type"}}, + {"IfActionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Import", {"Element", "Relationship"}}, + {"IncludeUseCaseUsage", {"ActionUsage", "CalculationUsage", "CaseUsage", "Element", "EventOccurrenceUsage", "Expression", "Feature", "Namespace", "OccurrenceUsage", "PerformActionUsage", "Step", "Type", "Usage", "UseCaseUsage"}}, + {"IndexExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"}}, + {"InstantiationExpression", {"Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"Interaction", {"Association", "Behavior", "Class", "Classifier", "Element", "Namespace", "Relationship", "Type"}}, + {"InterfaceDefinition", {"Association", "AssociationStructure", "Class", "Classifier", "ConnectionDefinition", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"}}, + {"InterfaceUsage", {"ConnectionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"}}, + {"Intersecting", {"Element", "Relationship"}}, + {"Invariant", {"BooleanExpression", "Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"InvocationExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "Namespace", "Step", "Type"}}, + {"ItemDefinition", {"Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Structure", "Type"}}, + {"ItemUsage", {"Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"}}, + {"JoinNode", {"ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"LibraryPackage", {"Element", "Namespace", "Package"}}, + {"LiteralBoolean", {"Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"}}, + {"LiteralExpression", {"Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"LiteralInfinity", {"Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"}}, + {"LiteralInteger", {"Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"}}, + {"LiteralRational", {"Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"}}, + {"LiteralString", {"Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"}}, + {"LoopActionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Membership", {"Element", "Relationship"}}, + {"MembershipExpose", {"Element", "Expose", "Import", "MembershipImport", "Relationship"}}, + {"MembershipImport", {"Element", "Import", "Relationship"}}, + {"MergeNode", {"ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Metaclass", {"Class", "Classifier", "Element", "Namespace", "Structure", "Type"}}, + {"MetadataAccessExpression", {"Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"MetadataDefinition", {"Class", "Classifier", "Definition", "Element", "ItemDefinition", "Metaclass", "Namespace", "OccurrenceDefinition", "Structure", "Type"}}, + {"MetadataFeature", {"AnnotatingElement", "Element", "Feature", "Namespace", "Type"}}, + {"MetadataUsage", {"AnnotatingElement", "Element", "Feature", "ItemUsage", "MetadataFeature", "Namespace", "OccurrenceUsage", "Type", "Usage"}}, + {"Multiplicity", {"Element", "Feature", "Namespace", "Type"}}, + {"MultiplicityRange", {"Element", "Feature", "Multiplicity", "Namespace", "Type"}}, + {"Namespace", {"Element"}}, + {"NamespaceExpose", {"Element", "Expose", "Import", "NamespaceImport", "Relationship"}}, + {"NamespaceImport", {"Element", "Import", "Relationship"}}, + {"NullExpression", {"Element", "Expression", "Feature", "Namespace", "Step", "Type"}}, + {"ObjectiveMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"OccurrenceDefinition", {"Class", "Classifier", "Definition", "Element", "Namespace", "Type"}}, + {"OccurrenceUsage", {"Element", "Feature", "Namespace", "Type", "Usage"}}, + {"OperatorExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "Step", "Type"}}, + {"OwningMembership", {"Element", "Membership", "Relationship"}}, + {"Package", {"Element", "Namespace"}}, + {"ParameterMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"PartDefinition", {"Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "Structure", "Type"}}, + {"PartUsage", {"Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "Type", "Usage"}}, + {"PayloadFeature", {"Element", "Feature", "Namespace", "Type"}}, + {"PerformActionUsage", {"ActionUsage", "Element", "EventOccurrenceUsage", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"PortConjugation", {"Conjugation", "Element", "Relationship"}}, + {"PortDefinition", {"Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Structure", "Type"}}, + {"PortUsage", {"Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"}}, + {"Predicate", {"Behavior", "Class", "Classifier", "Element", "Function", "Namespace", "Type"}}, + {"Redefinition", {"Element", "Relationship", "Specialization", "Subsetting"}}, + {"ReferenceSubsetting", {"Element", "Relationship", "Specialization", "Subsetting"}}, + {"ReferenceUsage", {"Element", "Feature", "Namespace", "Type", "Usage"}}, + {"Relationship", {"Element"}}, + {"RenderingDefinition", {"Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Structure", "Type"}}, + {"RenderingUsage", {"Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Type", "Usage"}}, + {"RequirementConstraintMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"RequirementDefinition", {"Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "Type"}}, + {"RequirementUsage", {"BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"RequirementVerificationMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship", "RequirementConstraintMembership"}}, + {"ResultExpressionMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"ReturnParameterMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"}}, + {"SatisfyRequirementUsage", {"AssertConstraintUsage", "BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Invariant", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"}}, + {"SelectExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"}}, + {"SendActionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Specialization", {"Element", "Relationship"}}, + {"StakeholderMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"}}, + {"StateDefinition", {"ActionDefinition", "Behavior", "Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Type"}}, + {"StateSubactionMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"StateUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"Step", {"Element", "Feature", "Namespace", "Type"}}, + {"Structure", {"Class", "Classifier", "Element", "Namespace", "Type"}}, + {"Subclassification", {"Element", "Relationship", "Specialization"}}, + {"SubjectMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"}}, + {"Subsetting", {"Element", "Relationship", "Specialization"}}, + {"Succession", {"Connector", "Element", "Feature", "Namespace", "Relationship", "Type"}}, + {"SuccessionAsUsage", {"Connector", "ConnectorAsUsage", "Element", "Feature", "Namespace", "Relationship", "Succession", "Type", "Usage"}}, + {"SuccessionFlow", {"Connector", "Element", "Feature", "Flow", "Namespace", "Relationship", "Step", "Succession", "Type"}}, + {"SuccessionFlowUsage", {"ActionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "Flow", "FlowUsage", "Namespace", "OccurrenceUsage", "Relationship", "Step", "Succession", "SuccessionFlow", "Type", "Usage"}}, + {"TerminateActionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"TextualRepresentation", {"AnnotatingElement", "Element"}}, + {"TransitionFeatureMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"TransitionUsage", {"ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"TriggerInvocationExpression", {"Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "Step", "Type"}}, + {"Type", {"Element", "Namespace"}}, + {"TypeFeaturing", {"Element", "Relationship"}}, + {"Unioning", {"Element", "Relationship"}}, + {"Usage", {"Element", "Feature", "Namespace", "Type"}}, + {"UseCaseDefinition", {"ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"}}, + {"UseCaseUsage", {"ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"VariantMembership", {"Element", "Membership", "OwningMembership", "Relationship"}}, + {"VerificationCaseDefinition", {"ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"}}, + {"VerificationCaseUsage", {"ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + {"ViewDefinition", {"Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Structure", "Type"}}, + {"ViewRenderingMembership", {"Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"}}, + {"ViewUsage", {"Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Type", "Usage"}}, + {"ViewpointDefinition", {"Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "RequirementDefinition", "Type"}}, + {"ViewpointUsage", {"BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"}}, + {"WhileLoopActionUsage", {"ActionUsage", "Element", "Feature", "LoopActionUsage", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"}}, + }; + return h; +} + +} // namespace detail + +inline bool Element::is_kind(std::string_view kind) const { + if (kind == "Element") + return true; + const std::string mc = metaclass_name(); + if (mc == kind) + return true; + const auto& h = detail::spec_hierarchy(); + auto it = h.find(std::string_view(mc)); + if (it == h.end()) + return false; + for (std::string_view a : it->second) + if (a == kind) + return true; + return false; +} + +} // namespace sysml diff --git a/cpp/include/sysml/element_members.g.hpp b/cpp/include/sysml/element_members.g.hpp new file mode 100644 index 0000000..48bac05 --- /dev/null +++ b/cpp/include/sysml/element_members.g.hpp @@ -0,0 +1,26 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cpp.py. +// Included by sdk.hpp inside class Element: the members of the metaclass Element, which +// every element has. Defined in classes.g.hpp. +std::vector getAliasIds() const; +std::optional getDeclaredName() const; +std::optional getDeclaredShortName() const; +std::vector getDocumentation() const; +std::optional getElementId() const; +std::optional getIsImpliedIncluded() const; +std::optional getIsLibraryElement() const; +std::optional getName() const; +std::vector getOwnedAnnotation() const; +std::vector getOwnedElement() const; +std::vector getOwnedRelationship() const; +std::optional getOwner() const; +std::optional getOwningMembership() const; +std::optional getOwningNamespace() const; +std::optional getOwningRelationship() const; +std::optional getQualifiedName() const; +std::optional getShortName() const; +std::vector getTextualRepresentation() const; +std::optional effectiveName() const; +std::optional effectiveShortName() const; +std::optional escapedName() const; +std::optional libraryNamespace() const; +std::optional path() const; diff --git a/cpp/include/sysml/forward.g.hpp b/cpp/include/sysml/forward.g.hpp new file mode 100644 index 0000000..563b45f --- /dev/null +++ b/cpp/include/sysml/forward.g.hpp @@ -0,0 +1,177 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cpp.py. +// Included by sdk.hpp inside namespace sysml, ahead of Element: the metaclass structs, +// declared, as Element's own members and the structs' getters name one another. +struct AcceptActionUsage; +struct ActionDefinition; +struct ActionUsage; +struct ActorMembership; +struct AllocationDefinition; +struct AllocationUsage; +struct AnalysisCaseDefinition; +struct AnalysisCaseUsage; +struct AnnotatingElement; +struct Annotation; +struct AssertConstraintUsage; +struct AssignmentActionUsage; +struct Association; +struct AssociationStructure; +struct AttributeDefinition; +struct AttributeUsage; +struct Behavior; +struct BindingConnector; +struct BindingConnectorAsUsage; +struct BooleanExpression; +struct CalculationDefinition; +struct CalculationUsage; +struct CaseDefinition; +struct CaseUsage; +struct Class; +struct Classifier; +struct CollectExpression; +struct Comment; +struct ConcernDefinition; +struct ConcernUsage; +struct ConjugatedPortDefinition; +struct ConjugatedPortTyping; +struct Conjugation; +struct ConnectionDefinition; +struct ConnectionUsage; +struct Connector; +struct ConnectorAsUsage; +struct ConstraintDefinition; +struct ConstraintUsage; +struct ConstructorExpression; +struct ControlNode; +struct CrossSubsetting; +struct DataType; +struct DecisionNode; +struct Definition; +struct Dependency; +struct Differencing; +struct Disjoining; +struct Documentation; +struct ElementFilterMembership; +struct EndFeatureMembership; +struct EnumerationDefinition; +struct EnumerationUsage; +struct EventOccurrenceUsage; +struct ExhibitStateUsage; +struct Expose; +struct Expression; +struct Feature; +struct FeatureChainExpression; +struct FeatureChaining; +struct FeatureInverting; +struct FeatureMembership; +struct FeatureReferenceExpression; +struct FeatureTyping; +struct FeatureValue; +struct Flow; +struct FlowDefinition; +struct FlowEnd; +struct FlowUsage; +struct ForLoopActionUsage; +struct ForkNode; +struct FramedConcernMembership; +struct Function; +struct IfActionUsage; +struct Import; +struct IncludeUseCaseUsage; +struct IndexExpression; +struct InstantiationExpression; +struct Interaction; +struct InterfaceDefinition; +struct InterfaceUsage; +struct Intersecting; +struct Invariant; +struct InvocationExpression; +struct ItemDefinition; +struct ItemUsage; +struct JoinNode; +struct LibraryPackage; +struct LiteralBoolean; +struct LiteralExpression; +struct LiteralInfinity; +struct LiteralInteger; +struct LiteralRational; +struct LiteralString; +struct LoopActionUsage; +struct Membership; +struct MembershipExpose; +struct MembershipImport; +struct MergeNode; +struct Metaclass; +struct MetadataAccessExpression; +struct MetadataDefinition; +struct MetadataFeature; +struct MetadataUsage; +struct Multiplicity; +struct MultiplicityRange; +struct Namespace; +struct NamespaceExpose; +struct NamespaceImport; +struct NullExpression; +struct ObjectiveMembership; +struct OccurrenceDefinition; +struct OccurrenceUsage; +struct OperatorExpression; +struct OwningMembership; +struct Package; +struct ParameterMembership; +struct PartDefinition; +struct PartUsage; +struct PayloadFeature; +struct PerformActionUsage; +struct PortConjugation; +struct PortDefinition; +struct PortUsage; +struct Predicate; +struct Redefinition; +struct ReferenceSubsetting; +struct ReferenceUsage; +struct Relationship; +struct RenderingDefinition; +struct RenderingUsage; +struct RequirementConstraintMembership; +struct RequirementDefinition; +struct RequirementUsage; +struct RequirementVerificationMembership; +struct ResultExpressionMembership; +struct ReturnParameterMembership; +struct SatisfyRequirementUsage; +struct SelectExpression; +struct SendActionUsage; +struct Specialization; +struct StakeholderMembership; +struct StateDefinition; +struct StateSubactionMembership; +struct StateUsage; +struct Step; +struct Structure; +struct Subclassification; +struct SubjectMembership; +struct Subsetting; +struct Succession; +struct SuccessionAsUsage; +struct SuccessionFlow; +struct SuccessionFlowUsage; +struct TerminateActionUsage; +struct TextualRepresentation; +struct TransitionFeatureMembership; +struct TransitionUsage; +struct TriggerInvocationExpression; +struct Type; +struct TypeFeaturing; +struct Unioning; +struct Usage; +struct UseCaseDefinition; +struct UseCaseUsage; +struct VariantMembership; +struct VerificationCaseDefinition; +struct VerificationCaseUsage; +struct ViewDefinition; +struct ViewRenderingMembership; +struct ViewUsage; +struct ViewpointDefinition; +struct ViewpointUsage; +struct WhileLoopActionUsage; diff --git a/cpp/include/sysml/sdk.hpp b/cpp/include/sysml/sdk.hpp new file mode 100644 index 0000000..e256578 --- /dev/null +++ b/cpp/include/sysml/sdk.hpp @@ -0,0 +1,745 @@ +// SDK runtime (C++ backend): Model, PayloadBackend, Element, Value. +// Mirrors python/sysml/base.py — same read semantics, same identity +// rules. A property read returns whatever the backend gave: the +// SysML Toolkit reports its own unimplemented members, so the SDK +// never second-guesses a result. Elements are safe, reference-counted +// value types over a shared model; JSON goes through the vendored +// nlohmann/json; as() throws on the wrong metaclass. +// +// Collision rule: runtime members are multi-word +// snake_case (element_id, backend_handle, metaclass_name, get_raw, +// is_a, as, is_kind); spec members are generated lowerCamelCase +// methods and never contain an underscore. C++ keywords among spec +// names get a trailing underscore (`operator_`), enforced at +// generation time. +// +// Include (which includes this header); it +// supplies the generated hierarchy table Element::is_kind relies on. +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace sysml { + +// --- errors ---------------------------------------------------------------- + +class sdk_error : public std::runtime_error { +public: + using std::runtime_error::runtime_error; +}; + +/// A property the backend reports it does not compute. Reserved for a +/// backend that says so itself; never inferred from an empty result. +class not_computed final : public sdk_error { +public: + using sdk_error::sdk_error; +}; + +/// A specification member the SysML Toolkit does not answer: thrown +/// when the SysML Toolkit reports the member as not implemented. +class not_implemented_in_toolkit final : public sdk_error { +public: + using sdk_error::sdk_error; +}; + +/// The element no longer exists in the backend's current state. +class gone final : public sdk_error { +public: + using sdk_error::sdk_error; +}; + +/// as() on an element whose metaclass is not (a descendant of) T. +class wrong_kind final : public sdk_error { +public: + using sdk_error::sdk_error; +}; + +/// A reference that did not resolve — a SysML Toolkit @ref spelling +/// passthrough (non-standard, best-effort) or a dangling @id. Typed +/// navigation throws: the SDK requires resolved models. +/// get_raw() still exposes the reference as an Unresolved value. +class unresolved_reference final : public sdk_error { +public: + using sdk_error::sdk_error; +}; + +// --- leaf value types ------------------------------------------------------ + +/// A reference that did not resolve: carries the source spelling. +struct Unresolved { + std::string spelling; + + friend bool operator==(const Unresolved& a, const Unresolved& b) { + return a.spelling == b.spelling; + } + friend bool operator!=(const Unresolved& a, const Unresolved& b) { + return !(a == b); + } +}; + +namespace detail { +struct ModelCore; +} // namespace detail + +class Value; + +// The metaclass structs, declared ahead: Element's own members name them. +#include "forward.g.hpp" + +// --- Element: the single state root --------------------------------------- +// +// All 174 generated metaclass structs virtually inherit this class and +// add methods only; every element object is {core, handle} regardless +// of its static type. Copy freely — the reference-counted core keeps +// the model alive as long as any element survives. + +class Element { +public: + Element() = default; // detached; any access throws sdk_error + + // Copy-only, deliberately: under the virtual-inheritance diamonds a + // defaulted MOVE assignment would move this shared base once per + // inheritance path — the second move reads an already-moved-from + // source and detaches the target (gcc -Wvirtual-move-assign). + // Declaring the copy operations suppresses the implicit moves, so + // "moves" fall back to cheap, idempotent copies. + Element(const Element&) = default; + Element& operator=(const Element&) = default; + + static constexpr std::string_view kind_name = "Element"; + + std::string element_id() const; + const std::string& backend_handle() const { return handle_; } + std::string metaclass_name() const; + + /// Escape hatch: the property's backend value, wrapped but keeping + /// unresolved references as Unresolved values. (Other backends + /// return the unconverted raw value; here conversion is the only + /// way to avoid vendored types in the public API.) + Value get_raw(std::string_view prop) const; + + /// True if this element's metaclass is `kind` or a descendant of it + /// per the spec hierarchy table (generated; never uses C++ RTTI). + bool is_kind(std::string_view kind) const; + + template + bool is_a() const { + return is_kind(T::kind_name); + } + + /// Typed view of the same element; throws wrong_kind on mismatch + /// is_a() never throws. + template + T as() const { + if (!is_a()) + throw wrong_kind(metaclass_name() + " is not a " + + std::string(T::kind_name) + " (element " + + element_id() + ")"); + T t; + static_cast(t) = *this; + return t; + } + + /// "" + std::string to_string() const; + + friend bool operator==(const Element& a, const Element& b); + friend bool operator!=(const Element& a, const Element& b) { + return !(a == b); + } + + // The members of the metaclass Element, which every element has: getters + // and operations, declared by the generated fragment and defined in + // classes.g.hpp once every struct is complete. +#include "element_members.g.hpp" + +protected: + Value read_(std::string_view prop) const; + + /// Every generated operation routes through here: the backend evaluates it (the SysML Toolkit + /// answers or refuses; a payload refuses). Arguments are made by detail::arg. + Value call_(std::string_view op, std::vector args) const; + + // --- typed converters of a Value (generated operations call these) -- + template + static std::vector as_list_(const Value& v); + template + static std::optional as_ref_(const Value& v); + static std::optional as_bool_(const Value& v); + static std::optional as_string_(const Value& v); + static std::optional as_int_(const Value& v); + static std::optional as_real_(const Value& v); + static std::vector as_string_list_(const Value& v); + + // --- typed-getter converters (generated members call these) --------- + // Templates instantiate at use (after every struct is complete); + // non-template converters are defined after Value below. + + template + std::vector read_list_(std::string_view prop) const; + + template + std::optional read_ref_(std::string_view prop) const; + + std::optional read_bool_(std::string_view prop) const; + std::optional read_string_(std::string_view prop) const; + std::optional read_int_(std::string_view prop) const; + std::optional read_real_(std::string_view prop) const; + std::vector read_string_list_(std::string_view prop) const; + + const detail::ModelCore& core() const { + if (!core_) + throw sdk_error("detached element (default-constructed)"); + return *core_; + } + +private: + Element(std::shared_ptr core, std::string handle) + : core_(std::move(core)), handle_(std::move(handle)) {} + + std::shared_ptr core_; + std::string handle_; + + friend struct detail::ModelCore; + friend class Model; +}; + +// --- Value: one property result ------------------------------------------- + +using List = std::vector; +/// Fallback for plain JSON objects that are neither @id refs nor @ref +/// spellings (rare in full-form payloads). Pair-vector rather than map +/// so the recursion stays legal with an incomplete Value. +using Object = std::vector>; + +class Value { +public: + using Var = std::variant; + + Value() = default; + explicit Value(Var v) : v_(std::move(v)) {} + + bool is_null() const { return std::holds_alternative(v_); } + bool is_bool() const { return std::holds_alternative(v_); } + bool is_int() const { return std::holds_alternative(v_); } + bool is_double() const { return std::holds_alternative(v_); } + bool is_string() const { return std::holds_alternative(v_); } + bool is_element() const { return std::holds_alternative(v_); } + bool is_unresolved() const { return std::holds_alternative(v_); } + bool is_list() const { return std::holds_alternative(v_); } + + bool as_bool() const { return std::get(v_); } + std::int64_t as_int() const { return std::get(v_); } + double as_double() const { return std::get(v_); } + const std::string& as_string() const { return std::get(v_); } + const Element& as_element() const { return std::get(v_); } + const Unresolved& as_unresolved() const { return std::get(v_); } + const List& as_list() const { return std::get(v_); } + const Object& as_object() const { return std::get(v_); } + + const Var& var() const { return v_; } + + friend bool operator==(const Value& a, const Value& b) { return a.v_ == b.v_; } + friend bool operator!=(const Value& a, const Value& b) { return !(a == b); } + +private: + Var v_; +}; + +// --- Backend protocol (handle-based) -------------------------------------- +// +// Raw values are nlohmann::json nodes (layer 1 is allowed to see the +// vendored type; layers 2/3 and Value are not). An id-keyed backend +// uses element ids as its handles. + +class Backend { +public: + virtual ~Backend() = default; + + /// nullptr = property absent. The node must stay valid while the + /// backend lives. + virtual const nlohmann::json* get(const std::string& handle, + std::string_view prop) const = 0; + virtual std::string metaclass(const std::string& handle) const = 0; + virtual std::string element_id(const std::string& handle) const = 0; + virtual std::optional resolve(std::string_view qname) const = 0; + virtual std::vector all_handles() const = 0; + + /// A specification operation on the element `handle`, by its specification name, with its + /// arguments in order (elements as {"@id": handle}). A backend that cannot evaluate it + /// throws not_implemented_in_toolkit; a payload holds property values only. + virtual nlohmann::json call(const std::string& handle, std::string_view op, + const nlohmann::json& args) const { + (void)handle; + (void)args; + throw not_implemented_in_toolkit(std::string(op) + "(): operations are not available on " + "payload models; load the model through the SysML Toolkit backend"); + } +}; + +namespace detail { + +/// Elements by id (document order, the last of a repeated id) and ids by qualified name (the +/// first). The index points into `doc`. +inline void index_payload(const nlohmann::json& doc, + std::unordered_map& by_id, + std::vector& order, + std::unordered_map& by_qname) { + for (const auto& e : doc) { + if (!e.is_object()) + continue; + auto id = e.find("@id"); + if (id == e.end() || !id->is_string()) + continue; + if (by_id.insert_or_assign(id->get(), &e).second) + order.push_back(id->get()); + auto qn = e.find("qualifiedName"); + if (qn != e.end() && qn->is_string() && !qn->get().empty()) + by_qname.emplace(qn->get(), id->get()); + } +} + +} // namespace detail + +/// A standard library read from a full-form interchange element array, such as the library +/// JSON published with the SDK. Parse it once and pass it to any number of payload models: +/// their references into the library then resolve by the library's normative ids. +/// Non-movable: the id index points into the owned document; share it through the shared_ptr +/// that parse() returns. +class PayloadLibrary { +public: + explicit PayloadLibrary(nlohmann::json elements) : doc_(std::move(elements)) { + std::vector order; + detail::index_payload(doc_, by_id_, order, by_qname_); + } + + static std::shared_ptr parse(std::string_view text) { + return std::make_shared(nlohmann::json::parse(text)); + } + + PayloadLibrary(const PayloadLibrary&) = delete; + PayloadLibrary& operator=(const PayloadLibrary&) = delete; + + /// The number of library elements. + std::size_t size() const { return by_id_.size(); } + +private: + friend class PayloadBackend; + nlohmann::json doc_; + std::unordered_map by_id_; + std::unordered_map by_qname_; +}; + +/// Read-only backend over a full-form interchange element array. +/// Handles are the element ids themselves, listed in document order; an +/// id that occurs twice keeps its first position and its last element. +/// With a library, an id or qualified name the payload does not hold is +/// looked up in the library; the library's elements are not the model's, so +/// all_handles() lists the payload's only. +/// Non-movable: the id index points into the owned document. +class PayloadBackend final : public Backend { +public: + explicit PayloadBackend(nlohmann::json elements, + std::shared_ptr library = nullptr) + : doc_(std::move(elements)), library_(std::move(library)) { + detail::index_payload(doc_, by_id_, order_, by_qname_); + } + + static std::unique_ptr parse( + std::string_view text, std::shared_ptr library = nullptr) { + return std::make_unique(nlohmann::json::parse(text), std::move(library)); + } + + PayloadBackend(const PayloadBackend&) = delete; + PayloadBackend& operator=(const PayloadBackend&) = delete; + + const nlohmann::json* get(const std::string& handle, + std::string_view prop) const override { + const nlohmann::json& el = require(handle); + auto it = el.find(prop); + return it == el.end() ? nullptr : &*it; + } + + std::string metaclass(const std::string& handle) const override { + return require(handle).at("@type").get(); + } + + std::string element_id(const std::string& handle) const override { + require(handle); + return handle; + } + + std::optional resolve(std::string_view qname) const override { + std::string key(qname); + auto it = by_qname_.find(key); + if (it != by_qname_.end()) + return it->second; + if (library_) { + auto lib = library_->by_qname_.find(key); + if (lib != library_->by_qname_.end()) + return lib->second; + } + return std::nullopt; + } + + std::vector all_handles() const override { return order_; } + +private: + const nlohmann::json& require(const std::string& handle) const { + auto it = by_id_.find(handle); + if (it != by_id_.end()) + return *it->second; + if (library_) { + auto lib = library_->by_id_.find(handle); + if (lib != library_->by_id_.end()) + return *lib->second; + } + throw gone("no element " + handle + " in this payload"); + } + + nlohmann::json doc_; + std::shared_ptr library_; + std::vector order_; + std::unordered_map by_id_; + std::unordered_map by_qname_; +}; + +// --- ModelCore: the single owner ------------------------------------------ + +namespace detail { + +struct ModelCore { + std::unique_ptr backend; + + explicit ModelCore(std::unique_ptr b) : backend(std::move(b)) {} + + static Element mint(std::shared_ptr self, std::string handle) { + return Element(std::move(self), std::move(handle)); + } + + static const std::string* id_ref(const nlohmann::json& v) { + if (!v.is_object() || v.size() != 1) + return nullptr; + auto it = v.find("@id"); + return it != v.end() && it->is_string() + ? it->get_ptr() + : nullptr; + } + + /// throw_unresolved: property reads refuse unresolved models; get_raw + /// keeps Unresolved values instead. + Value wrap(const std::shared_ptr& self, + const nlohmann::json* raw, bool throw_unresolved = false, + std::string_view at = "?") const { + if (raw == nullptr || raw->is_null()) + return Value(); + const nlohmann::json& v = *raw; + if (const std::string* id = id_ref(v)) { + try { + backend->metaclass(*id); // existence check (throws gone) + return Value(Value::Var(mint(self, *id))); + } catch (const gone&) { + if (throw_unresolved) + throw unresolved_reference( + "dangling reference @id='" + *id + "' at " + + std::string(at) + ": target is not in this model; " + + "the SDK requires resolved models"); + return Value(Value::Var(Unresolved{*id})); + } + } + if (v.is_object()) { + auto ref = v.find("@ref"); + if (ref != v.end() && ref->is_string()) { + if (throw_unresolved) + throw unresolved_reference( + "unresolved reference '" + ref->get() + + "' at " + std::string(at) + " (the SysML Toolkit's @ref " + + "passthrough is non-standard best-effort); the SDK " + + "requires resolved models — use get_raw() for the " + + "raw value"); + return Value(Value::Var(Unresolved{ref->get()})); + } + Object out; + out.reserve(v.size()); + for (auto it = v.begin(); it != v.end(); ++it) + out.emplace_back(it.key(), + wrap(self, &it.value(), throw_unresolved, at)); + return Value(Value::Var(std::move(out))); + } + if (v.is_array()) { + List out; + out.reserve(v.size()); + for (const auto& item : v) + out.push_back(wrap(self, &item, throw_unresolved, at)); + return Value(Value::Var(std::move(out))); + } + if (v.is_string()) + return Value(Value::Var(v.get())); + if (v.is_boolean()) + return Value(Value::Var(v.get())); + if (v.is_number_integer()) + return Value(Value::Var(v.get())); + return Value(Value::Var(v.get())); + } + + /// An operation's result, wrapped like a property value. + Value call(const std::shared_ptr& self, const std::string& handle, + std::string_view op, const nlohmann::json& args) const { + const nlohmann::json raw = backend->call(handle, op, args); + const std::string at = std::string(op) + "() (element " + handle + ")"; + return wrap(self, &raw, true, at); + } + + /// The backend value, wrapped (this path refuses unresolved + /// references). Mirrors P.__get__ in base.py. + Value read(const std::shared_ptr& self, + const std::string& handle, std::string_view prop) const { + const nlohmann::json* raw = backend->get(handle, prop); + const std::string at = + std::string(prop) + " (element " + handle + ")"; + return wrap(self, raw, true, at); + } +}; + +} // namespace detail + +// --- Model ----------------------------------------------------------------- + +class Model { +public: + /// A model over any backend, for example ToolkitBackend (toolkit.hpp). + static Model from_backend(std::unique_ptr backend) { + return Model(std::make_shared(std::move(backend))); + } + + /// A model read from a full-form interchange element array. With `library`, references + /// into the standard library resolve against it; its elements are not the model's. + static Model from_full_json(std::string_view text, + std::shared_ptr library = nullptr) { + return Model(std::make_shared( + PayloadBackend::parse(text, std::move(library)))); + } + + Element element(std::string handle) const { + core_->backend->metaclass(handle); // throws gone if absent + return detail::ModelCore::mint(core_, std::move(handle)); + } + + std::optional resolve(std::string_view qname) const { + auto handle = core_->backend->resolve(qname); + if (!handle) + return std::nullopt; + return element(*std::move(handle)); + } + + std::vector all() const { + std::vector out; + for (auto& h : core_->backend->all_handles()) + out.push_back(detail::ModelCore::mint(core_, std::move(h))); + return out; + } + + /// Every element whose metaclass is T or a descendant of it, typed as T. + template + std::vector elements_of_type() const { + std::vector out; + for (const Element& e : all()) + if (e.is_a()) + out.push_back(e.as()); + return out; + } + + /// The top-level namespaces: the elements without an owner that are + /// namespaces (a membership may have no owner either). + std::vector roots() const { + std::vector out; + for (const Element& e : all()) + if (e.is_kind("Namespace") && !e.getOwner()) + out.push_back(e); + return out; + } + + const Backend& backend() const { return *core_->backend; } + +private: + explicit Model(std::shared_ptr core) + : core_(std::move(core)) {} + + std::shared_ptr core_; +}; + +// --- Element bodies needing complete ModelCore/Value ----------------------- + +inline std::string Element::element_id() const { + return core().backend->element_id(handle_); +} + +inline std::string Element::metaclass_name() const { + return core().backend->metaclass(handle_); +} + +inline Value Element::get_raw(std::string_view prop) const { + return core().wrap(core_, core().backend->get(handle_, prop)); +} + +inline Value Element::read_(std::string_view prop) const { + return core().read(core_, handle_, prop); +} + +inline Value Element::call_(std::string_view op, std::vector args) const { + return core().call(core_, handle_, op, nlohmann::json(std::move(args))); +} + +namespace detail { + +/// An operation argument as the backend contract carries it: an element as {"@id": handle}, a +/// list as an array, an absent value as null. +inline nlohmann::json arg(const Element& e) { return {{"@id", e.backend_handle()}}; } +inline nlohmann::json arg(bool v) { return v; } +inline nlohmann::json arg(const std::string& v) { return v; } +inline nlohmann::json arg(std::int64_t v) { return v; } +inline nlohmann::json arg(double v) { return v; } + +template +nlohmann::json arg(const std::optional& v) { + return v ? arg(*v) : nlohmann::json(nullptr); +} + +template +nlohmann::json arg(const std::vector& v) { + nlohmann::json out = nlohmann::json::array(); + for (const T& item : v) + out.push_back(arg(item)); + return out; +} + +} // namespace detail + +inline std::string Element::to_string() const { + const nlohmann::json* qn = core().backend->get(handle_, "qualifiedName"); + std::string label = + (qn != nullptr && qn->is_string() && !qn->get().empty()) + ? qn->get() + : element_id(); + return "<" + metaclass_name() + " " + label + ">"; +} + +inline bool operator==(const Element& a, const Element& b) { + return a.core_ == b.core_ && a.core_ != nullptr && + a.element_id() == b.element_id(); +} + +// --- typed-getter converter bodies ----------------------------------------- + +template +std::vector Element::read_list_(std::string_view prop) const { + return as_list_(read_(prop)); +} + +template +std::optional Element::read_ref_(std::string_view prop) const { + return as_ref_(read_(prop)); +} + +inline std::optional Element::read_bool_(std::string_view prop) const { + return as_bool_(read_(prop)); +} + +inline std::optional Element::read_string_(std::string_view prop) const { + return as_string_(read_(prop)); +} + +inline std::optional Element::read_int_(std::string_view prop) const { + return as_int_(read_(prop)); +} + +inline std::optional Element::read_real_(std::string_view prop) const { + return as_real_(read_(prop)); +} + +inline std::vector Element::read_string_list_(std::string_view prop) const { + return as_string_list_(read_(prop)); +} + +template +std::vector Element::as_list_(const Value& v) { + std::vector out; + if (v.is_null()) + return out; // absent arrays normalize to empty + const List& l = v.as_list(); + out.reserve(l.size()); + for (const Value& item : l) + out.push_back(item.as_element().as()); + return out; +} + +template +std::optional Element::as_ref_(const Value& v) { + if (v.is_null()) + return std::nullopt; + return v.as_element().as(); +} + +inline std::optional Element::as_bool_(const Value& v) { + if (v.is_null()) + return std::nullopt; + return v.as_bool(); +} + +inline std::optional Element::as_string_(const Value& v) { + if (v.is_null()) + return std::nullopt; + return v.as_string(); +} + +inline std::optional Element::as_int_(const Value& v) { + if (v.is_null()) + return std::nullopt; + return v.is_int() ? v.as_int() + : static_cast(v.as_double()); +} + +inline std::optional Element::as_real_(const Value& v) { + if (v.is_null()) + return std::nullopt; + return v.is_double() ? v.as_double() + : static_cast(v.as_int()); +} + +inline std::vector Element::as_string_list_(const Value& v) { + std::vector out; + if (v.is_null()) + return out; + const List& l = v.as_list(); + out.reserve(l.size()); + for (const Value& item : l) + out.push_back(item.as_string()); + return out; +} + +} // namespace sysml + +namespace std { + +/// Elements hash by their element id, as they compare: an Element can key an +/// unordered container. +template <> +struct hash { + std::size_t operator()(const sysml::Element& e) const { + return std::hash()(e.element_id()); + } +}; + +} // namespace std diff --git a/cpp/include/sysml/toolkit.hpp b/cpp/include/sysml/toolkit.hpp new file mode 100644 index 0000000..fd8d1cb --- /dev/null +++ b/cpp/include/sysml/toolkit.hpp @@ -0,0 +1,407 @@ +// The SysML Toolkit backend for C++: the binding library (abi/) loaded at run time. Implements +// the same Backend contract as PayloadBackend, so the generated structs and Model are untouched. +// Handles are the integers the library mints, carried as decimal strings to fit the contract; +// references come back as {"@id": handle} JSON so ModelCore::wrap mints elements exactly as it +// does for payloads. +// +// The Backend contract hands out pointers to JSON nodes that must stay valid while the backend +// lives, so every value read from the SysML Toolkit is kept in a per-backend cache keyed by +// handle and member; the pointer returned refers into that cache. +// +// Dispatch: get(handle, prop) finds the declaring class of prop for the element's metaclass +// through toolkit_table.g.hpp and calls that export; call(handle, op, args) finds the operation's +// row the same way and passes each argument as the binding library's parameter C type says. +// Status codes follow the ABI specification: NOT_IMPLEMENTED throws not_implemented_in_toolkit, +// NOT_APPLICABLE is an absent value, INVALID_HANDLE throws gone, UNRESOLVED throws +// unresolved_reference. +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _WIN32 +#include +#else +#include +#include +#endif +#ifdef __APPLE__ +#include +#endif + +#include "sdk.hpp" +#include "toolkit_table.g.hpp" + +namespace sysml { + +class ToolkitBackend final : public Backend { +public: + // -- ABI structs (section 4), native layout ------------------------------------------ + struct Str { const std::uint8_t* ptr; std::size_t len; bool present; void* owner; }; + struct Handles { const std::uint64_t* items; std::size_t len; void* owner; }; + struct Ref { bool present; std::uint64_t value; }; + struct Bool { bool present; bool value; }; + struct Int { bool present; std::int64_t value; }; + struct Real { bool present; double value; }; + struct LoadOptions { + const Str* paths; std::size_t paths_len; + const Str* source_names; const Str* source_texts; std::size_t sources_len; + Str library_dir; + }; + static constexpr int OK = 0, NOT_IMPLEMENTED = 1, NOT_APPLICABLE = 2, INVALID_HANDLE = 3, UNRESOLVED = 7; + + /// One loaded library, shared by every session created from it. + class Library { + public: + explicit Library(const std::string& path) { +#ifdef _WIN32 + handle_ = static_cast(LoadLibraryA(path.c_str())); +#else + handle_ = dlopen(path.c_str(), RTLD_NOW); +#endif + if (!handle_) throw sdk_error("cannot load the binding library at " + path); + auto digest = reinterpret_cast(sym("sysmlv2_names_digest")); + auto digest_len = reinterpret_cast(sym("sysmlv2_names_digest_len")); + std::string have(digest(), digest_len()); + if (have != toolkit_table::NAMES_DIGEST) + throw sdk_error("binding library " + path + " was generated from naming table " + have.substr(0, 12) + + ", this SDK from " + std::string(toolkit_table::NAMES_DIGEST.substr(0, 12)) + "; regenerate one side"); + } + Library(const Library&) = delete; + Library& operator=(const Library&) = delete; + + void* sym(const char* name) { + auto it = syms_.find(name); + if (it != syms_.end()) return it->second; +#ifdef _WIN32 + void* p = reinterpret_cast(GetProcAddress(static_cast(handle_), name)); +#else + void* p = dlsym(handle_, name); +#endif + if (!p) throw sdk_error(std::string("binding library lacks ") + name); + syms_[name] = p; + return p; + } + + /// SYSMLV2_ABI; else the library beside the running executable (where to copy the one the + /// release archive carries in lib//); else abi/target/release above the working + /// directory (a build of the SDK's source). + static std::string default_path() { + if (const char* env = std::getenv("SYSMLV2_ABI")) return env; +#ifdef _WIN32 + const char* name = "sysmlv2_abi.dll"; +#elif defined(__APPLE__) + const char* name = "libsysmlv2_abi.dylib"; +#else + const char* name = "libsysmlv2_abi.so"; +#endif + std::string beside = executable_dir() + name; + if (FILE* f = std::fopen(beside.c_str(), "rb")) { std::fclose(f); return beside; } + std::string prefix; + for (int up = 0; up < 6; ++up) { + std::string candidate = prefix + "abi/target/release/" + name; + if (FILE* f = std::fopen(candidate.c_str(), "rb")) { std::fclose(f); return candidate; } + prefix += "../"; + } + throw sdk_error("binding library not found: set SYSMLV2_ABI to the library file in the release's sysmlv2_abi archive for this platform (sysmlv2_abi.dll, libsysmlv2_abi.so or libsysmlv2_abi.dylib), or one built from abi/ in the SDK source"); + } + + private: + void* handle_ = nullptr; + std::unordered_map syms_; + + /// The running executable's directory, with a trailing separator; empty if unknown. + static std::string executable_dir() { + std::string path; +#ifdef _WIN32 + char buf[MAX_PATH]; + DWORD n = GetModuleFileNameA(nullptr, buf, MAX_PATH); + if (n == 0 || n == MAX_PATH) return ""; + path.assign(buf, n); +#elif defined(__APPLE__) + char buf[4096]; + uint32_t size = sizeof buf; + if (_NSGetExecutablePath(buf, &size) != 0) return ""; + path = buf; +#else + char buf[4096]; + ssize_t n = readlink("/proc/self/exe", buf, sizeof buf - 1); + if (n <= 0) return ""; + path.assign(buf, static_cast(n)); +#endif + std::size_t slash = path.find_last_of("/\\"); + return slash == std::string::npos ? std::string() : path.substr(0, slash + 1); + } + }; + + static std::shared_ptr default_library() { + static std::shared_ptr lib = std::make_shared(Library::default_path()); + return lib; + } + + /// Open a session over files. + static std::unique_ptr open(const std::vector& paths, std::shared_ptr lib = default_library()) { + return open_impl(std::move(lib), paths, {}, ""); + } + /// Open a session over in-memory sources: unit name to text. + static std::unique_ptr open_sources(const std::vector>& sources, + std::shared_ptr lib = default_library()) { + return open_impl(std::move(lib), {}, sources, ""); + } + /// Open a session over files, or over in-memory sources when any are given, with the standard + /// library read from the directory `library_dir` (empty for none). + static std::unique_ptr open(const std::vector& paths, + const std::vector>& sources, + const std::string& library_dir, + std::shared_ptr lib = default_library()) { + return open_impl(std::move(lib), paths, sources, library_dir); + } + + ~ToolkitBackend() override { + if (session_) fn("sysmlv2_session_close")(session_); + } + + /// The model as full-form interchange JSON, from the SysML Toolkit's own emitter. With + /// `closures` (the default) the inheritance-aware properties carry the specification's values, + /// inherited and imported members included; without, the owned side only, as the + /// SysML Toolkit's command-line export writes them. + std::string full_json(bool closures = true) const { + Str s{}; + check(fn("sysmlv2_session_full_json")(session_, closures ? 1u : 0u, &s), "full_json"); + return take_str(s).value_or("[]"); + } + + std::vector roots() const { return handles_of("sysmlv2_session_roots", "roots"); } + + // -- the backend contract --------------------------------------------------------------- + + const nlohmann::json* get(const std::string& handle, std::string_view prop) const override { + const std::string mc = metaclass(handle); + const toolkit_table::Entry* e = declaring(mc, prop); + if (!e) return nullptr; // not a member of this metaclass: absent, as the payload backend answers + const std::string key = handle + "|" + std::string(prop); + auto it = values_.find(key); + if (it != values_.end()) return it->second.is_null() ? nullptr : &it->second; + nlohmann::json v = call(e->symbol, e->code, std::stoull(handle), mc + "." + std::string(prop)); + auto& slot = values_[key] = std::move(v); + return slot.is_null() ? nullptr : &slot; + } + + /// A specification operation. Each argument is passed as the binding library's parameter C + /// type says: an element as its handle, a list of elements as a handle array, a Boolean as a + /// C bool, anything else as text. The library answers or refuses. + nlohmann::json call(const std::string& handle, std::string_view op, const nlohmann::json& args) const override { + const std::string mc = metaclass(handle); + const std::string where = mc + "." + std::string(op) + "()"; + const toolkit_table::Entry* e = declaring(mc, std::string(op) + "()"); + if (!e) throw sdk_error(where + ": the binding library has no such operation"); + std::vector types; + for (std::string_view rest = e->params; !rest.empty();) { + auto semi = rest.find(';'); + types.emplace_back(rest.substr(0, semi)); + rest = semi == std::string_view::npos ? std::string_view() : rest.substr(semi + 1); + } + // One machine word per argument: the address of a Str or Handles struct, or the value of + // a Handle or bool. The structs and their buffers live until the call returns. + std::vector texts(types.size()); + std::vector> items(types.size()); + std::vector strs(types.size()); + std::vector lists(types.size()); + std::vector words(types.size()); + std::string sig; + // The binding library has no "no element": a missing element is refused, never passed as a + // handle that names some other element. + auto handle_of = [&where](const nlohmann::json& a, std::size_t i) -> std::uint64_t { + if (a.is_object() && a.contains("@id")) return std::stoull(a["@id"].get()); + throw std::invalid_argument(where + ": argument " + std::to_string(i + 1) + " must be an element"); + }; + for (std::size_t i = 0; i < types.size(); ++i) { + const nlohmann::json a = i < args.size() ? args[i] : nlohmann::json(nullptr); + if (types[i] == "Handle") { + words[i] = handle_of(a, i); sig += 'U'; + } else if (types[i] == "bool") { + words[i] = a.is_boolean() && a.get() ? 1 : 0; sig += 'B'; + } else if (types[i] == "Handles") { + if (a.is_array()) for (const auto& x : a) items[i].push_back(handle_of(x, i)); + lists[i] = Handles{items[i].data(), items[i].size(), nullptr}; + words[i] = reinterpret_cast(&lists[i]); sig += 'P'; + } else { // text; an element as its element id, as every binding passes it + texts[i] = a.is_string() ? a.get() + : a.is_null() ? std::string() + : a.is_object() && a.contains("@id") ? element_id(a["@id"].get()) + : a.dump(); + strs[i] = Str{reinterpret_cast(texts[i].data()), texts[i].size(), true, nullptr}; + words[i] = reinterpret_cast(&strs[i]); sig += 'P'; + } + } + void* f = lib_->sym(e->symbol); + const std::uint64_t h = std::stoull(handle); + auto p = [&](std::size_t i) { return reinterpret_cast(static_cast(words[i])); }; + Out o{}; + int st; + if (sig.empty()) st = reinterpret_cast(f)(session_, h, &o); + else if (sig == "P") st = reinterpret_cast(f)(session_, h, p(0), &o); + else if (sig == "PP") st = reinterpret_cast(f)(session_, h, p(0), p(1), &o); + else if (sig == "PPP") st = reinterpret_cast(f)(session_, h, p(0), p(1), p(2), &o); + else if (sig == "U") st = reinterpret_cast(f)(session_, h, words[0], &o); + else if (sig == "B") st = reinterpret_cast(f)(session_, h, words[0] != 0, &o); + else if (sig == "PPB") st = reinterpret_cast(f)(session_, h, p(0), p(1), words[2] != 0, &o); + else if (sig == "PBB") st = reinterpret_cast(f)(session_, h, p(0), words[1] != 0, words[2] != 0, &o); + else if (sig == "UU") st = reinterpret_cast(f)(session_, h, words[0], words[1], &o); + else if (sig == "UP") st = reinterpret_cast(f)(session_, h, words[0], p(1), &o); + else if (sig == "UPP") st = reinterpret_cast(f)(session_, h, words[0], p(1), p(2), &o); + else throw sdk_error(where + ": no call shape for parameters '" + sig + "'"); + return unpack(e->code, o, st, where); + } + + std::string metaclass(const std::string& handle) const override { + auto it = metaclass_.find(handle); + if (it != metaclass_.end()) return it->second; + Str s{}; + check(fn("sysmlv2_metaclass")(session_, std::stoull(handle), &s), "metaclass(" + handle + ")"); + std::string mc = take_str(s).value_or(""); + metaclass_[handle] = mc; + return mc; + } + + std::string element_id(const std::string& handle) const override { + nlohmann::json v = call("sysmlv2_element_element_id", 'S', std::stoull(handle), "elementId"); + return v.is_string() ? v.get() : ""; + } + + std::optional resolve(std::string_view qname) const override { + std::string q(qname); + Str arg{reinterpret_cast(q.data()), q.size(), true, nullptr}; + Ref out{}; + if (!check(fn("sysmlv2_session_resolve")(session_, &arg, &out), + "resolve(" + q + ")")) + return std::nullopt; + if (!out.present) return std::nullopt; + return std::to_string(out.value); + } + + std::vector all_handles() const override { return handles_of("sysmlv2_user_elements", "user_elements"); } + +private: + std::shared_ptr lib_; + void* session_ = nullptr; + mutable std::unordered_map metaclass_; + mutable std::unordered_map declaring_; + mutable std::unordered_map values_; + + ToolkitBackend(std::shared_ptr lib, void* session) : lib_(std::move(lib)), session_(session) {} + + static std::unique_ptr open_impl(std::shared_ptr lib, const std::vector& paths, + const std::vector>& sources, const std::string& library_dir) { + auto as_str = [](const std::string& s) { return Str{reinterpret_cast(s.data()), s.size(), true, nullptr}; }; + std::vector path_strs, names, texts; + for (const auto& p : paths) path_strs.push_back(as_str(p)); + for (const auto& [n, t] : sources) { names.push_back(as_str(n)); texts.push_back(as_str(t)); } + LoadOptions opts{}; + opts.paths = path_strs.data(); opts.paths_len = path_strs.size(); + opts.source_names = names.data(); opts.source_texts = texts.data(); opts.sources_len = names.size(); + opts.library_dir = library_dir.empty() ? Str{nullptr, 0, false, nullptr} : as_str(library_dir); + void* session = nullptr; + auto open = reinterpret_cast(lib->sym("sysmlv2_session_open")); + int st = open(&opts, &session); + if (st != OK) throw sdk_error("the SysML Toolkit could not load the model: status " + std::to_string(st) + " (the SysML Toolkit's reason is on stderr)"); + return std::unique_ptr(new ToolkitBackend(std::move(lib), session)); + } + + template + F fn(const char* name) const { return reinterpret_cast(lib_->sym(name)); } + + void free(void* owner) const { fn("sysmlv2_free")(owner); } + + std::string last_error() const { + Str s{}; + fn("sysmlv2_last_error")(session_, &s); + return take_str(s).value_or(""); + } + + /// True when a value is present; false for NOT_APPLICABLE; throws otherwise. + bool check(int st, const std::string& where) const { + if (st == OK) return true; + if (st == NOT_APPLICABLE) return false; + std::string msg = last_error(); + if (st == NOT_IMPLEMENTED) throw not_implemented_in_toolkit(msg.empty() ? where + ": not implemented by the SysML Toolkit" : msg); + if (st == INVALID_HANDLE) throw gone(msg.empty() ? where + ": invalid handle" : msg); + if (st == UNRESOLVED) throw unresolved_reference(msg.empty() ? where + ": a reference did not resolve" : msg); + throw sdk_error(where + ": status " + std::to_string(st) + ": " + msg); + } + + std::optional take_str(const Str& s) const { + std::optional v; + if (s.present && s.ptr) v = std::string(reinterpret_cast(s.ptr), s.len); + free(s.owner); + return v; + } + + std::vector take_handles(const Handles& h) const { + std::vector out; + out.reserve(h.len); + for (std::size_t i = 0; i < h.len; ++i) out.push_back(std::to_string(h.items[i])); + free(h.owner); + return out; + } + + std::vector handles_of(const char* symbol, const char* where) const { + Handles h{}; + check(fn(symbol)(session_, &h), where); + return take_handles(h); + } + + /// Room for any result struct, aligned for all of them. + union Out { Handles h; Ref r; Str s; Bool b; Int i; Real d; }; + + nlohmann::json call(const char* symbol, char code, std::uint64_t handle, const std::string& where) const { + using MemberFn = int (*)(void*, std::uint64_t, void*); + Out o{}; + return unpack(code, o, fn(symbol)(session_, handle, &o), where); + } + + /// The result in `o` as the backend contract carries it, after checking the status. + nlohmann::json unpack(char code, Out& o, int st, const std::string& where) const { + if (!check(st, where)) return code == 'H' || code == 'T' ? nlohmann::json::array() : nlohmann::json(nullptr); + switch (code) { + case 'H': { nlohmann::json a = nlohmann::json::array(); for (auto& h : take_handles(o.h)) a.push_back({{"@id", h}}); return a; } + case 'R': return o.r.present ? nlohmann::json{{"@id", std::to_string(o.r.value)}} : nlohmann::json(nullptr); + case 'S': { auto s = take_str(o.s); return s ? nlohmann::json(*s) : nlohmann::json(nullptr); } + case 'T': { // a list of strings (a requirement's `text`), as JSON text + auto s = take_str(o.s); + return s ? nlohmann::json::parse(*s) : nlohmann::json::array(); + } + case 'B': return o.b.present ? nlohmann::json(o.b.value) : nlohmann::json(nullptr); + case 'I': return o.i.present ? nlohmann::json(o.i.value) : nlohmann::json(nullptr); + default: return o.d.present ? nlohmann::json(o.d.value) : nlohmann::json(nullptr); + } + } + + const toolkit_table::Entry* declaring(const std::string& mc, std::string_view prop) const { + const std::string key = mc + "::" + std::string(prop); + auto it = declaring_.find(key); + if (it != declaring_.end()) return it->second; + const toolkit_table::Entry* found = nullptr; + std::vector stack{mc}; + std::unordered_set seen; + while (!stack.empty()) { + std::string_view c = stack.back(); stack.pop_back(); + if (!seen.insert(c).second) continue; + std::string k = std::string(c) + "::" + std::string(prop); + auto f = toolkit_table::funcs().find(k); + if (f != toolkit_table::funcs().end()) { found = &f->second; break; } + auto b = toolkit_table::bases().find(c); + if (b != toolkit_table::bases().end()) for (auto base : b->second) stack.push_back(base); + } + declaring_[key] = found; + return found; + } +}; + +} // namespace sysml diff --git a/cpp/include/sysml/toolkit_table.g.hpp b/cpp/include/sysml/toolkit_table.g.hpp new file mode 100644 index 0000000..6aaa341 --- /dev/null +++ b/cpp/include/sysml/toolkit_table.g.hpp @@ -0,0 +1,687 @@ +// Generated by tools/gen_toolkit_table_cpp.py. Do not edit. +#pragma once +#include +#include +#include + +namespace sysml::toolkit_table { + +inline constexpr std::string_view NAMES_DIGEST = "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351"; + +/// C symbol, result code and, for an operation, its parameters' C types joined by ';'. +struct Entry { const char* symbol; char code; const char* params; }; + +/// spec member ("Class::property" or "Class::operation()") -> C symbol and result code. +inline const std::unordered_map& funcs() { + static const std::unordered_map table = { + {"AcceptActionUsage::payloadArgument", {"sysmlv2_accept_action_usage_payload_argument", 'R', ""}}, + {"AcceptActionUsage::payloadParameter", {"sysmlv2_accept_action_usage_payload_parameter", 'R', ""}}, + {"AcceptActionUsage::receiverArgument", {"sysmlv2_accept_action_usage_receiver_argument", 'R', ""}}, + {"AcceptActionUsage::isTriggerAction()", {"sysmlv2_accept_action_usage_is_trigger_action", 'B', ""}}, + {"ActionDefinition::action", {"sysmlv2_action_definition_action", 'H', ""}}, + {"ActionUsage::actionDefinition", {"sysmlv2_action_usage_action_definition", 'H', ""}}, + {"ActionUsage::argument()", {"sysmlv2_action_usage_argument", 'R', "Str"}}, + {"ActionUsage::inputParameter()", {"sysmlv2_action_usage_input_parameter", 'R', "Str"}}, + {"ActionUsage::inputParameters()", {"sysmlv2_action_usage_input_parameters", 'H', ""}}, + {"ActionUsage::isSubactionUsage()", {"sysmlv2_action_usage_is_subaction_usage", 'B', ""}}, + {"ActorMembership::ownedActorParameter", {"sysmlv2_actor_membership_owned_actor_parameter", 'R', ""}}, + {"AllocationDefinition::allocation", {"sysmlv2_allocation_definition_allocation", 'H', ""}}, + {"AllocationUsage::allocationDefinition", {"sysmlv2_allocation_usage_allocation_definition", 'H', ""}}, + {"AnalysisCaseDefinition::resultExpression", {"sysmlv2_analysis_case_definition_result_expression", 'R', ""}}, + {"AnalysisCaseUsage::analysisCaseDefinition", {"sysmlv2_analysis_case_usage_analysis_case_definition", 'R', ""}}, + {"AnalysisCaseUsage::resultExpression", {"sysmlv2_analysis_case_usage_result_expression", 'R', ""}}, + {"AnnotatingElement::annotatedElement", {"sysmlv2_annotating_element_annotated_element", 'H', ""}}, + {"AnnotatingElement::annotation", {"sysmlv2_annotating_element_annotation", 'H', ""}}, + {"AnnotatingElement::ownedAnnotatingRelationship", {"sysmlv2_annotating_element_owned_annotating_relationship", 'H', ""}}, + {"AnnotatingElement::owningAnnotatingRelationship", {"sysmlv2_annotating_element_owning_annotating_relationship", 'R', ""}}, + {"Annotation::annotatedElement", {"sysmlv2_annotation_annotated_element", 'R', ""}}, + {"Annotation::annotatingElement", {"sysmlv2_annotation_annotating_element", 'R', ""}}, + {"Annotation::ownedAnnotatingElement", {"sysmlv2_annotation_owned_annotating_element", 'R', ""}}, + {"Annotation::owningAnnotatedElement", {"sysmlv2_annotation_owning_annotated_element", 'R', ""}}, + {"Annotation::owningAnnotatingElement", {"sysmlv2_annotation_owning_annotating_element", 'R', ""}}, + {"AssertConstraintUsage::assertedConstraint", {"sysmlv2_assert_constraint_usage_asserted_constraint", 'R', ""}}, + {"AssignmentActionUsage::referent", {"sysmlv2_assignment_action_usage_referent", 'R', ""}}, + {"AssignmentActionUsage::targetArgument", {"sysmlv2_assignment_action_usage_target_argument", 'R', ""}}, + {"AssignmentActionUsage::valueExpression", {"sysmlv2_assignment_action_usage_value_expression", 'R', ""}}, + {"Association::associationEnd", {"sysmlv2_association_association_end", 'H', ""}}, + {"Association::relatedType", {"sysmlv2_association_related_type", 'H', ""}}, + {"Association::sourceType", {"sysmlv2_association_source_type", 'R', ""}}, + {"Association::targetType", {"sysmlv2_association_target_type", 'H', ""}}, + {"AttributeUsage::attributeDefinition", {"sysmlv2_attribute_usage_attribute_definition", 'H', ""}}, + {"Behavior::parameter", {"sysmlv2_behavior_parameter", 'H', ""}}, + {"Behavior::step", {"sysmlv2_behavior_step", 'H', ""}}, + {"BooleanExpression::predicate", {"sysmlv2_boolean_expression_predicate", 'R', ""}}, + {"CalculationDefinition::calculation", {"sysmlv2_calculation_definition_calculation", 'H', ""}}, + {"CalculationUsage::calculationDefinition", {"sysmlv2_calculation_usage_calculation_definition", 'R', ""}}, + {"CaseDefinition::actorParameter", {"sysmlv2_case_definition_actor_parameter", 'H', ""}}, + {"CaseDefinition::objectiveRequirement", {"sysmlv2_case_definition_objective_requirement", 'R', ""}}, + {"CaseDefinition::subjectParameter", {"sysmlv2_case_definition_subject_parameter", 'R', ""}}, + {"CaseUsage::actorParameter", {"sysmlv2_case_usage_actor_parameter", 'H', ""}}, + {"CaseUsage::caseDefinition", {"sysmlv2_case_usage_case_definition", 'R', ""}}, + {"CaseUsage::objectiveRequirement", {"sysmlv2_case_usage_objective_requirement", 'R', ""}}, + {"CaseUsage::subjectParameter", {"sysmlv2_case_usage_subject_parameter", 'R', ""}}, + {"Classifier::ownedSubclassification", {"sysmlv2_classifier_owned_subclassification", 'H', ""}}, + {"Comment::body", {"sysmlv2_comment_body", 'S', ""}}, + {"Comment::locale", {"sysmlv2_comment_locale", 'S', ""}}, + {"ConcernUsage::concernDefinition", {"sysmlv2_concern_usage_concern_definition", 'R', ""}}, + {"ConjugatedPortDefinition::originalPortDefinition", {"sysmlv2_conjugated_port_definition_original_port_definition", 'R', ""}}, + {"ConjugatedPortDefinition::ownedPortConjugator", {"sysmlv2_conjugated_port_definition_owned_port_conjugator", 'R', ""}}, + {"ConjugatedPortTyping::conjugatedPortDefinition", {"sysmlv2_conjugated_port_typing_conjugated_port_definition", 'R', ""}}, + {"ConjugatedPortTyping::portDefinition", {"sysmlv2_conjugated_port_typing_port_definition", 'R', ""}}, + {"Conjugation::conjugatedType", {"sysmlv2_conjugation_conjugated_type", 'R', ""}}, + {"Conjugation::originalType", {"sysmlv2_conjugation_original_type", 'R', ""}}, + {"Conjugation::owningType", {"sysmlv2_conjugation_owning_type", 'R', ""}}, + {"ConnectionDefinition::connectionEnd", {"sysmlv2_connection_definition_connection_end", 'H', ""}}, + {"ConnectionUsage::connectionDefinition", {"sysmlv2_connection_usage_connection_definition", 'H', ""}}, + {"Connector::association", {"sysmlv2_connector_association", 'H', ""}}, + {"Connector::connectorEnd", {"sysmlv2_connector_connector_end", 'H', ""}}, + {"Connector::defaultFeaturingType", {"sysmlv2_connector_default_featuring_type", 'R', ""}}, + {"Connector::relatedFeature", {"sysmlv2_connector_related_feature", 'H', ""}}, + {"Connector::sourceFeature", {"sysmlv2_connector_source_feature", 'R', ""}}, + {"Connector::targetFeature", {"sysmlv2_connector_target_feature", 'H', ""}}, + {"ConstraintUsage::constraintDefinition", {"sysmlv2_constraint_usage_constraint_definition", 'R', ""}}, + {"ControlNode::multiplicityHasBounds()", {"sysmlv2_control_node_multiplicity_has_bounds", 'B', "Handle;Str;Str"}}, + {"CrossSubsetting::crossedFeature", {"sysmlv2_cross_subsetting_crossed_feature", 'R', ""}}, + {"CrossSubsetting::crossingFeature", {"sysmlv2_cross_subsetting_crossing_feature", 'R', ""}}, + {"Definition::directedUsage", {"sysmlv2_definition_directed_usage", 'H', ""}}, + {"Definition::isVariation", {"sysmlv2_definition_is_variation", 'B', ""}}, + {"Definition::ownedAction", {"sysmlv2_definition_owned_action", 'H', ""}}, + {"Definition::ownedAllocation", {"sysmlv2_definition_owned_allocation", 'H', ""}}, + {"Definition::ownedAnalysisCase", {"sysmlv2_definition_owned_analysis_case", 'H', ""}}, + {"Definition::ownedAttribute", {"sysmlv2_definition_owned_attribute", 'H', ""}}, + {"Definition::ownedCalculation", {"sysmlv2_definition_owned_calculation", 'H', ""}}, + {"Definition::ownedCase", {"sysmlv2_definition_owned_case", 'H', ""}}, + {"Definition::ownedConcern", {"sysmlv2_definition_owned_concern", 'H', ""}}, + {"Definition::ownedConnection", {"sysmlv2_definition_owned_connection", 'H', ""}}, + {"Definition::ownedConstraint", {"sysmlv2_definition_owned_constraint", 'H', ""}}, + {"Definition::ownedEnumeration", {"sysmlv2_definition_owned_enumeration", 'H', ""}}, + {"Definition::ownedFlow", {"sysmlv2_definition_owned_flow", 'H', ""}}, + {"Definition::ownedInterface", {"sysmlv2_definition_owned_interface", 'H', ""}}, + {"Definition::ownedItem", {"sysmlv2_definition_owned_item", 'H', ""}}, + {"Definition::ownedMetadata", {"sysmlv2_definition_owned_metadata", 'H', ""}}, + {"Definition::ownedOccurrence", {"sysmlv2_definition_owned_occurrence", 'H', ""}}, + {"Definition::ownedPart", {"sysmlv2_definition_owned_part", 'H', ""}}, + {"Definition::ownedPort", {"sysmlv2_definition_owned_port", 'H', ""}}, + {"Definition::ownedReference", {"sysmlv2_definition_owned_reference", 'H', ""}}, + {"Definition::ownedRendering", {"sysmlv2_definition_owned_rendering", 'H', ""}}, + {"Definition::ownedRequirement", {"sysmlv2_definition_owned_requirement", 'H', ""}}, + {"Definition::ownedState", {"sysmlv2_definition_owned_state", 'H', ""}}, + {"Definition::ownedTransition", {"sysmlv2_definition_owned_transition", 'H', ""}}, + {"Definition::ownedUsage", {"sysmlv2_definition_owned_usage", 'H', ""}}, + {"Definition::ownedUseCase", {"sysmlv2_definition_owned_use_case", 'H', ""}}, + {"Definition::ownedVerificationCase", {"sysmlv2_definition_owned_verification_case", 'H', ""}}, + {"Definition::ownedView", {"sysmlv2_definition_owned_view", 'H', ""}}, + {"Definition::ownedViewpoint", {"sysmlv2_definition_owned_viewpoint", 'H', ""}}, + {"Definition::usage", {"sysmlv2_definition_usage", 'H', ""}}, + {"Definition::variant", {"sysmlv2_definition_variant", 'H', ""}}, + {"Definition::variantMembership", {"sysmlv2_definition_variant_membership", 'H', ""}}, + {"Dependency::client", {"sysmlv2_dependency_client", 'H', ""}}, + {"Dependency::supplier", {"sysmlv2_dependency_supplier", 'H', ""}}, + {"Differencing::differencingType", {"sysmlv2_differencing_differencing_type", 'R', ""}}, + {"Differencing::typeDifferenced", {"sysmlv2_differencing_type_differenced", 'R', ""}}, + {"Disjoining::disjoiningType", {"sysmlv2_disjoining_disjoining_type", 'R', ""}}, + {"Disjoining::owningType", {"sysmlv2_disjoining_owning_type", 'R', ""}}, + {"Disjoining::typeDisjoined", {"sysmlv2_disjoining_type_disjoined", 'R', ""}}, + {"Documentation::documentedElement", {"sysmlv2_documentation_documented_element", 'R', ""}}, + {"Element::aliasIds", {"sysmlv2_element_alias_ids", 'T', ""}}, + {"Element::declaredName", {"sysmlv2_element_declared_name", 'S', ""}}, + {"Element::declaredShortName", {"sysmlv2_element_declared_short_name", 'S', ""}}, + {"Element::documentation", {"sysmlv2_element_documentation", 'H', ""}}, + {"Element::elementId", {"sysmlv2_element_element_id", 'S', ""}}, + {"Element::isImpliedIncluded", {"sysmlv2_element_is_implied_included", 'B', ""}}, + {"Element::isLibraryElement", {"sysmlv2_element_is_library_element", 'B', ""}}, + {"Element::name", {"sysmlv2_element_name", 'S', ""}}, + {"Element::ownedAnnotation", {"sysmlv2_element_owned_annotation", 'H', ""}}, + {"Element::ownedElement", {"sysmlv2_element_owned_element", 'H', ""}}, + {"Element::ownedRelationship", {"sysmlv2_element_owned_relationship", 'H', ""}}, + {"Element::owner", {"sysmlv2_element_owner", 'R', ""}}, + {"Element::owningMembership", {"sysmlv2_element_owning_membership", 'R', ""}}, + {"Element::owningNamespace", {"sysmlv2_element_owning_namespace", 'R', ""}}, + {"Element::owningRelationship", {"sysmlv2_element_owning_relationship", 'R', ""}}, + {"Element::qualifiedName", {"sysmlv2_element_qualified_name", 'S', ""}}, + {"Element::shortName", {"sysmlv2_element_short_name", 'S', ""}}, + {"Element::textualRepresentation", {"sysmlv2_element_textual_representation", 'H', ""}}, + {"Element::effectiveName()", {"sysmlv2_element_effective_name", 'S', ""}}, + {"Element::effectiveShortName()", {"sysmlv2_element_effective_short_name", 'S', ""}}, + {"Element::escapedName()", {"sysmlv2_element_escaped_name", 'S', ""}}, + {"Element::libraryNamespace()", {"sysmlv2_element_library_namespace", 'R', ""}}, + {"Element::path()", {"sysmlv2_element_path", 'S', ""}}, + {"ElementFilterMembership::condition", {"sysmlv2_element_filter_membership_condition", 'R', ""}}, + {"EnumerationDefinition::enumeratedValue", {"sysmlv2_enumeration_definition_enumerated_value", 'H', ""}}, + {"EnumerationUsage::enumerationDefinition", {"sysmlv2_enumeration_usage_enumeration_definition", 'R', ""}}, + {"EventOccurrenceUsage::eventOccurrence", {"sysmlv2_event_occurrence_usage_event_occurrence", 'R', ""}}, + {"ExhibitStateUsage::exhibitedState", {"sysmlv2_exhibit_state_usage_exhibited_state", 'R', ""}}, + {"Expression::function", {"sysmlv2_expression_function", 'R', ""}}, + {"Expression::isModelLevelEvaluable", {"sysmlv2_expression_is_model_level_evaluable", 'B', ""}}, + {"Expression::result", {"sysmlv2_expression_result", 'R', ""}}, + {"Expression::checkCondition()", {"sysmlv2_expression_check_condition", 'B', "Handle"}}, + {"Expression::evaluate()", {"sysmlv2_expression_evaluate", 'H', "Handle"}}, + {"Expression::modelLevelEvaluable()", {"sysmlv2_expression_model_level_evaluable", 'B', "Handles"}}, + {"Feature::chainingFeature", {"sysmlv2_feature_chaining_feature", 'H', ""}}, + {"Feature::crossFeature", {"sysmlv2_feature_cross_feature", 'R', ""}}, + {"Feature::direction", {"sysmlv2_feature_direction", 'S', ""}}, + {"Feature::endOwningType", {"sysmlv2_feature_end_owning_type", 'R', ""}}, + {"Feature::featureTarget", {"sysmlv2_feature_feature_target", 'R', ""}}, + {"Feature::featuringType", {"sysmlv2_feature_featuring_type", 'H', ""}}, + {"Feature::isComposite", {"sysmlv2_feature_is_composite", 'B', ""}}, + {"Feature::isConstant", {"sysmlv2_feature_is_constant", 'B', ""}}, + {"Feature::isDerived", {"sysmlv2_feature_is_derived", 'B', ""}}, + {"Feature::isEnd", {"sysmlv2_feature_is_end", 'B', ""}}, + {"Feature::isOrdered", {"sysmlv2_feature_is_ordered", 'B', ""}}, + {"Feature::isPortion", {"sysmlv2_feature_is_portion", 'B', ""}}, + {"Feature::isUnique", {"sysmlv2_feature_is_unique", 'B', ""}}, + {"Feature::isVariable", {"sysmlv2_feature_is_variable", 'B', ""}}, + {"Feature::ownedCrossSubsetting", {"sysmlv2_feature_owned_cross_subsetting", 'R', ""}}, + {"Feature::ownedFeatureChaining", {"sysmlv2_feature_owned_feature_chaining", 'H', ""}}, + {"Feature::ownedFeatureInverting", {"sysmlv2_feature_owned_feature_inverting", 'H', ""}}, + {"Feature::ownedRedefinition", {"sysmlv2_feature_owned_redefinition", 'H', ""}}, + {"Feature::ownedReferenceSubsetting", {"sysmlv2_feature_owned_reference_subsetting", 'R', ""}}, + {"Feature::ownedSubsetting", {"sysmlv2_feature_owned_subsetting", 'H', ""}}, + {"Feature::ownedTypeFeaturing", {"sysmlv2_feature_owned_type_featuring", 'H', ""}}, + {"Feature::ownedTyping", {"sysmlv2_feature_owned_typing", 'H', ""}}, + {"Feature::owningFeatureMembership", {"sysmlv2_feature_owning_feature_membership", 'R', ""}}, + {"Feature::owningType", {"sysmlv2_feature_owning_type", 'R', ""}}, + {"Feature::type", {"sysmlv2_feature_type", 'H', ""}}, + {"Feature::allRedefinedFeatures()", {"sysmlv2_feature_all_redefined_features", 'H', ""}}, + {"Feature::asCartesianProduct()", {"sysmlv2_feature_as_cartesian_product", 'H', ""}}, + {"Feature::canAccess()", {"sysmlv2_feature_can_access", 'B', "Handle"}}, + {"Feature::directionFor()", {"sysmlv2_feature_direction_for", 'S', "Handle"}}, + {"Feature::isCartesianProduct()", {"sysmlv2_feature_is_cartesian_product", 'B', ""}}, + {"Feature::isFeaturedWithin()", {"sysmlv2_feature_is_featured_within", 'B', "Handle"}}, + {"Feature::isFeaturingType()", {"sysmlv2_feature_is_featuring_type", 'B', "Handle"}}, + {"Feature::isOwnedCrossFeature()", {"sysmlv2_feature_is_owned_cross_feature", 'B', ""}}, + {"Feature::namingFeature()", {"sysmlv2_feature_naming_feature", 'R', ""}}, + {"Feature::ownedCrossFeature()", {"sysmlv2_feature_owned_cross_feature", 'R', ""}}, + {"Feature::redefines()", {"sysmlv2_feature_redefines", 'B', "Handle"}}, + {"Feature::redefinesFromLibrary()", {"sysmlv2_feature_redefines_from_library", 'B', "Str"}}, + {"Feature::subsetsChain()", {"sysmlv2_feature_subsets_chain", 'B', "Handle;Handle"}}, + {"Feature::typingFeatures()", {"sysmlv2_feature_typing_features", 'H', ""}}, + {"FeatureChainExpression::targetFeature", {"sysmlv2_feature_chain_expression_target_feature", 'R', ""}}, + {"FeatureChainExpression::sourceTargetFeature()", {"sysmlv2_feature_chain_expression_source_target_feature", 'R', ""}}, + {"FeatureChaining::chainingFeature", {"sysmlv2_feature_chaining_chaining_feature", 'R', ""}}, + {"FeatureChaining::featureChained", {"sysmlv2_feature_chaining_feature_chained", 'R', ""}}, + {"FeatureInverting::featureInverted", {"sysmlv2_feature_inverting_feature_inverted", 'R', ""}}, + {"FeatureInverting::invertingFeature", {"sysmlv2_feature_inverting_inverting_feature", 'R', ""}}, + {"FeatureInverting::owningFeature", {"sysmlv2_feature_inverting_owning_feature", 'R', ""}}, + {"FeatureMembership::ownedMemberFeature", {"sysmlv2_feature_membership_owned_member_feature", 'R', ""}}, + {"FeatureMembership::owningType", {"sysmlv2_feature_membership_owning_type", 'R', ""}}, + {"FeatureReferenceExpression::referent", {"sysmlv2_feature_reference_expression_referent", 'R', ""}}, + {"FeatureTyping::owningFeature", {"sysmlv2_feature_typing_owning_feature", 'R', ""}}, + {"FeatureTyping::type", {"sysmlv2_feature_typing_type", 'R', ""}}, + {"FeatureTyping::typedFeature", {"sysmlv2_feature_typing_typed_feature", 'R', ""}}, + {"FeatureValue::featureWithValue", {"sysmlv2_feature_value_feature_with_value", 'R', ""}}, + {"FeatureValue::isDefault", {"sysmlv2_feature_value_is_default", 'B', ""}}, + {"FeatureValue::isInitial", {"sysmlv2_feature_value_is_initial", 'B', ""}}, + {"FeatureValue::value", {"sysmlv2_feature_value_value", 'R', ""}}, + {"Flow::flowEnd", {"sysmlv2_flow_flow_end", 'H', ""}}, + {"Flow::interaction", {"sysmlv2_flow_interaction", 'H', ""}}, + {"Flow::payloadFeature", {"sysmlv2_flow_payload_feature", 'R', ""}}, + {"Flow::payloadType", {"sysmlv2_flow_payload_type", 'H', ""}}, + {"Flow::sourceOutputFeature", {"sysmlv2_flow_source_output_feature", 'R', ""}}, + {"Flow::targetInputFeature", {"sysmlv2_flow_target_input_feature", 'R', ""}}, + {"FlowDefinition::flowEnd", {"sysmlv2_flow_definition_flow_end", 'H', ""}}, + {"FlowUsage::flowDefinition", {"sysmlv2_flow_usage_flow_definition", 'H', ""}}, + {"ForLoopActionUsage::loopVariable", {"sysmlv2_for_loop_action_usage_loop_variable", 'R', ""}}, + {"ForLoopActionUsage::seqArgument", {"sysmlv2_for_loop_action_usage_seq_argument", 'R', ""}}, + {"FramedConcernMembership::ownedConcern", {"sysmlv2_framed_concern_membership_owned_concern", 'R', ""}}, + {"FramedConcernMembership::referencedConcern", {"sysmlv2_framed_concern_membership_referenced_concern", 'R', ""}}, + {"Function::expression", {"sysmlv2_function_expression", 'H', ""}}, + {"Function::isModelLevelEvaluable", {"sysmlv2_function_is_model_level_evaluable", 'B', ""}}, + {"Function::result", {"sysmlv2_function_result", 'R', ""}}, + {"IfActionUsage::elseAction", {"sysmlv2_if_action_usage_else_action", 'R', ""}}, + {"IfActionUsage::ifArgument", {"sysmlv2_if_action_usage_if_argument", 'R', ""}}, + {"IfActionUsage::thenAction", {"sysmlv2_if_action_usage_then_action", 'R', ""}}, + {"Import::importOwningNamespace", {"sysmlv2_import_import_owning_namespace", 'R', ""}}, + {"Import::importedElement", {"sysmlv2_import_imported_element", 'R', ""}}, + {"Import::isImportAll", {"sysmlv2_import_is_import_all", 'B', ""}}, + {"Import::isRecursive", {"sysmlv2_import_is_recursive", 'B', ""}}, + {"Import::visibility", {"sysmlv2_import_visibility", 'S', ""}}, + {"Import::importedMemberships()", {"sysmlv2_import_imported_memberships", 'H', "Handles"}}, + {"IncludeUseCaseUsage::useCaseIncluded", {"sysmlv2_include_use_case_usage_use_case_included", 'R', ""}}, + {"InstantiationExpression::argument", {"sysmlv2_instantiation_expression_argument", 'H', ""}}, + {"InstantiationExpression::instantiatedType", {"sysmlv2_instantiation_expression_instantiated_type", 'R', ""}}, + {"InstantiationExpression::instantiatedType()", {"sysmlv2_instantiation_expression_instantiated_type_op", 'R', ""}}, + {"InterfaceDefinition::interfaceEnd", {"sysmlv2_interface_definition_interface_end", 'H', ""}}, + {"InterfaceUsage::interfaceDefinition", {"sysmlv2_interface_usage_interface_definition", 'H', ""}}, + {"Intersecting::intersectingType", {"sysmlv2_intersecting_intersecting_type", 'R', ""}}, + {"Intersecting::typeIntersected", {"sysmlv2_intersecting_type_intersected", 'R', ""}}, + {"Invariant::isNegated", {"sysmlv2_invariant_is_negated", 'B', ""}}, + {"ItemUsage::itemDefinition", {"sysmlv2_item_usage_item_definition", 'H', ""}}, + {"LibraryPackage::isStandard", {"sysmlv2_library_package_is_standard", 'B', ""}}, + {"LiteralBoolean::value", {"sysmlv2_literal_boolean_value", 'B', ""}}, + {"LiteralInteger::value", {"sysmlv2_literal_integer_value", 'I', ""}}, + {"LiteralRational::value", {"sysmlv2_literal_rational_value", 'F', ""}}, + {"LiteralString::value", {"sysmlv2_literal_string_value", 'S', ""}}, + {"LoopActionUsage::bodyAction", {"sysmlv2_loop_action_usage_body_action", 'R', ""}}, + {"Membership::memberElement", {"sysmlv2_membership_member_element", 'R', ""}}, + {"Membership::memberElementId", {"sysmlv2_membership_member_element_id", 'S', ""}}, + {"Membership::memberName", {"sysmlv2_membership_member_name", 'S', ""}}, + {"Membership::memberShortName", {"sysmlv2_membership_member_short_name", 'S', ""}}, + {"Membership::membershipOwningNamespace", {"sysmlv2_membership_membership_owning_namespace", 'R', ""}}, + {"Membership::visibility", {"sysmlv2_membership_visibility", 'S', ""}}, + {"Membership::isDistinguishableFrom()", {"sysmlv2_membership_is_distinguishable_from", 'B', "Handle"}}, + {"MembershipImport::importedMembership", {"sysmlv2_membership_import_imported_membership", 'R', ""}}, + {"MetadataAccessExpression::referencedElement", {"sysmlv2_metadata_access_expression_referenced_element", 'R', ""}}, + {"MetadataAccessExpression::metaclassFeature()", {"sysmlv2_metadata_access_expression_metaclass_feature", 'R', ""}}, + {"MetadataFeature::metaclass", {"sysmlv2_metadata_feature_metaclass", 'R', ""}}, + {"MetadataFeature::evaluateFeature()", {"sysmlv2_metadata_feature_evaluate_feature", 'H', "Handle"}}, + {"MetadataFeature::isSemantic()", {"sysmlv2_metadata_feature_is_semantic", 'B', ""}}, + {"MetadataFeature::isSyntactic()", {"sysmlv2_metadata_feature_is_syntactic", 'B', ""}}, + {"MetadataFeature::syntaxElement()", {"sysmlv2_metadata_feature_syntax_element", 'R', ""}}, + {"MetadataUsage::metadataDefinition", {"sysmlv2_metadata_usage_metadata_definition", 'R', ""}}, + {"MultiplicityRange::bound", {"sysmlv2_multiplicity_range_bound", 'H', ""}}, + {"MultiplicityRange::lowerBound", {"sysmlv2_multiplicity_range_lower_bound", 'R', ""}}, + {"MultiplicityRange::upperBound", {"sysmlv2_multiplicity_range_upper_bound", 'R', ""}}, + {"MultiplicityRange::hasBounds()", {"sysmlv2_multiplicity_range_has_bounds", 'B', "Str;Str"}}, + {"MultiplicityRange::valueOf()", {"sysmlv2_multiplicity_range_value_of", 'I', "Handle"}}, + {"Namespace::importedMembership", {"sysmlv2_namespace_imported_membership", 'H', ""}}, + {"Namespace::member", {"sysmlv2_namespace_member", 'H', ""}}, + {"Namespace::membership", {"sysmlv2_namespace_membership", 'H', ""}}, + {"Namespace::ownedImport", {"sysmlv2_namespace_owned_import", 'H', ""}}, + {"Namespace::ownedMember", {"sysmlv2_namespace_owned_member", 'H', ""}}, + {"Namespace::ownedMembership", {"sysmlv2_namespace_owned_membership", 'H', ""}}, + {"Namespace::importedMemberships()", {"sysmlv2_namespace_imported_memberships", 'H', "Handles"}}, + {"Namespace::membershipsOfVisibility()", {"sysmlv2_namespace_memberships_of_visibility", 'H', "Str;Handles"}}, + {"Namespace::namesOf()", {"sysmlv2_namespace_names_of", 'T', "Handle"}}, + {"Namespace::qualificationOf()", {"sysmlv2_namespace_qualification_of", 'S', "Str"}}, + {"Namespace::resolve()", {"sysmlv2_namespace_resolve", 'R', "Str"}}, + {"Namespace::resolveGlobal()", {"sysmlv2_namespace_resolve_global", 'R', "Str"}}, + {"Namespace::resolveLocal()", {"sysmlv2_namespace_resolve_local", 'R', "Str"}}, + {"Namespace::resolveVisible()", {"sysmlv2_namespace_resolve_visible", 'R', "Str"}}, + {"Namespace::unqualifiedNameOf()", {"sysmlv2_namespace_unqualified_name_of", 'S', "Str"}}, + {"Namespace::visibilityOf()", {"sysmlv2_namespace_visibility_of", 'S', "Handle"}}, + {"Namespace::visibleMemberships()", {"sysmlv2_namespace_visible_memberships", 'H', "Handles;bool;bool"}}, + {"NamespaceImport::importedNamespace", {"sysmlv2_namespace_import_imported_namespace", 'R', ""}}, + {"ObjectiveMembership::ownedObjectiveRequirement", {"sysmlv2_objective_membership_owned_objective_requirement", 'R', ""}}, + {"OccurrenceDefinition::isIndividual", {"sysmlv2_occurrence_definition_is_individual", 'B', ""}}, + {"OccurrenceUsage::individualDefinition", {"sysmlv2_occurrence_usage_individual_definition", 'R', ""}}, + {"OccurrenceUsage::isIndividual", {"sysmlv2_occurrence_usage_is_individual", 'B', ""}}, + {"OccurrenceUsage::occurrenceDefinition", {"sysmlv2_occurrence_usage_occurrence_definition", 'H', ""}}, + {"OccurrenceUsage::portionKind", {"sysmlv2_occurrence_usage_portion_kind", 'S', ""}}, + {"OperatorExpression::operator", {"sysmlv2_operator_expression_operator", 'S', ""}}, + {"OwningMembership::ownedMemberElement", {"sysmlv2_owning_membership_owned_member_element", 'R', ""}}, + {"OwningMembership::ownedMemberElementId", {"sysmlv2_owning_membership_owned_member_element_id", 'S', ""}}, + {"OwningMembership::ownedMemberName", {"sysmlv2_owning_membership_owned_member_name", 'S', ""}}, + {"OwningMembership::ownedMemberShortName", {"sysmlv2_owning_membership_owned_member_short_name", 'S', ""}}, + {"Package::filterCondition", {"sysmlv2_package_filter_condition", 'H', ""}}, + {"Package::includeAsMember()", {"sysmlv2_package_include_as_member", 'B', "Handle"}}, + {"ParameterMembership::ownedMemberParameter", {"sysmlv2_parameter_membership_owned_member_parameter", 'R', ""}}, + {"ParameterMembership::parameterDirection()", {"sysmlv2_parameter_membership_parameter_direction", 'S', ""}}, + {"PartUsage::partDefinition", {"sysmlv2_part_usage_part_definition", 'H', ""}}, + {"PerformActionUsage::performedAction", {"sysmlv2_perform_action_usage_performed_action", 'R', ""}}, + {"PortConjugation::conjugatedPortDefinition", {"sysmlv2_port_conjugation_conjugated_port_definition", 'R', ""}}, + {"PortConjugation::originalPortDefinition", {"sysmlv2_port_conjugation_original_port_definition", 'R', ""}}, + {"PortDefinition::conjugatedPortDefinition", {"sysmlv2_port_definition_conjugated_port_definition", 'R', ""}}, + {"PortUsage::portDefinition", {"sysmlv2_port_usage_port_definition", 'H', ""}}, + {"Redefinition::redefinedFeature", {"sysmlv2_redefinition_redefined_feature", 'R', ""}}, + {"Redefinition::redefiningFeature", {"sysmlv2_redefinition_redefining_feature", 'R', ""}}, + {"ReferenceSubsetting::referencedFeature", {"sysmlv2_reference_subsetting_referenced_feature", 'R', ""}}, + {"ReferenceSubsetting::referencingFeature", {"sysmlv2_reference_subsetting_referencing_feature", 'R', ""}}, + {"Relationship::isImplied", {"sysmlv2_relationship_is_implied", 'B', ""}}, + {"Relationship::ownedRelatedElement", {"sysmlv2_relationship_owned_related_element", 'H', ""}}, + {"Relationship::owningRelatedElement", {"sysmlv2_relationship_owning_related_element", 'R', ""}}, + {"Relationship::relatedElement", {"sysmlv2_relationship_related_element", 'H', ""}}, + {"Relationship::source", {"sysmlv2_relationship_source", 'H', ""}}, + {"Relationship::target", {"sysmlv2_relationship_target", 'H', ""}}, + {"RenderingDefinition::rendering", {"sysmlv2_rendering_definition_rendering", 'H', ""}}, + {"RenderingUsage::renderingDefinition", {"sysmlv2_rendering_usage_rendering_definition", 'R', ""}}, + {"RequirementConstraintMembership::kind", {"sysmlv2_requirement_constraint_membership_kind", 'S', ""}}, + {"RequirementConstraintMembership::ownedConstraint", {"sysmlv2_requirement_constraint_membership_owned_constraint", 'R', ""}}, + {"RequirementConstraintMembership::referencedConstraint", {"sysmlv2_requirement_constraint_membership_referenced_constraint", 'R', ""}}, + {"RequirementDefinition::actorParameter", {"sysmlv2_requirement_definition_actor_parameter", 'H', ""}}, + {"RequirementDefinition::assumedConstraint", {"sysmlv2_requirement_definition_assumed_constraint", 'H', ""}}, + {"RequirementDefinition::framedConcern", {"sysmlv2_requirement_definition_framed_concern", 'H', ""}}, + {"RequirementDefinition::reqId", {"sysmlv2_requirement_definition_req_id", 'S', ""}}, + {"RequirementDefinition::requiredConstraint", {"sysmlv2_requirement_definition_required_constraint", 'H', ""}}, + {"RequirementDefinition::stakeholderParameter", {"sysmlv2_requirement_definition_stakeholder_parameter", 'H', ""}}, + {"RequirementDefinition::subjectParameter", {"sysmlv2_requirement_definition_subject_parameter", 'R', ""}}, + {"RequirementDefinition::text", {"sysmlv2_requirement_definition_text", 'T', ""}}, + {"RequirementUsage::actorParameter", {"sysmlv2_requirement_usage_actor_parameter", 'H', ""}}, + {"RequirementUsage::assumedConstraint", {"sysmlv2_requirement_usage_assumed_constraint", 'H', ""}}, + {"RequirementUsage::framedConcern", {"sysmlv2_requirement_usage_framed_concern", 'H', ""}}, + {"RequirementUsage::reqId", {"sysmlv2_requirement_usage_req_id", 'S', ""}}, + {"RequirementUsage::requiredConstraint", {"sysmlv2_requirement_usage_required_constraint", 'H', ""}}, + {"RequirementUsage::requirementDefinition", {"sysmlv2_requirement_usage_requirement_definition", 'R', ""}}, + {"RequirementUsage::stakeholderParameter", {"sysmlv2_requirement_usage_stakeholder_parameter", 'H', ""}}, + {"RequirementUsage::subjectParameter", {"sysmlv2_requirement_usage_subject_parameter", 'R', ""}}, + {"RequirementUsage::text", {"sysmlv2_requirement_usage_text", 'T', ""}}, + {"RequirementVerificationMembership::ownedRequirement", {"sysmlv2_requirement_verification_membership_owned_requirement", 'R', ""}}, + {"RequirementVerificationMembership::verifiedRequirement", {"sysmlv2_requirement_verification_membership_verified_requirement", 'R', ""}}, + {"ResultExpressionMembership::ownedResultExpression", {"sysmlv2_result_expression_membership_owned_result_expression", 'R', ""}}, + {"SatisfyRequirementUsage::satisfiedRequirement", {"sysmlv2_satisfy_requirement_usage_satisfied_requirement", 'R', ""}}, + {"SatisfyRequirementUsage::satisfyingFeature", {"sysmlv2_satisfy_requirement_usage_satisfying_feature", 'R', ""}}, + {"SendActionUsage::payloadArgument", {"sysmlv2_send_action_usage_payload_argument", 'R', ""}}, + {"SendActionUsage::receiverArgument", {"sysmlv2_send_action_usage_receiver_argument", 'R', ""}}, + {"SendActionUsage::senderArgument", {"sysmlv2_send_action_usage_sender_argument", 'R', ""}}, + {"Specialization::general", {"sysmlv2_specialization_general", 'R', ""}}, + {"Specialization::owningType", {"sysmlv2_specialization_owning_type", 'R', ""}}, + {"Specialization::specific", {"sysmlv2_specialization_specific", 'R', ""}}, + {"StakeholderMembership::ownedStakeholderParameter", {"sysmlv2_stakeholder_membership_owned_stakeholder_parameter", 'R', ""}}, + {"StateDefinition::doAction", {"sysmlv2_state_definition_do_action", 'R', ""}}, + {"StateDefinition::entryAction", {"sysmlv2_state_definition_entry_action", 'R', ""}}, + {"StateDefinition::exitAction", {"sysmlv2_state_definition_exit_action", 'R', ""}}, + {"StateDefinition::isParallel", {"sysmlv2_state_definition_is_parallel", 'B', ""}}, + {"StateDefinition::state", {"sysmlv2_state_definition_state", 'H', ""}}, + {"StateSubactionMembership::action", {"sysmlv2_state_subaction_membership_action", 'R', ""}}, + {"StateSubactionMembership::kind", {"sysmlv2_state_subaction_membership_kind", 'S', ""}}, + {"StateUsage::doAction", {"sysmlv2_state_usage_do_action", 'R', ""}}, + {"StateUsage::entryAction", {"sysmlv2_state_usage_entry_action", 'R', ""}}, + {"StateUsage::exitAction", {"sysmlv2_state_usage_exit_action", 'R', ""}}, + {"StateUsage::isParallel", {"sysmlv2_state_usage_is_parallel", 'B', ""}}, + {"StateUsage::stateDefinition", {"sysmlv2_state_usage_state_definition", 'H', ""}}, + {"StateUsage::isSubstateUsage()", {"sysmlv2_state_usage_is_substate_usage", 'B', "bool"}}, + {"Step::behavior", {"sysmlv2_step_behavior", 'H', ""}}, + {"Step::parameter", {"sysmlv2_step_parameter", 'H', ""}}, + {"Subclassification::owningClassifier", {"sysmlv2_subclassification_owning_classifier", 'R', ""}}, + {"Subclassification::subclassifier", {"sysmlv2_subclassification_subclassifier", 'R', ""}}, + {"Subclassification::superclassifier", {"sysmlv2_subclassification_superclassifier", 'R', ""}}, + {"SubjectMembership::ownedSubjectParameter", {"sysmlv2_subject_membership_owned_subject_parameter", 'R', ""}}, + {"Subsetting::owningFeature", {"sysmlv2_subsetting_owning_feature", 'R', ""}}, + {"Subsetting::subsettedFeature", {"sysmlv2_subsetting_subsetted_feature", 'R', ""}}, + {"Subsetting::subsettingFeature", {"sysmlv2_subsetting_subsetting_feature", 'R', ""}}, + {"TerminateActionUsage::terminatedOccurrenceArgument", {"sysmlv2_terminate_action_usage_terminated_occurrence_argument", 'R', ""}}, + {"TextualRepresentation::body", {"sysmlv2_textual_representation_body", 'S', ""}}, + {"TextualRepresentation::language", {"sysmlv2_textual_representation_language", 'S', ""}}, + {"TextualRepresentation::representedElement", {"sysmlv2_textual_representation_represented_element", 'R', ""}}, + {"TransitionFeatureMembership::kind", {"sysmlv2_transition_feature_membership_kind", 'S', ""}}, + {"TransitionFeatureMembership::transitionFeature", {"sysmlv2_transition_feature_membership_transition_feature", 'R', ""}}, + {"TransitionUsage::effectAction", {"sysmlv2_transition_usage_effect_action", 'H', ""}}, + {"TransitionUsage::guardExpression", {"sysmlv2_transition_usage_guard_expression", 'H', ""}}, + {"TransitionUsage::source", {"sysmlv2_transition_usage_source", 'R', ""}}, + {"TransitionUsage::succession", {"sysmlv2_transition_usage_succession", 'R', ""}}, + {"TransitionUsage::target", {"sysmlv2_transition_usage_target", 'R', ""}}, + {"TransitionUsage::triggerAction", {"sysmlv2_transition_usage_trigger_action", 'H', ""}}, + {"TransitionUsage::sourceFeature()", {"sysmlv2_transition_usage_source_feature", 'R', ""}}, + {"TransitionUsage::triggerPayloadParameter()", {"sysmlv2_transition_usage_trigger_payload_parameter", 'R', ""}}, + {"TriggerInvocationExpression::kind", {"sysmlv2_trigger_invocation_expression_kind", 'S', ""}}, + {"Type::differencingType", {"sysmlv2_type_differencing_type", 'H', ""}}, + {"Type::directedFeature", {"sysmlv2_type_directed_feature", 'H', ""}}, + {"Type::endFeature", {"sysmlv2_type_end_feature", 'H', ""}}, + {"Type::feature", {"sysmlv2_type_feature", 'H', ""}}, + {"Type::featureMembership", {"sysmlv2_type_feature_membership", 'H', ""}}, + {"Type::inheritedFeature", {"sysmlv2_type_inherited_feature", 'H', ""}}, + {"Type::inheritedMembership", {"sysmlv2_type_inherited_membership", 'H', ""}}, + {"Type::input", {"sysmlv2_type_input", 'H', ""}}, + {"Type::intersectingType", {"sysmlv2_type_intersecting_type", 'H', ""}}, + {"Type::isAbstract", {"sysmlv2_type_is_abstract", 'B', ""}}, + {"Type::isConjugated", {"sysmlv2_type_is_conjugated", 'B', ""}}, + {"Type::isSufficient", {"sysmlv2_type_is_sufficient", 'B', ""}}, + {"Type::multiplicity", {"sysmlv2_type_multiplicity", 'R', ""}}, + {"Type::output", {"sysmlv2_type_output", 'H', ""}}, + {"Type::ownedConjugator", {"sysmlv2_type_owned_conjugator", 'R', ""}}, + {"Type::ownedDifferencing", {"sysmlv2_type_owned_differencing", 'H', ""}}, + {"Type::ownedDisjoining", {"sysmlv2_type_owned_disjoining", 'H', ""}}, + {"Type::ownedEndFeature", {"sysmlv2_type_owned_end_feature", 'H', ""}}, + {"Type::ownedFeature", {"sysmlv2_type_owned_feature", 'H', ""}}, + {"Type::ownedFeatureMembership", {"sysmlv2_type_owned_feature_membership", 'H', ""}}, + {"Type::ownedIntersecting", {"sysmlv2_type_owned_intersecting", 'H', ""}}, + {"Type::ownedSpecialization", {"sysmlv2_type_owned_specialization", 'H', ""}}, + {"Type::ownedUnioning", {"sysmlv2_type_owned_unioning", 'H', ""}}, + {"Type::unioningType", {"sysmlv2_type_unioning_type", 'H', ""}}, + {"Type::allRedefinedFeaturesOf()", {"sysmlv2_type_all_redefined_features_of", 'H', "Handle"}}, + {"Type::allSupertypes()", {"sysmlv2_type_all_supertypes", 'H', ""}}, + {"Type::directionOf()", {"sysmlv2_type_direction_of", 'S', "Handle"}}, + {"Type::directionOfExcluding()", {"sysmlv2_type_direction_of_excluding", 'S', "Handle;Handles"}}, + {"Type::inheritableMemberships()", {"sysmlv2_type_inheritable_memberships", 'H', "Handles;Handles;bool"}}, + {"Type::inheritedMemberships()", {"sysmlv2_type_inherited_memberships", 'H', "Handles;Handles;bool"}}, + {"Type::isCompatibleWith()", {"sysmlv2_type_is_compatible_with", 'B', "Handle"}}, + {"Type::multiplicities()", {"sysmlv2_type_multiplicities", 'H', ""}}, + {"Type::nonPrivateMemberships()", {"sysmlv2_type_non_private_memberships", 'H', "Handles;Handles;bool"}}, + {"Type::removeRedefinedFeatures()", {"sysmlv2_type_remove_redefined_features", 'H', "Handles"}}, + {"Type::specializes()", {"sysmlv2_type_specializes", 'B', "Handle"}}, + {"Type::specializesFromLibrary()", {"sysmlv2_type_specializes_from_library", 'B', "Str"}}, + {"Type::supertypes()", {"sysmlv2_type_supertypes", 'H', "bool"}}, + {"TypeFeaturing::featureOfType", {"sysmlv2_type_featuring_feature_of_type", 'R', ""}}, + {"TypeFeaturing::featuringType", {"sysmlv2_type_featuring_featuring_type", 'R', ""}}, + {"TypeFeaturing::owningFeatureOfType", {"sysmlv2_type_featuring_owning_feature_of_type", 'R', ""}}, + {"Unioning::typeUnioned", {"sysmlv2_unioning_type_unioned", 'R', ""}}, + {"Unioning::unioningType", {"sysmlv2_unioning_unioning_type", 'R', ""}}, + {"Usage::definition", {"sysmlv2_usage_definition", 'H', ""}}, + {"Usage::directedUsage", {"sysmlv2_usage_directed_usage", 'H', ""}}, + {"Usage::isReference", {"sysmlv2_usage_is_reference", 'B', ""}}, + {"Usage::isVariation", {"sysmlv2_usage_is_variation", 'B', ""}}, + {"Usage::mayTimeVary", {"sysmlv2_usage_may_time_vary", 'B', ""}}, + {"Usage::nestedAction", {"sysmlv2_usage_nested_action", 'H', ""}}, + {"Usage::nestedAllocation", {"sysmlv2_usage_nested_allocation", 'H', ""}}, + {"Usage::nestedAnalysisCase", {"sysmlv2_usage_nested_analysis_case", 'H', ""}}, + {"Usage::nestedAttribute", {"sysmlv2_usage_nested_attribute", 'H', ""}}, + {"Usage::nestedCalculation", {"sysmlv2_usage_nested_calculation", 'H', ""}}, + {"Usage::nestedCase", {"sysmlv2_usage_nested_case", 'H', ""}}, + {"Usage::nestedConcern", {"sysmlv2_usage_nested_concern", 'H', ""}}, + {"Usage::nestedConnection", {"sysmlv2_usage_nested_connection", 'H', ""}}, + {"Usage::nestedConstraint", {"sysmlv2_usage_nested_constraint", 'H', ""}}, + {"Usage::nestedEnumeration", {"sysmlv2_usage_nested_enumeration", 'H', ""}}, + {"Usage::nestedFlow", {"sysmlv2_usage_nested_flow", 'H', ""}}, + {"Usage::nestedInterface", {"sysmlv2_usage_nested_interface", 'H', ""}}, + {"Usage::nestedItem", {"sysmlv2_usage_nested_item", 'H', ""}}, + {"Usage::nestedMetadata", {"sysmlv2_usage_nested_metadata", 'H', ""}}, + {"Usage::nestedOccurrence", {"sysmlv2_usage_nested_occurrence", 'H', ""}}, + {"Usage::nestedPart", {"sysmlv2_usage_nested_part", 'H', ""}}, + {"Usage::nestedPort", {"sysmlv2_usage_nested_port", 'H', ""}}, + {"Usage::nestedReference", {"sysmlv2_usage_nested_reference", 'H', ""}}, + {"Usage::nestedRendering", {"sysmlv2_usage_nested_rendering", 'H', ""}}, + {"Usage::nestedRequirement", {"sysmlv2_usage_nested_requirement", 'H', ""}}, + {"Usage::nestedState", {"sysmlv2_usage_nested_state", 'H', ""}}, + {"Usage::nestedTransition", {"sysmlv2_usage_nested_transition", 'H', ""}}, + {"Usage::nestedUsage", {"sysmlv2_usage_nested_usage", 'H', ""}}, + {"Usage::nestedUseCase", {"sysmlv2_usage_nested_use_case", 'H', ""}}, + {"Usage::nestedVerificationCase", {"sysmlv2_usage_nested_verification_case", 'H', ""}}, + {"Usage::nestedView", {"sysmlv2_usage_nested_view", 'H', ""}}, + {"Usage::nestedViewpoint", {"sysmlv2_usage_nested_viewpoint", 'H', ""}}, + {"Usage::owningDefinition", {"sysmlv2_usage_owning_definition", 'R', ""}}, + {"Usage::owningUsage", {"sysmlv2_usage_owning_usage", 'R', ""}}, + {"Usage::usage", {"sysmlv2_usage_usage", 'H', ""}}, + {"Usage::variant", {"sysmlv2_usage_variant", 'H', ""}}, + {"Usage::variantMembership", {"sysmlv2_usage_variant_membership", 'H', ""}}, + {"Usage::referencedFeatureTarget()", {"sysmlv2_usage_referenced_feature_target", 'R', ""}}, + {"UseCaseDefinition::includedUseCase", {"sysmlv2_use_case_definition_included_use_case", 'H', ""}}, + {"UseCaseUsage::includedUseCase", {"sysmlv2_use_case_usage_included_use_case", 'H', ""}}, + {"UseCaseUsage::useCaseDefinition", {"sysmlv2_use_case_usage_use_case_definition", 'R', ""}}, + {"VariantMembership::ownedVariantUsage", {"sysmlv2_variant_membership_owned_variant_usage", 'R', ""}}, + {"VerificationCaseDefinition::verifiedRequirement", {"sysmlv2_verification_case_definition_verified_requirement", 'H', ""}}, + {"VerificationCaseUsage::verificationCaseDefinition", {"sysmlv2_verification_case_usage_verification_case_definition", 'R', ""}}, + {"VerificationCaseUsage::verifiedRequirement", {"sysmlv2_verification_case_usage_verified_requirement", 'H', ""}}, + {"ViewDefinition::satisfiedViewpoint", {"sysmlv2_view_definition_satisfied_viewpoint", 'H', ""}}, + {"ViewDefinition::view", {"sysmlv2_view_definition_view", 'H', ""}}, + {"ViewDefinition::viewCondition", {"sysmlv2_view_definition_view_condition", 'H', ""}}, + {"ViewDefinition::viewRendering", {"sysmlv2_view_definition_view_rendering", 'R', ""}}, + {"ViewRenderingMembership::ownedRendering", {"sysmlv2_view_rendering_membership_owned_rendering", 'R', ""}}, + {"ViewRenderingMembership::referencedRendering", {"sysmlv2_view_rendering_membership_referenced_rendering", 'R', ""}}, + {"ViewUsage::exposedElement", {"sysmlv2_view_usage_exposed_element", 'H', ""}}, + {"ViewUsage::satisfiedViewpoint", {"sysmlv2_view_usage_satisfied_viewpoint", 'H', ""}}, + {"ViewUsage::viewCondition", {"sysmlv2_view_usage_view_condition", 'H', ""}}, + {"ViewUsage::viewDefinition", {"sysmlv2_view_usage_view_definition", 'R', ""}}, + {"ViewUsage::viewRendering", {"sysmlv2_view_usage_view_rendering", 'R', ""}}, + {"ViewUsage::includeAsExposed()", {"sysmlv2_view_usage_include_as_exposed", 'B', "Handle"}}, + {"ViewpointDefinition::viewpointStakeholder", {"sysmlv2_viewpoint_definition_viewpoint_stakeholder", 'H', ""}}, + {"ViewpointUsage::viewpointDefinition", {"sysmlv2_viewpoint_usage_viewpoint_definition", 'R', ""}}, + {"ViewpointUsage::viewpointStakeholder", {"sysmlv2_viewpoint_usage_viewpoint_stakeholder", 'H', ""}}, + {"WhileLoopActionUsage::untilArgument", {"sysmlv2_while_loop_action_usage_until_argument", 'R', ""}}, + {"WhileLoopActionUsage::whileArgument", {"sysmlv2_while_loop_action_usage_while_argument", 'R', ""}}, + }; + return table; +} + +/// class -> direct bases. +inline const std::unordered_map>& bases() { + static const std::unordered_map> table = { + {"AcceptActionUsage", {"ActionUsage"}}, + {"ActionDefinition", {"OccurrenceDefinition", "Behavior"}}, + {"ActionUsage", {"Step", "OccurrenceUsage"}}, + {"ActorMembership", {"ParameterMembership"}}, + {"AllocationDefinition", {"ConnectionDefinition"}}, + {"AllocationUsage", {"ConnectionUsage"}}, + {"AnalysisCaseDefinition", {"CaseDefinition"}}, + {"AnalysisCaseUsage", {"CaseUsage"}}, + {"AnnotatingElement", {"Element"}}, + {"Annotation", {"Relationship"}}, + {"AssertConstraintUsage", {"Invariant", "ConstraintUsage"}}, + {"AssignmentActionUsage", {"ActionUsage"}}, + {"Association", {"Classifier", "Relationship"}}, + {"AssociationStructure", {"Structure", "Association"}}, + {"AttributeDefinition", {"DataType", "Definition"}}, + {"AttributeUsage", {"Usage"}}, + {"Behavior", {"Class"}}, + {"BindingConnector", {"Connector"}}, + {"BindingConnectorAsUsage", {"BindingConnector", "ConnectorAsUsage"}}, + {"BooleanExpression", {"Expression"}}, + {"CalculationDefinition", {"ActionDefinition", "Function"}}, + {"CalculationUsage", {"Expression", "ActionUsage"}}, + {"CaseDefinition", {"CalculationDefinition"}}, + {"CaseUsage", {"CalculationUsage"}}, + {"Class", {"Classifier"}}, + {"Classifier", {"Type"}}, + {"CollectExpression", {"OperatorExpression"}}, + {"Comment", {"AnnotatingElement"}}, + {"ConcernDefinition", {"RequirementDefinition"}}, + {"ConcernUsage", {"RequirementUsage"}}, + {"ConjugatedPortDefinition", {"PortDefinition"}}, + {"ConjugatedPortTyping", {"FeatureTyping"}}, + {"Conjugation", {"Relationship"}}, + {"ConnectionDefinition", {"AssociationStructure", "PartDefinition"}}, + {"ConnectionUsage", {"PartUsage", "ConnectorAsUsage"}}, + {"Connector", {"Feature", "Relationship"}}, + {"ConnectorAsUsage", {"Usage", "Connector"}}, + {"ConstraintDefinition", {"OccurrenceDefinition", "Predicate"}}, + {"ConstraintUsage", {"OccurrenceUsage", "BooleanExpression"}}, + {"ConstructorExpression", {"InstantiationExpression"}}, + {"ControlNode", {"ActionUsage"}}, + {"CrossSubsetting", {"Subsetting"}}, + {"DataType", {"Classifier"}}, + {"DecisionNode", {"ControlNode"}}, + {"Definition", {"Classifier"}}, + {"Dependency", {"Relationship"}}, + {"Differencing", {"Relationship"}}, + {"Disjoining", {"Relationship"}}, + {"Documentation", {"Comment"}}, + {"Element", {}}, + {"ElementFilterMembership", {"OwningMembership"}}, + {"EndFeatureMembership", {"FeatureMembership"}}, + {"EnumerationDefinition", {"AttributeDefinition"}}, + {"EnumerationUsage", {"AttributeUsage"}}, + {"EventOccurrenceUsage", {"OccurrenceUsage"}}, + {"ExhibitStateUsage", {"PerformActionUsage", "StateUsage"}}, + {"Expose", {"Import"}}, + {"Expression", {"Step"}}, + {"Feature", {"Type"}}, + {"FeatureChainExpression", {"OperatorExpression"}}, + {"FeatureChaining", {"Relationship"}}, + {"FeatureInverting", {"Relationship"}}, + {"FeatureMembership", {"OwningMembership"}}, + {"FeatureReferenceExpression", {"Expression"}}, + {"FeatureTyping", {"Specialization"}}, + {"FeatureValue", {"OwningMembership"}}, + {"Flow", {"Connector", "Step"}}, + {"FlowDefinition", {"ActionDefinition", "Interaction"}}, + {"FlowEnd", {"Feature"}}, + {"FlowUsage", {"ConnectorAsUsage", "Flow", "ActionUsage"}}, + {"ForLoopActionUsage", {"LoopActionUsage"}}, + {"ForkNode", {"ControlNode"}}, + {"FramedConcernMembership", {"RequirementConstraintMembership"}}, + {"Function", {"Behavior"}}, + {"IfActionUsage", {"ActionUsage"}}, + {"Import", {"Relationship"}}, + {"IncludeUseCaseUsage", {"UseCaseUsage", "PerformActionUsage"}}, + {"IndexExpression", {"OperatorExpression"}}, + {"InstantiationExpression", {"Expression"}}, + {"Interaction", {"Association", "Behavior"}}, + {"InterfaceDefinition", {"ConnectionDefinition"}}, + {"InterfaceUsage", {"ConnectionUsage"}}, + {"Intersecting", {"Relationship"}}, + {"Invariant", {"BooleanExpression"}}, + {"InvocationExpression", {"InstantiationExpression"}}, + {"ItemDefinition", {"Structure", "OccurrenceDefinition"}}, + {"ItemUsage", {"OccurrenceUsage"}}, + {"JoinNode", {"ControlNode"}}, + {"LibraryPackage", {"Package"}}, + {"LiteralBoolean", {"LiteralExpression"}}, + {"LiteralExpression", {"Expression"}}, + {"LiteralInfinity", {"LiteralExpression"}}, + {"LiteralInteger", {"LiteralExpression"}}, + {"LiteralRational", {"LiteralExpression"}}, + {"LiteralString", {"LiteralExpression"}}, + {"LoopActionUsage", {"ActionUsage"}}, + {"Membership", {"Relationship"}}, + {"MembershipExpose", {"MembershipImport", "Expose"}}, + {"MembershipImport", {"Import"}}, + {"MergeNode", {"ControlNode"}}, + {"Metaclass", {"Structure"}}, + {"MetadataAccessExpression", {"Expression"}}, + {"MetadataDefinition", {"ItemDefinition", "Metaclass"}}, + {"MetadataFeature", {"AnnotatingElement", "Feature"}}, + {"MetadataUsage", {"MetadataFeature", "ItemUsage"}}, + {"Multiplicity", {"Feature"}}, + {"MultiplicityRange", {"Multiplicity"}}, + {"Namespace", {"Element"}}, + {"NamespaceExpose", {"Expose", "NamespaceImport"}}, + {"NamespaceImport", {"Import"}}, + {"NullExpression", {"Expression"}}, + {"ObjectiveMembership", {"FeatureMembership"}}, + {"OccurrenceDefinition", {"Definition", "Class"}}, + {"OccurrenceUsage", {"Usage"}}, + {"OperatorExpression", {"InvocationExpression"}}, + {"OwningMembership", {"Membership"}}, + {"Package", {"Namespace"}}, + {"ParameterMembership", {"FeatureMembership"}}, + {"PartDefinition", {"ItemDefinition"}}, + {"PartUsage", {"ItemUsage"}}, + {"PayloadFeature", {"Feature"}}, + {"PerformActionUsage", {"EventOccurrenceUsage", "ActionUsage"}}, + {"PortConjugation", {"Conjugation"}}, + {"PortDefinition", {"Structure", "OccurrenceDefinition"}}, + {"PortUsage", {"OccurrenceUsage"}}, + {"Predicate", {"Function"}}, + {"Redefinition", {"Subsetting"}}, + {"ReferenceSubsetting", {"Subsetting"}}, + {"ReferenceUsage", {"Usage"}}, + {"Relationship", {"Element"}}, + {"RenderingDefinition", {"PartDefinition"}}, + {"RenderingUsage", {"PartUsage"}}, + {"RequirementConstraintMembership", {"FeatureMembership"}}, + {"RequirementDefinition", {"ConstraintDefinition"}}, + {"RequirementUsage", {"ConstraintUsage"}}, + {"RequirementVerificationMembership", {"RequirementConstraintMembership"}}, + {"ResultExpressionMembership", {"FeatureMembership"}}, + {"ReturnParameterMembership", {"ParameterMembership"}}, + {"SatisfyRequirementUsage", {"RequirementUsage", "AssertConstraintUsage"}}, + {"SelectExpression", {"OperatorExpression"}}, + {"SendActionUsage", {"ActionUsage"}}, + {"Specialization", {"Relationship"}}, + {"StakeholderMembership", {"ParameterMembership"}}, + {"StateDefinition", {"ActionDefinition"}}, + {"StateSubactionMembership", {"FeatureMembership"}}, + {"StateUsage", {"ActionUsage"}}, + {"Step", {"Feature"}}, + {"Structure", {"Class"}}, + {"Subclassification", {"Specialization"}}, + {"SubjectMembership", {"ParameterMembership"}}, + {"Subsetting", {"Specialization"}}, + {"Succession", {"Connector"}}, + {"SuccessionAsUsage", {"ConnectorAsUsage", "Succession"}}, + {"SuccessionFlow", {"Succession", "Flow"}}, + {"SuccessionFlowUsage", {"SuccessionFlow", "FlowUsage"}}, + {"TerminateActionUsage", {"ActionUsage"}}, + {"TextualRepresentation", {"AnnotatingElement"}}, + {"TransitionFeatureMembership", {"FeatureMembership"}}, + {"TransitionUsage", {"ActionUsage"}}, + {"TriggerInvocationExpression", {"InvocationExpression"}}, + {"Type", {"Namespace"}}, + {"TypeFeaturing", {"Relationship"}}, + {"Unioning", {"Relationship"}}, + {"Usage", {"Feature"}}, + {"UseCaseDefinition", {"CaseDefinition"}}, + {"UseCaseUsage", {"CaseUsage"}}, + {"VariantMembership", {"OwningMembership"}}, + {"VerificationCaseDefinition", {"CaseDefinition"}}, + {"VerificationCaseUsage", {"CaseUsage"}}, + {"ViewDefinition", {"PartDefinition"}}, + {"ViewRenderingMembership", {"FeatureMembership"}}, + {"ViewUsage", {"PartUsage"}}, + {"ViewpointDefinition", {"RequirementDefinition"}}, + {"ViewpointUsage", {"RequirementUsage"}}, + {"WhileLoopActionUsage", {"LoopActionUsage"}}, + }; + return table; +} + +} // namespace sysml::toolkit_table diff --git a/csharp/OpenMBEE.SysML.Checks/Conformance.g.cs b/csharp/OpenMBEE.SysML.Checks/Conformance.g.cs new file mode 100644 index 0000000..cff21f0 --- /dev/null +++ b/csharp/OpenMBEE.SysML.Checks/Conformance.g.cs @@ -0,0 +1,154 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_conformance.py. +// +// Anti-drift: TableSha256 pins the table this file was generated from; +// the checks verify the generated interfaces + runtime against the +// live table via reflection. Invoked by Program.cs. +#nullable enable + +using System.Reflection; +using System.Security.Cryptography; +using System.Text; +using System.Text.Json; +using OpenMBEE.SysML; + +namespace OpenMBEE.SysML.Checks; + +public static class Conformance +{ + public const string TableSha256 = "17644f3a5d70189d76b5ecb95c2089aeda1f93b6705f8bce5eeae1faf023758b"; + + private static void Check(bool cond, string what) + { + if (!cond) + throw new Exception("conformance FAILED: " + what); + } + + private static void Ancestors(JsonElement mm, string name, HashSet acc) + { + foreach (var b in mm.GetProperty(name).GetProperty("bases").EnumerateArray()) + { + var bn = b.GetString()!; + if (acc.Add(bn)) + Ancestors(mm, bn, acc); + } + } + + // Every operation a class declares or inherits: name to parameter count. + private static SortedDictionary FlatOps(JsonElement mm, string name) + { + var classes = new HashSet { name }; + Ancestors(mm, name, classes); + var ops = new SortedDictionary(StringComparer.Ordinal); + foreach (var c in classes) + foreach (var op in mm.GetProperty(c).GetProperty("ops").EnumerateArray()) + ops[op.GetProperty("name").GetString()!] = op.GetProperty("params").GetArrayLength(); + return ops; + } + + // Invoke a generated default interface member; unwrap reflection's + // TargetInvocationException so SDK exceptions stay visible. + private static void Invoke(Func f) + { + try { f(); } + catch (TargetInvocationException e) when (e.InnerException is not null) + { + throw e.InnerException; + } + } + + public static void Run(string metamodelPath) + { + var raw = File.ReadAllBytes(metamodelPath); + var digest = Convert.ToHexString(SHA256.HashData(raw)).ToLowerInvariant(); + Check(digest == TableSha256, + "metamodel.json changed since this harness was generated; " + + "rerun tools/gen_conformance.py"); + using var doc = JsonDocument.Parse(raw); + var mm = doc.RootElement.GetProperty("classes"); + + var names = new List(); + foreach (var c in mm.EnumerateObject()) + names.Add(c.Name); + names.Sort(StringComparer.Ordinal); + var concrete = names + .Where(n => !mm.GetProperty(n).GetProperty("abstract").GetBoolean()) + .ToList(); + // an operation that shares its name with a property of a class that has both + var colliding = new HashSet(); + foreach (var n in names) + foreach (var o in FlatOps(mm, n).Keys) + if (mm.GetProperty(n).GetProperty("props").TryGetProperty(o, out _)) + colliding.Add(o); + string Member(string o) => colliding.Contains(o) ? o + "Op" : o; + + // --- generated surface matches the table -------------------------- + foreach (var n in names) + { + var info = mm.GetProperty(n); + Check(ClassMap.TypeMap.ContainsKey(n), $"TypeMap[{n}] missing"); + var t = ClassMap.TypeMap[n]; + Check(ClassMap.Factories.ContainsKey(n) == + !info.GetProperty("abstract").GetBoolean(), + $"factory presence for {n}"); + foreach (var b in info.GetProperty("bases").EnumerateArray()) + Check(ClassMap.TypeMap[b.GetString()!].IsAssignableFrom(t), + $"{n} !< {b.GetString()}"); + if (n == "Element") + continue; // spec root merges into the runtime IElement + var props = info.GetProperty("props"); + foreach (var p in props.EnumerateObject()) + Check(t.GetProperty(p.Name) is not null, + $"{n}.{p.Name}: member missing"); + foreach (var (o, arity) in FlatOps(mm, n)) + { + var mi = t.GetMethod(Member(o)); + Check(mi is not null, $"{n}.{Member(o)}(): stub missing"); + Check(mi!.GetParameters().Length == arity, + $"{n}.{Member(o)}(): {mi.GetParameters().Length} parameters, table says {arity}"); + } + } + + // --- runtime honors the table ------------------------------------- + var sb = new StringBuilder("["); + for (var i = 0; i < concrete.Count; i++) + sb.Append(i == 0 ? "" : ",") + .Append($"{{\"@id\":\"e-{concrete[i]}\",\"@type\":\"{concrete[i]}\"}}"); + var payload = sb.Append(']').ToString(); + var model = Model.FromFullJson(payload); + foreach (var n in concrete) + { + var el = model.Element($"e-{n}"); + var t = ClassMap.TypeMap[n]; + Check(el.MetaclassName == n, $"MetaclassName {n}"); + Check(el.ElementId == $"e-{n}", $"ElementId {n}"); + Check(t.IsInstanceOfType(el), $"{n} instance of own interface"); + var anc = new HashSet(); + Ancestors(mm, n, anc); + foreach (var a in anc) + Check(ClassMap.TypeMap[a].IsInstanceOfType(el), + $"{n} not instance of {a}"); + var props = mm.GetProperty(n).GetProperty("props"); + foreach (var p in props.EnumerateObject()) + { + var pi = t.GetProperty(p.Name)!; + // a property read never second-guesses the backend + Invoke(() => pi.GetValue(el)); + } + foreach (var o in FlatOps(mm, n).Keys) + { + var mi = t.GetMethod(Member(o))!; + var threw = false; + try + { + Invoke(() => mi.Invoke(el, + new object?[mi.GetParameters().Length])); + } + catch (NotImplementedInToolkitException) { threw = true; } + Check(threw, $"{n}.{Member(o)}(): must throw NotImplementedInToolkit"); + } + } + + Console.WriteLine($"conformance OK: {names.Count} classes, " + + $"{concrete.Count} concrete, table {TableSha256[..12]}"); + } +} diff --git a/csharp/OpenMBEE.SysML.Checks/OpenMBEE.SysML.Checks.csproj b/csharp/OpenMBEE.SysML.Checks/OpenMBEE.SysML.Checks.csproj new file mode 100644 index 0000000..7249b34 --- /dev/null +++ b/csharp/OpenMBEE.SysML.Checks/OpenMBEE.SysML.Checks.csproj @@ -0,0 +1,16 @@ + + + + Exe + net8.0 + enable + enable + latest + OpenMBEE.SysML.Checks + + + + + + + diff --git a/csharp/OpenMBEE.SysML.Checks/Program.cs b/csharp/OpenMBEE.SysML.Checks/Program.cs new file mode 100644 index 0000000..9f82a97 --- /dev/null +++ b/csharp/OpenMBEE.SysML.Checks/Program.cs @@ -0,0 +1,188 @@ +// Smoke test + conformance runner for the C# SDK backend. +// Mirrors ../../demo.py; any failure throws and exits non-zero. + +using OpenMBEE.SysML; +using OpenMBEE.SysML.Checks; +using SpecType = OpenMBEE.SysML.Type; + +var root = FindRepoRoot(); +Conformance.Run(Path.Combine(root, "metamodel.json")); +RunSmoke(Path.Combine(root, "data", "bigger.full.json")); +CheckPayloadLibrary(); +Console.WriteLine(); +ToolkitChecks.RunIfAvailable(); +Console.WriteLine("ALL C#-BACKEND SMOKE TESTS PASSED"); +return 0; + +static string FindRepoRoot() +{ + for (var d = new DirectoryInfo(AppContext.BaseDirectory); d is not null; d = d.Parent) + if (File.Exists(Path.Combine(d.FullName, "metamodel.json"))) + return d.FullName; + throw new InvalidOperationException("metamodel.json not found above bin dir"); +} + +static void Check(bool cond, string what) +{ + if (!cond) + throw new Exception("FAILED: " + what); +} + +static void RunSmoke(string payloadPath) +{ + var payload = File.ReadAllText(payloadPath); + var m = Model.FromFullJson(payload); + + // --- typed resolution and hierarchy ----------------------------------- + var vehicle = m.Resolve("Demo::Vehicle")!; + Console.WriteLine($"resolve: {vehicle}"); + Check(vehicle is PartDefinition, "PartDefinition"); + Check(vehicle is Definition and Classifier and SpecType and Namespace, + "hierarchy chain"); + Check(vehicle is not Feature, "not Feature"); + Console.WriteLine( + "is chain: PartDefinition < Definition < Classifier < Type < Namespace OK"); + + // --- navigation: typed getters (table 0.5.0) -------------------------- + IReadOnlyList feats = ((PartDefinition)vehicle).ownedFeature; + Console.WriteLine("ownedFeature: " + string.Join(", ", + feats.Select(f => $"{f.MetaclassName}:{f.declaredName}"))); + Check(feats.Count == 7, "7 features"); + var wheel = feats.First(f => f.declaredName == "wheel"); + Check(wheel.MetaclassName == "PartUsage", "wheel is PartUsage"); + Check(ReferenceEquals(wheel.owner, vehicle), "owner minted from cache"); + Check(wheel.isComposite == true, "isComposite"); + Check(((PartDefinition)vehicle).qualifiedName == "Demo::Vehicle", + "qualifiedName"); + + var baseDef = m.Resolve("Demo::Base")!; + IReadOnlyList subclass = + ((Classifier)vehicle).ownedSubclassification; + Check(subclass.Count == 1 && + ReferenceEquals(subclass[0].superclassifier, baseDef), + "ownedSubclassification -> Base"); + + var vUsage = (Usage)m.Resolve("Demo::v")!; + IReadOnlyList defs = vUsage.definition; + Check(defs.Count == 1 && ReferenceEquals(defs[0], vehicle), "v.definition"); + Console.WriteLine("v.definition -> Vehicle OK"); + + // --- reads pass the backend value through unchanged ------------------- + // (no client-side check: a member the SysML Toolkit does not implement says so itself) + Check(((PartDefinition)vehicle).ownedPart.Count == 0, "ownedPart == []"); + Check(((SpecType)vehicle).inheritedFeature.Count == 0, "inheritedFeature == []"); + Console.WriteLine( + "unimplemented derivations -> [] (backend value, no second-guessing)"); + + // --- operation stubs are honest --------------------------------------- + try + { + _ = ((SpecType)vehicle).specializes((SpecType?)baseDef); + throw new Exception("expected NotImplementedInToolkitException"); + } + catch (NotImplementedInToolkitException) + { + Console.WriteLine("Type.specializes() -> NotImplementedInToolkit (as designed)"); + } + + // (read-only guard is compile-time in C#: generated members have no setters) + + // --- model-wide queries ----------------------------------------------- + var parts = m.ElementsOfType().Count(); + var usages = m.ElementsOfType().Count(); + Console.WriteLine($"PartUsage: {parts}, all Usage subtypes: {usages}"); + Check(usages > parts, "subtype counts"); + + var calc = m.Resolve("Demo::Vehicle::K")!; + Check(calc is CalculationDefinition, "K is CalculationDefinition"); + IReadOnlyList inputs = ((CalculationDefinition)calc).input; + Check(inputs.Count == 1 && inputs[0].declaredName == "x", "K.input"); + Console.WriteLine("K.input -> [x] OK"); + + // --- collision rule: MetadataUsage.metaclass is the SPEC member ------- + const string metaPayload = """ + [ + {"@id": "mc1", "@type": "Metaclass", "declaredName": "Safety", + "qualifiedName": "M::Safety"}, + {"@id": "m1", "@type": "MetadataUsage", "qualifiedName": "M::stubbed", + "metaclass": null}, + {"@id": "m2", "@type": "MetadataUsage", "qualifiedName": "M::filled", + "metaclass": {"@id": "mc1"}} + ] + """; + var mm = Model.FromFullJson(metaPayload); + var mu = (MetadataUsage)mm.Element("m1"); + Check(mu.MetaclassName == "MetadataUsage", "runtime accessor (PascalCase)"); + Check(mu.metaclass is null, "spec member: backend value passed through"); + var filled = ((MetadataUsage)mm.Element("m2")).metaclass; + Check(ReferenceEquals(filled, mm.Element("mc1")), "filled metaclass re-check"); + Console.WriteLine("MetadataUsage: .MetaclassName (runtime) vs .metaclass (spec) OK"); + + // Elements come in document order; an id given twice keeps its first place and its last + // element. + var ordered = Model.FromFullJson(""" + [ + {"@id": "z", "@type": "Package", "declaredName": "first"}, + {"@id": "a", "@type": "Package", "declaredName": "A"}, + {"@id": "z", "@type": "Package", "declaredName": "second"} + ] + """); + var ids = string.Join(",", ordered.All().Select(e => e.ElementId)); + Check(ids == "z,a", $"document order: {ids}"); + Check(ordered.Element("z").declaredName == "second", "the last element of an id"); + Console.WriteLine("payload elements in document order OK"); +} + +// A payload model with a library: references the model does not hold resolve in the library, the +// library's elements are not the model's, the model wins an id or name both have, and a reference +// in neither still throws. The same checks run in every language. +static void CheckPayloadLibrary() +{ + var library = PayloadLibrary.FromJson(""" + [ + {"@id": "lib", "@type": "LibraryPackage", "qualifiedName": "ScalarValues", "isLibraryElement": true}, + {"@id": "real", "@type": "DataType", "qualifiedName": "ScalarValues::Real", "declaredName": "Real", + "owner": {"@id": "lib"}, "isLibraryElement": true}, + {"@id": "clash", "@type": "Package", "declaredName": "from the library"}, + {"@id": "libP", "@type": "Package", "qualifiedName": "P"} + ] + """); + var model = """ + [ + {"@id": "pkg", "@type": "Package", "qualifiedName": "P", "declaredName": "P"}, + {"@id": "mass", "@type": "AttributeUsage", "qualifiedName": "P::mass", "owner": {"@id": "pkg"}, + "type": [{"@id": "real"}], "definition": [{"@id": "gone"}]}, + {"@id": "clash", "@type": "Package", "declaredName": "from the model"} + ] + """; + var withLibrary = Model.FromFullJson(model, library); + var mass = (AttributeUsage)withLibrary.Element("mass"); + SpecType real = mass.type[0]; + Check(real.declaredName == "Real" && real.isLibraryElement == true, "library element"); + Check(real.owner?.qualifiedName == "ScalarValues", "library owner"); + Check(real.Equals(withLibrary.Resolve("ScalarValues::Real")), "resolve into the library"); + var all = string.Join(",", withLibrary.All().Select(e => e.ElementId)); + Check(all == "pkg,mass,clash", $"All() lists the library: {all}"); + var roots = string.Join(",", withLibrary.Roots().Select(e => e.ElementId)); + Check(roots == "pkg,clash", $"Roots() lists the library: {roots}"); + Check(withLibrary.Element("clash").declaredName == "from the model", "the model's id wins"); + Check(withLibrary.Resolve("P")?.ElementId == "pkg", "the model's name wins"); + Check(ThrowsUnresolved(() => _ = mass.definition), "a reference in neither"); + var withoutLibrary = Model.FromFullJson(model); + Check(ThrowsUnresolved(() => _ = ((AttributeUsage)withoutLibrary.Element("mass")).type), "no library, no resolution"); + Check(withoutLibrary.Resolve("ScalarValues::Real") is null, "no library, no name"); + Console.WriteLine("payload model with a library OK"); +} + +static bool ThrowsUnresolved(Action read) +{ + try + { + read(); + } + catch (UnresolvedReferenceException) + { + return true; + } + return false; +} diff --git a/csharp/OpenMBEE.SysML.Checks/ToolkitChecks.cs b/csharp/OpenMBEE.SysML.Checks/ToolkitChecks.cs new file mode 100644 index 0000000..42deefa --- /dev/null +++ b/csharp/OpenMBEE.SysML.Checks/ToolkitChecks.cs @@ -0,0 +1,116 @@ +// C# reading directly from the SysML Toolkit through the binding library. Skips itself when the +// library is not built, so the payload checks still run everywhere; with +// SYSML_REQUIRE_TOOLKIT=1 a missing library is a failure instead. +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type shadows System.Type + +namespace OpenMBEE.SysML.Checks; + +public static class ToolkitChecks +{ + private static void Check(bool cond, string what) + { + if (!cond) throw new Exception("FAILED: " + what); + } + + // A check that meets the SysML Toolkit's refusal of `member` first + // (NotImplementedInToolkitException naming it): an expected failure, reported as one. It + // fails when it passes (the SysML Toolkit answers now: remove the expectation) or when it + // stops on anything else. + private static void ExpectRefusal(string member, string reason, string what, Action body) + { + try + { + body(); + } + catch (NotImplementedInToolkitException e) when (RefusedMember(e.Message) == member) + { + Console.WriteLine($"expected failure: {what}: the SysML Toolkit refuses {member} ({reason})"); + return; + } + throw new Exception($"FAILED: {what}: the SysML Toolkit answers {member} now; remove the expected refusal"); + } + + // The member a SysML Toolkit refusal names (`Type::inheritedMemberships()` gives + // `inheritedMemberships()`). + private static string RefusedMember(string message) + { + var i = message.IndexOf(" is not answered by the SysML Toolkit", StringComparison.Ordinal); + if (i < 0) return ""; + var head = message[..i].Trim(); + var j = head.LastIndexOf("::", StringComparison.Ordinal); + return j < 0 ? head : head[(j + 2)..]; + } + + public static void RunIfAvailable() + { + string path; + try { path = ToolkitBackend.Library.DefaultPath(); } + catch (SdkException e) + { + if (Environment.GetEnvironmentVariable("SYSML_REQUIRE_TOOLKIT") == "1") + throw new Exception("SYSML_REQUIRE_TOOLKIT=1 but " + e.Message); + Console.WriteLine("SysML Toolkit checks skipped: binding library not built"); + return; + } + + var source = "package Demo { part def Wheel; part def Car { part wheels : Wheel[4]; attribute mass; } part def Sports :> Car { part spoiler; } part def Link { part a; part b; connect a to b; } }"; + using var be = ToolkitBackend.OpenSources(new Dictionary { ["inline.sysml"] = source }); + var m = new Model(be); + + var car = m.Resolve("Demo::Car"); + Check(car is PartDefinition, "Car is a PartDefinition"); + var carDef = (PartDefinition)car!; + Check(carDef.qualifiedName == "Demo::Car", "qualifiedName"); + Check(carDef.owner is Package, "owner is the package"); + var feats = carDef.ownedFeature; + Check(feats.Count == 2 && feats[0].declaredName == "wheels", "ownedFeature"); + Check(feats[0] is PartUsage, "wheels is a PartUsage"); + ExpectRefusal("type", "it waits on implied relationships", "type", + () => Check(feats[0].type.Count == 1 && feats[0].type[0].declaredName == "Wheel", "type")); + Check(feats[0].isComposite == true, "isComposite"); + var sports = (PartDefinition)m.Resolve("Demo::Sports")!; + ExpectRefusal("inheritedFeature", "it waits on implied relationships", "inheritedFeature", + () => Check(sports.inheritedFeature.Count == 2, $"inheritedFeature computed by the SysML Toolkit: {sports.inheritedFeature.Count}")); + Check(ReferenceEquals(car, m.Resolve("Demo::Car")), "wrappers are cached by handle"); + Check(carDef.ElementId.Length == 36, "elementId is a UUID"); + // Operations, through the SysML Toolkit's operation entry point; it refuses what it cannot + // answer as specified. + Check(carDef.effectiveName() == "Car", "effectiveName"); + ExpectRefusal("connectorEnd", "it waits on the implied end redefinitions", "an unnamed connection end is named by the end it redefines", () => + { + var connection = ((PartDefinition)m.Resolve("Demo::Link")!).ownedFeature.OfType().Single(); + var end = connection.connectorEnd[0]; + Check(end.declaredName is null && end.effectiveName() == "source", + $"an unnamed connection end is named by the end it redefines: {end.effectiveName()}"); + }); + ExpectRefusal("inheritedMemberships()", "its evidence is incomplete", "inheritedMemberships", () => + { + var memberships = sports.inheritedMemberships(Array.Empty(), Array.Empty(), false); + Check(memberships.Count == 2 && memberships[0].memberName == "wheels", "inheritedMemberships"); + }); + var opRefused = false; + try { _ = sports.isCompatibleWith(carDef); } + catch (NotImplementedInToolkitException e) { opRefused = e.Message.Contains("isCompatibleWith"); } + Check(opRefused, "an operation the SysML Toolkit cannot answer as specified is refused"); + Check(be.FullJson().StartsWith("["), "FullJson"); + // Text beyond ASCII crosses to the SysML Toolkit as UTF-8, measured in bytes, and comes + // back intact; a requirement's text is a list of strings; every element has the members + // of Element; the top-level namespaces. + using var accented = ToolkitBackend.OpenSources(new Dictionary + { + ["größe.sysml"] = "package Sizes { doc /* Größe und Wärme */ requirement def Light { doc /* Keep it light. */ } part def Last; }", + }); + var sizes = new Model(accented); + Check(sizes.Resolve("Sizes::Last") is PartDefinition, "a source with text beyond ASCII loads whole"); + Check(sizes.Resolve("Sizes")!.documentation.Single().body?.Contains("Größe und Wärme") == true, + "text beyond ASCII comes back intact"); + var light = (RequirementDefinition)sizes.Resolve("Sizes::Light")!; + Check(light.text.Count == 1 && light.text[0].StartsWith("Keep it light."), + $"a requirement's text is a list of strings: {string.Join("|", light.text)}"); + IElement owner = light.owner!; + Check(owner.name == "Sizes", "the members of Element, read on a plain IElement"); + Check(sizes.Roots().OfType().Any(r => r.ownedMember.Any(m => m.name == "Sizes")), "roots"); + Console.WriteLine("ALL C# SYSML TOOLKIT CHECKS PASSED"); + } +} diff --git a/csharp/OpenMBEE.SysML/Classes.g.cs b/csharp/OpenMBEE.SysML/Classes.g.cs new file mode 100644 index 0000000..e587535 --- /dev/null +++ b/csharp/OpenMBEE.SysML/Classes.g.cs @@ -0,0 +1,20676 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cs.py. +// Interfaces with default members; runtime core in Runtime.cs. +#nullable enable + +namespace OpenMBEE.SysML; + +/// The members of the metaclass Element, which every element has. +public partial interface IElement +{ + IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + string? name => Model.AsString(this.Model.Read(this, "name")); + IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface AcceptActionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + Expression? payloadArgument => Model.AsRef(this.Model.Read(this, "payloadArgument")); + ReferenceUsage? payloadParameter => Model.AsRef(this.Model.Read(this, "payloadParameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Expression? receiverArgument => Model.AsRef(this.Model.Read(this, "receiverArgument")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + bool? isTriggerAction() => Model.AsBool(this.Model.Call(this, "isTriggerAction", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ActionDefinition : OccurrenceDefinition, Behavior +{ + IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ActionUsage : Step, OccurrenceUsage +{ + IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ActorMembership : ParameterMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + PartUsage? ownedActorParameter => Model.AsRef(this.Model.Read(this, "ownedActorParameter")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new Feature? ownedMemberParameter => Model.AsRef(this.Model.Read(this, "ownedMemberParameter")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? parameterDirection() => Model.AsString(this.Model.Call(this, "parameterDirection", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface AllocationDefinition : ConnectionDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList allocation => Model.AsList(this.Model.Read(this, "allocation")); + new IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + new IReadOnlyList connectionEnd => Model.AsList(this.Model.Read(this, "connectionEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface AllocationUsage : ConnectionUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList allocationDefinition => Model.AsList(this.Model.Read(this, "allocationDefinition")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectionDefinition => Model.AsList(this.Model.Read(this, "connectionDefinition")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList partDefinition => Model.AsList(this.Model.Read(this, "partDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface AnalysisCaseDefinition : CaseDefinition +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList calculation => Model.AsList(this.Model.Read(this, "calculation")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + Expression? resultExpression => Model.AsRef(this.Model.Read(this, "resultExpression")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface AnalysisCaseUsage : CaseUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + AnalysisCaseDefinition? analysisCaseDefinition => Model.AsRef(this.Model.Read(this, "analysisCaseDefinition")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new Function? calculationDefinition => Model.AsRef(this.Model.Read(this, "calculationDefinition")); + new CaseDefinition? caseDefinition => Model.AsRef(this.Model.Read(this, "caseDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + Expression? resultExpression => Model.AsRef(this.Model.Read(this, "resultExpression")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface AnnotatingElement : IElement +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList annotatedElement => Model.AsList(this.Model.Read(this, "annotatedElement")); + IReadOnlyList annotation => Model.AsList(this.Model.Read(this, "annotation")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + IReadOnlyList ownedAnnotatingRelationship => Model.AsList(this.Model.Read(this, "ownedAnnotatingRelationship")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Annotation? owningAnnotatingRelationship => Model.AsRef(this.Model.Read(this, "owningAnnotatingRelationship")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Annotation : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IElement? annotatedElement => Model.AsRef(this.Model.Read(this, "annotatedElement")); + AnnotatingElement? annotatingElement => Model.AsRef(this.Model.Read(this, "annotatingElement")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + AnnotatingElement? ownedAnnotatingElement => Model.AsRef(this.Model.Read(this, "ownedAnnotatingElement")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + IElement? owningAnnotatedElement => Model.AsRef(this.Model.Read(this, "owningAnnotatedElement")); + AnnotatingElement? owningAnnotatingElement => Model.AsRef(this.Model.Read(this, "owningAnnotatingElement")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface AssertConstraintUsage : Invariant, ConstraintUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + ConstraintUsage? assertedConstraint => Model.AsRef(this.Model.Read(this, "assertedConstraint")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Predicate? constraintDefinition => Model.AsRef(this.Model.Read(this, "constraintDefinition")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isNegated => Model.AsBool(this.Model.Read(this, "isNegated")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface AssignmentActionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Feature? referent => Model.AsRef(this.Model.Read(this, "referent")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + Expression? targetArgument => Model.AsRef(this.Model.Read(this, "targetArgument")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + Expression? valueExpression => Model.AsRef(this.Model.Read(this, "valueExpression")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Association : Classifier, Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface AssociationStructure : Structure, Association +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface AttributeDefinition : DataType, Definition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface AttributeUsage : Usage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList attributeDefinition => Model.AsList(this.Model.Read(this, "attributeDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Behavior : Class +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface BindingConnector : Connector +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface BindingConnectorAsUsage : BindingConnector, ConnectorAsUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface BooleanExpression : Expression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface CalculationDefinition : ActionDefinition, Function +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList calculation => Model.AsList(this.Model.Read(this, "calculation")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface CalculationUsage : Expression, ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + Function? calculationDefinition => Model.AsRef(this.Model.Read(this, "calculationDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface CaseDefinition : CalculationDefinition +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList calculation => Model.AsList(this.Model.Read(this, "calculation")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface CaseUsage : CalculationUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new Function? calculationDefinition => Model.AsRef(this.Model.Read(this, "calculationDefinition")); + CaseDefinition? caseDefinition => Model.AsRef(this.Model.Read(this, "caseDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Class : Classifier +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Classifier : Type +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface CollectExpression : OperatorExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new string? @operator => Model.AsString(this.Model.Read(this, "operator")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Comment : AnnotatingElement +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList annotatedElement => Model.AsList(this.Model.Read(this, "annotatedElement")); + new IReadOnlyList annotation => Model.AsList(this.Model.Read(this, "annotation")); + string? body => Model.AsString(this.Model.Read(this, "body")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + string? locale => Model.AsString(this.Model.Read(this, "locale")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotatingRelationship => Model.AsList(this.Model.Read(this, "ownedAnnotatingRelationship")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Annotation? owningAnnotatingRelationship => Model.AsRef(this.Model.Read(this, "owningAnnotatingRelationship")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface ConcernDefinition : RequirementDefinition +{ + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + new IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ConcernUsage : RequirementUsage +{ + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + ConcernDefinition? concernDefinition => Model.AsRef(this.Model.Read(this, "concernDefinition")); + new Predicate? constraintDefinition => Model.AsRef(this.Model.Read(this, "constraintDefinition")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + new IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + new RequirementDefinition? requirementDefinition => Model.AsRef(this.Model.Read(this, "requirementDefinition")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ConjugatedPortDefinition : PortDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new ConjugatedPortDefinition? conjugatedPortDefinition => Model.AsRef(this.Model.Read(this, "conjugatedPortDefinition")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + PortDefinition? originalPortDefinition => Model.AsRef(this.Model.Read(this, "originalPortDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + PortConjugation? ownedPortConjugator => Model.AsRef(this.Model.Read(this, "ownedPortConjugator")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ConjugatedPortTyping : FeatureTyping +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + ConjugatedPortDefinition? conjugatedPortDefinition => Model.AsRef(this.Model.Read(this, "conjugatedPortDefinition")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + PortDefinition? portDefinition => Model.AsRef(this.Model.Read(this, "portDefinition")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new Type? type => Model.AsRef(this.Model.Read(this, "type")); + new Feature? typedFeature => Model.AsRef(this.Model.Read(this, "typedFeature")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Conjugation : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + Type? conjugatedType => Model.AsRef(this.Model.Read(this, "conjugatedType")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + Type? originalType => Model.AsRef(this.Model.Read(this, "originalType")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface ConnectionDefinition : AssociationStructure, PartDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + IReadOnlyList connectionEnd => Model.AsList(this.Model.Read(this, "connectionEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ConnectionUsage : PartUsage, ConnectorAsUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + IReadOnlyList connectionDefinition => Model.AsList(this.Model.Read(this, "connectionDefinition")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList partDefinition => Model.AsList(this.Model.Read(this, "partDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Connector : Feature, Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — SysML 20250201. +public interface ConnectorAsUsage : Usage, Connector +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ConstraintDefinition : OccurrenceDefinition, Predicate +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ConstraintUsage : OccurrenceUsage, BooleanExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + Predicate? constraintDefinition => Model.AsRef(this.Model.Read(this, "constraintDefinition")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface ConstructorExpression : InstantiationExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — SysML 20250201. +public interface ControlNode : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + bool? multiplicityHasBounds(Multiplicity? mult, long? lower, long? upper) => Model.AsBool(this.Model.Call(this, "multiplicityHasBounds", new object?[] { mult, lower, upper })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface CrossSubsetting : Subsetting +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + Feature? crossedFeature => Model.AsRef(this.Model.Read(this, "crossedFeature")); + Feature? crossingFeature => Model.AsRef(this.Model.Read(this, "crossingFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + new Feature? subsettedFeature => Model.AsRef(this.Model.Read(this, "subsettedFeature")); + new Feature? subsettingFeature => Model.AsRef(this.Model.Read(this, "subsettingFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface DataType : Classifier +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface DecisionNode : ControlNode +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new bool? multiplicityHasBounds(Multiplicity? mult, long? lower, long? upper) => Model.AsBool(this.Model.Call(this, "multiplicityHasBounds", new object?[] { mult, lower, upper })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface Definition : Classifier +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Dependency : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList client => Model.AsList(this.Model.Read(this, "client")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + IReadOnlyList supplier => Model.AsList(this.Model.Read(this, "supplier")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Differencing : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + Type? differencingType => Model.AsRef(this.Model.Read(this, "differencingType")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Type? typeDifferenced => Model.AsRef(this.Model.Read(this, "typeDifferenced")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Disjoining : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + Type? disjoiningType => Model.AsRef(this.Model.Read(this, "disjoiningType")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Type? typeDisjoined => Model.AsRef(this.Model.Read(this, "typeDisjoined")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Documentation : Comment +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList annotatedElement => Model.AsList(this.Model.Read(this, "annotatedElement")); + new IReadOnlyList annotation => Model.AsList(this.Model.Read(this, "annotation")); + new string? body => Model.AsString(this.Model.Read(this, "body")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + IElement? documentedElement => Model.AsRef(this.Model.Read(this, "documentedElement")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? locale => Model.AsString(this.Model.Read(this, "locale")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotatingRelationship => Model.AsList(this.Model.Read(this, "ownedAnnotatingRelationship")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Annotation? owningAnnotatingRelationship => Model.AsRef(this.Model.Read(this, "owningAnnotatingRelationship")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface ElementFilterMembership : OwningMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + Expression? condition => Model.AsRef(this.Model.Read(this, "condition")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface EndFeatureMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface EnumerationDefinition : AttributeDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + IReadOnlyList enumeratedValue => Model.AsList(this.Model.Read(this, "enumeratedValue")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface EnumerationUsage : AttributeUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList attributeDefinition => Model.AsList(this.Model.Read(this, "attributeDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + EnumerationDefinition? enumerationDefinition => Model.AsRef(this.Model.Read(this, "enumerationDefinition")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface EventOccurrenceUsage : OccurrenceUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + OccurrenceUsage? eventOccurrence => Model.AsRef(this.Model.Read(this, "eventOccurrence")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ExhibitStateUsage : PerformActionUsage, StateUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new ActionUsage? doAction => Model.AsRef(this.Model.Read(this, "doAction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new ActionUsage? entryAction => Model.AsRef(this.Model.Read(this, "entryAction")); + new OccurrenceUsage? eventOccurrence => Model.AsRef(this.Model.Read(this, "eventOccurrence")); + StateUsage? exhibitedState => Model.AsRef(this.Model.Read(this, "exhibitedState")); + new ActionUsage? exitAction => Model.AsRef(this.Model.Read(this, "exitAction")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isParallel => Model.AsBool(this.Model.Read(this, "isParallel")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new ActionUsage? performedAction => Model.AsRef(this.Model.Read(this, "performedAction")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList stateDefinition => Model.AsList(this.Model.Read(this, "stateDefinition")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new bool? isSubstateUsage(bool? isParallel) => Model.AsBool(this.Model.Call(this, "isSubstateUsage", new object?[] { isParallel })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — SysML 20250201. +public interface Expose : Import +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Namespace? importOwningNamespace => Model.AsRef(this.Model.Read(this, "importOwningNamespace")); + new IElement? importedElement => Model.AsRef(this.Model.Read(this, "importedElement")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isImportAll => Model.AsBool(this.Model.Read(this, "isImportAll")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isRecursive => Model.AsBool(this.Model.Read(this, "isRecursive")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Expression : Step +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Feature : Type +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface FeatureChainExpression : OperatorExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new string? @operator => Model.AsString(this.Model.Read(this, "operator")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + Feature? targetFeature => Model.AsRef(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + Feature? sourceTargetFeature() => Model.AsRef(this.Model.Call(this, "sourceTargetFeature", System.Array.Empty())); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface FeatureChaining : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + Feature? chainingFeature => Model.AsRef(this.Model.Read(this, "chainingFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Feature? featureChained => Model.AsRef(this.Model.Read(this, "featureChained")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface FeatureInverting : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Feature? featureInverted => Model.AsRef(this.Model.Read(this, "featureInverted")); + Feature? invertingFeature => Model.AsRef(this.Model.Read(this, "invertingFeature")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface FeatureMembership : OwningMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface FeatureReferenceExpression : Expression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Feature? referent => Model.AsRef(this.Model.Read(this, "referent")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface FeatureTyping : Specialization +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Type? type => Model.AsRef(this.Model.Read(this, "type")); + Feature? typedFeature => Model.AsRef(this.Model.Read(this, "typedFeature")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface FeatureValue : OwningMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Feature? featureWithValue => Model.AsRef(this.Model.Read(this, "featureWithValue")); + bool? isDefault => Model.AsBool(this.Model.Read(this, "isDefault")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + bool? isInitial => Model.AsBool(this.Model.Read(this, "isInitial")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Expression? value => Model.AsRef(this.Model.Read(this, "value")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Flow : Connector, Step +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + IReadOnlyList flowEnd => Model.AsList(this.Model.Read(this, "flowEnd")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + IReadOnlyList interaction => Model.AsList(this.Model.Read(this, "interaction")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + PayloadFeature? payloadFeature => Model.AsRef(this.Model.Read(this, "payloadFeature")); + IReadOnlyList payloadType => Model.AsList(this.Model.Read(this, "payloadType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + Feature? sourceOutputFeature => Model.AsRef(this.Model.Read(this, "sourceOutputFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + Feature? targetInputFeature => Model.AsRef(this.Model.Read(this, "targetInputFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface FlowDefinition : ActionDefinition, Interaction +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + IReadOnlyList flowEnd => Model.AsList(this.Model.Read(this, "flowEnd")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface FlowEnd : Feature +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface FlowUsage : ConnectorAsUsage, Flow, ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + IReadOnlyList flowDefinition => Model.AsList(this.Model.Read(this, "flowDefinition")); + new IReadOnlyList flowEnd => Model.AsList(this.Model.Read(this, "flowEnd")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList interaction => Model.AsList(this.Model.Read(this, "interaction")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new PayloadFeature? payloadFeature => Model.AsRef(this.Model.Read(this, "payloadFeature")); + new IReadOnlyList payloadType => Model.AsList(this.Model.Read(this, "payloadType")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new Feature? sourceOutputFeature => Model.AsRef(this.Model.Read(this, "sourceOutputFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new Feature? targetInputFeature => Model.AsRef(this.Model.Read(this, "targetInputFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ForLoopActionUsage : LoopActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new ActionUsage? bodyAction => Model.AsRef(this.Model.Read(this, "bodyAction")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + ReferenceUsage? loopVariable => Model.AsRef(this.Model.Read(this, "loopVariable")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Expression? seqArgument => Model.AsRef(this.Model.Read(this, "seqArgument")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ForkNode : ControlNode +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new bool? multiplicityHasBounds(Multiplicity? mult, long? lower, long? upper) => Model.AsBool(this.Model.Call(this, "multiplicityHasBounds", new object?[] { mult, lower, upper })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface FramedConcernMembership : RequirementConstraintMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? kind => Model.AsString(this.Model.Read(this, "kind")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + ConcernUsage? ownedConcern => Model.AsRef(this.Model.Read(this, "ownedConcern")); + new ConstraintUsage? ownedConstraint => Model.AsRef(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + ConcernUsage? referencedConcern => Model.AsRef(this.Model.Read(this, "referencedConcern")); + new ConstraintUsage? referencedConstraint => Model.AsRef(this.Model.Read(this, "referencedConstraint")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Function : Behavior +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface IfActionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + ActionUsage? elseAction => Model.AsRef(this.Model.Read(this, "elseAction")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + Expression? ifArgument => Model.AsRef(this.Model.Read(this, "ifArgument")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + ActionUsage? thenAction => Model.AsRef(this.Model.Read(this, "thenAction")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — KerML 20250201. +public interface Import : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Namespace? importOwningNamespace => Model.AsRef(this.Model.Read(this, "importOwningNamespace")); + IElement? importedElement => Model.AsRef(this.Model.Read(this, "importedElement")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + bool? isImportAll => Model.AsBool(this.Model.Read(this, "isImportAll")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isRecursive => Model.AsBool(this.Model.Read(this, "isRecursive")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface IncludeUseCaseUsage : UseCaseUsage, PerformActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new Function? calculationDefinition => Model.AsRef(this.Model.Read(this, "calculationDefinition")); + new CaseDefinition? caseDefinition => Model.AsRef(this.Model.Read(this, "caseDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new OccurrenceUsage? eventOccurrence => Model.AsRef(this.Model.Read(this, "eventOccurrence")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList includedUseCase => Model.AsList(this.Model.Read(this, "includedUseCase")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new ActionUsage? performedAction => Model.AsRef(this.Model.Read(this, "performedAction")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new UseCaseDefinition? useCaseDefinition => Model.AsRef(this.Model.Read(this, "useCaseDefinition")); + UseCaseUsage? useCaseIncluded => Model.AsRef(this.Model.Read(this, "useCaseIncluded")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface IndexExpression : OperatorExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new string? @operator => Model.AsString(this.Model.Read(this, "operator")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — KerML 20250201. +public interface InstantiationExpression : Expression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Interaction : Association, Behavior +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface InterfaceDefinition : ConnectionDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList associationEnd => Model.AsList(this.Model.Read(this, "associationEnd")); + new IReadOnlyList connectionEnd => Model.AsList(this.Model.Read(this, "connectionEnd")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + IReadOnlyList interfaceEnd => Model.AsList(this.Model.Read(this, "interfaceEnd")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedType => Model.AsList(this.Model.Read(this, "relatedType")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? sourceType => Model.AsRef(this.Model.Read(this, "sourceType")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetType => Model.AsList(this.Model.Read(this, "targetType")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface InterfaceUsage : ConnectionUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectionDefinition => Model.AsList(this.Model.Read(this, "connectionDefinition")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + IReadOnlyList interfaceDefinition => Model.AsList(this.Model.Read(this, "interfaceDefinition")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList partDefinition => Model.AsList(this.Model.Read(this, "partDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Intersecting : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Type? intersectingType => Model.AsRef(this.Model.Read(this, "intersectingType")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Type? typeIntersected => Model.AsRef(this.Model.Read(this, "typeIntersected")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Invariant : BooleanExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + bool? isNegated => Model.AsBool(this.Model.Read(this, "isNegated")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface InvocationExpression : InstantiationExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ItemDefinition : Structure, OccurrenceDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ItemUsage : OccurrenceUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface JoinNode : ControlNode +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new bool? multiplicityHasBounds(Multiplicity? mult, long? lower, long? upper) => Model.AsBool(this.Model.Call(this, "multiplicityHasBounds", new object?[] { mult, lower, upper })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LibraryPackage : Package +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList filterCondition => Model.AsList(this.Model.Read(this, "filterCondition")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isStandard => Model.AsBool(this.Model.Read(this, "isStandard")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new bool? includeAsMember(IElement? element) => Model.AsBool(this.Model.Call(this, "includeAsMember", new object?[] { element })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LiteralBoolean : LiteralExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + bool? value => Model.AsBool(this.Model.Read(this, "value")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LiteralExpression : Expression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LiteralInfinity : LiteralExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LiteralInteger : LiteralExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + long? value => Model.AsInt(this.Model.Read(this, "value")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LiteralRational : LiteralExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + double? value => Model.AsReal(this.Model.Read(this, "value")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface LiteralString : LiteralExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + string? value => Model.AsString(this.Model.Read(this, "value")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — SysML 20250201. +public interface LoopActionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + ActionUsage? bodyAction => Model.AsRef(this.Model.Read(this, "bodyAction")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Membership : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface MembershipExpose : MembershipImport, Expose +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Namespace? importOwningNamespace => Model.AsRef(this.Model.Read(this, "importOwningNamespace")); + new IElement? importedElement => Model.AsRef(this.Model.Read(this, "importedElement")); + new Membership? importedMembership => Model.AsRef(this.Model.Read(this, "importedMembership")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isImportAll => Model.AsBool(this.Model.Read(this, "isImportAll")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isRecursive => Model.AsBool(this.Model.Read(this, "isRecursive")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface MembershipImport : Import +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Namespace? importOwningNamespace => Model.AsRef(this.Model.Read(this, "importOwningNamespace")); + new IElement? importedElement => Model.AsRef(this.Model.Read(this, "importedElement")); + Membership? importedMembership => Model.AsRef(this.Model.Read(this, "importedMembership")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isImportAll => Model.AsBool(this.Model.Read(this, "isImportAll")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isRecursive => Model.AsBool(this.Model.Read(this, "isRecursive")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface MergeNode : ControlNode +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new bool? multiplicityHasBounds(Multiplicity? mult, long? lower, long? upper) => Model.AsBool(this.Model.Call(this, "multiplicityHasBounds", new object?[] { mult, lower, upper })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Metaclass : Structure +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface MetadataAccessExpression : Expression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + IElement? referencedElement => Model.AsRef(this.Model.Read(this, "referencedElement")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + MetadataFeature? metaclassFeature() => Model.AsRef(this.Model.Call(this, "metaclassFeature", System.Array.Empty())); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface MetadataDefinition : ItemDefinition, Metaclass +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface MetadataFeature : AnnotatingElement, Feature +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList annotatedElement => Model.AsList(this.Model.Read(this, "annotatedElement")); + new IReadOnlyList annotation => Model.AsList(this.Model.Read(this, "annotation")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + Metaclass? metaclass => Model.AsRef(this.Model.Read(this, "metaclass")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotatingRelationship => Model.AsList(this.Model.Read(this, "ownedAnnotatingRelationship")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Annotation? owningAnnotatingRelationship => Model.AsRef(this.Model.Read(this, "owningAnnotatingRelationship")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + IReadOnlyList evaluateFeature(Feature? baseFeature) => Model.AsList(this.Model.Call(this, "evaluateFeature", new object?[] { baseFeature })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + bool? isSemantic() => Model.AsBool(this.Model.Call(this, "isSemantic", System.Array.Empty())); + bool? isSyntactic() => Model.AsBool(this.Model.Call(this, "isSyntactic", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + IElement? syntaxElement() => Model.AsRef(this.Model.Call(this, "syntaxElement", System.Array.Empty())); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface MetadataUsage : MetadataFeature, ItemUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList annotatedElement => Model.AsList(this.Model.Read(this, "annotatedElement")); + new IReadOnlyList annotation => Model.AsList(this.Model.Read(this, "annotation")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Metaclass? metaclass => Model.AsRef(this.Model.Read(this, "metaclass")); + Metaclass? metadataDefinition => Model.AsRef(this.Model.Read(this, "metadataDefinition")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotatingRelationship => Model.AsList(this.Model.Read(this, "ownedAnnotatingRelationship")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Annotation? owningAnnotatingRelationship => Model.AsRef(this.Model.Read(this, "owningAnnotatingRelationship")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluateFeature(Feature? baseFeature) => Model.AsList(this.Model.Call(this, "evaluateFeature", new object?[] { baseFeature })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSemantic() => Model.AsBool(this.Model.Call(this, "isSemantic", System.Array.Empty())); + new bool? isSyntactic() => Model.AsBool(this.Model.Call(this, "isSyntactic", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IElement? syntaxElement() => Model.AsRef(this.Model.Call(this, "syntaxElement", System.Array.Empty())); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Multiplicity : Feature +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface MultiplicityRange : Multiplicity +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList bound => Model.AsList(this.Model.Read(this, "bound")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + Expression? lowerBound => Model.AsRef(this.Model.Read(this, "lowerBound")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + Expression? upperBound => Model.AsRef(this.Model.Read(this, "upperBound")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + bool? hasBounds(long? lower, long? upper) => Model.AsBool(this.Model.Call(this, "hasBounds", new object?[] { lower, upper })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + long? valueOf(Expression? bound) => Model.AsInt(this.Model.Call(this, "valueOf", new object?[] { bound })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Namespace : IElement +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface NamespaceExpose : Expose, NamespaceImport +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Namespace? importOwningNamespace => Model.AsRef(this.Model.Read(this, "importOwningNamespace")); + new IElement? importedElement => Model.AsRef(this.Model.Read(this, "importedElement")); + new Namespace? importedNamespace => Model.AsRef(this.Model.Read(this, "importedNamespace")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isImportAll => Model.AsBool(this.Model.Read(this, "isImportAll")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isRecursive => Model.AsBool(this.Model.Read(this, "isRecursive")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface NamespaceImport : Import +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Namespace? importOwningNamespace => Model.AsRef(this.Model.Read(this, "importOwningNamespace")); + new IElement? importedElement => Model.AsRef(this.Model.Read(this, "importedElement")); + Namespace? importedNamespace => Model.AsRef(this.Model.Read(this, "importedNamespace")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isImportAll => Model.AsBool(this.Model.Read(this, "isImportAll")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isRecursive => Model.AsBool(this.Model.Read(this, "isRecursive")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface NullExpression : Expression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ObjectiveMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + RequirementUsage? ownedObjectiveRequirement => Model.AsRef(this.Model.Read(this, "ownedObjectiveRequirement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface OccurrenceDefinition : Definition, Class +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface OccurrenceUsage : Usage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface OperatorExpression : InvocationExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + string? @operator => Model.AsString(this.Model.Read(this, "operator")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface OwningMembership : Membership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Package : Namespace +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + IReadOnlyList filterCondition => Model.AsList(this.Model.Read(this, "filterCondition")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + bool? includeAsMember(IElement? element) => Model.AsBool(this.Model.Call(this, "includeAsMember", new object?[] { element })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface ParameterMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + Feature? ownedMemberParameter => Model.AsRef(this.Model.Read(this, "ownedMemberParameter")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + string? parameterDirection() => Model.AsString(this.Model.Call(this, "parameterDirection", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface PartDefinition : ItemDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface PartUsage : ItemUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + IReadOnlyList partDefinition => Model.AsList(this.Model.Read(this, "partDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface PayloadFeature : Feature +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface PerformActionUsage : EventOccurrenceUsage, ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new OccurrenceUsage? eventOccurrence => Model.AsRef(this.Model.Read(this, "eventOccurrence")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + ActionUsage? performedAction => Model.AsRef(this.Model.Read(this, "performedAction")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface PortConjugation : Conjugation +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + ConjugatedPortDefinition? conjugatedPortDefinition => Model.AsRef(this.Model.Read(this, "conjugatedPortDefinition")); + new Type? conjugatedType => Model.AsRef(this.Model.Read(this, "conjugatedType")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + PortDefinition? originalPortDefinition => Model.AsRef(this.Model.Read(this, "originalPortDefinition")); + new Type? originalType => Model.AsRef(this.Model.Read(this, "originalType")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface PortDefinition : Structure, OccurrenceDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + ConjugatedPortDefinition? conjugatedPortDefinition => Model.AsRef(this.Model.Read(this, "conjugatedPortDefinition")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface PortUsage : OccurrenceUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + IReadOnlyList portDefinition => Model.AsList(this.Model.Read(this, "portDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Predicate : Function +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Redefinition : Subsetting +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Feature? redefinedFeature => Model.AsRef(this.Model.Read(this, "redefinedFeature")); + Feature? redefiningFeature => Model.AsRef(this.Model.Read(this, "redefiningFeature")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + new Feature? subsettedFeature => Model.AsRef(this.Model.Read(this, "subsettedFeature")); + new Feature? subsettingFeature => Model.AsRef(this.Model.Read(this, "subsettingFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface ReferenceSubsetting : Subsetting +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Feature? referencedFeature => Model.AsRef(this.Model.Read(this, "referencedFeature")); + Feature? referencingFeature => Model.AsRef(this.Model.Read(this, "referencingFeature")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + new Feature? subsettedFeature => Model.AsRef(this.Model.Read(this, "subsettedFeature")); + new Feature? subsettingFeature => Model.AsRef(this.Model.Read(this, "subsettingFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface ReferenceUsage : Usage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// abstract — KerML 20250201. +public interface Relationship : IElement +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface RenderingDefinition : PartDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + IReadOnlyList rendering => Model.AsList(this.Model.Read(this, "rendering")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface RenderingUsage : PartUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList partDefinition => Model.AsList(this.Model.Read(this, "partDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + RenderingDefinition? renderingDefinition => Model.AsRef(this.Model.Read(this, "renderingDefinition")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface RequirementConstraintMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + string? kind => Model.AsString(this.Model.Read(this, "kind")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + ConstraintUsage? ownedConstraint => Model.AsRef(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + ConstraintUsage? referencedConstraint => Model.AsRef(this.Model.Read(this, "referencedConstraint")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface RequirementDefinition : ConstraintDefinition +{ + IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface RequirementUsage : ConstraintUsage +{ + IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Predicate? constraintDefinition => Model.AsRef(this.Model.Read(this, "constraintDefinition")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + RequirementDefinition? requirementDefinition => Model.AsRef(this.Model.Read(this, "requirementDefinition")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface RequirementVerificationMembership : RequirementConstraintMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? kind => Model.AsString(this.Model.Read(this, "kind")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new ConstraintUsage? ownedConstraint => Model.AsRef(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + RequirementUsage? ownedRequirement => Model.AsRef(this.Model.Read(this, "ownedRequirement")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new ConstraintUsage? referencedConstraint => Model.AsRef(this.Model.Read(this, "referencedConstraint")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + RequirementUsage? verifiedRequirement => Model.AsRef(this.Model.Read(this, "verifiedRequirement")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface ResultExpressionMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + Expression? ownedResultExpression => Model.AsRef(this.Model.Read(this, "ownedResultExpression")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface ReturnParameterMembership : ParameterMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new Feature? ownedMemberParameter => Model.AsRef(this.Model.Read(this, "ownedMemberParameter")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? parameterDirection() => Model.AsString(this.Model.Call(this, "parameterDirection", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface SatisfyRequirementUsage : RequirementUsage, AssertConstraintUsage +{ + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new ConstraintUsage? assertedConstraint => Model.AsRef(this.Model.Read(this, "assertedConstraint")); + new IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Predicate? constraintDefinition => Model.AsRef(this.Model.Read(this, "constraintDefinition")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isNegated => Model.AsBool(this.Model.Read(this, "isNegated")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + new IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + new RequirementDefinition? requirementDefinition => Model.AsRef(this.Model.Read(this, "requirementDefinition")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + RequirementUsage? satisfiedRequirement => Model.AsRef(this.Model.Read(this, "satisfiedRequirement")); + Feature? satisfyingFeature => Model.AsRef(this.Model.Read(this, "satisfyingFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface SelectExpression : OperatorExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new string? @operator => Model.AsString(this.Model.Read(this, "operator")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface SendActionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + Expression? payloadArgument => Model.AsRef(this.Model.Read(this, "payloadArgument")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + Expression? receiverArgument => Model.AsRef(this.Model.Read(this, "receiverArgument")); + Expression? senderArgument => Model.AsRef(this.Model.Read(this, "senderArgument")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Specialization : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface StakeholderMembership : ParameterMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new Feature? ownedMemberParameter => Model.AsRef(this.Model.Read(this, "ownedMemberParameter")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + PartUsage? ownedStakeholderParameter => Model.AsRef(this.Model.Read(this, "ownedStakeholderParameter")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? parameterDirection() => Model.AsString(this.Model.Call(this, "parameterDirection", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface StateDefinition : ActionDefinition +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + ActionUsage? doAction => Model.AsRef(this.Model.Read(this, "doAction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + ActionUsage? entryAction => Model.AsRef(this.Model.Read(this, "entryAction")); + ActionUsage? exitAction => Model.AsRef(this.Model.Read(this, "exitAction")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isParallel => Model.AsBool(this.Model.Read(this, "isParallel")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList state => Model.AsList(this.Model.Read(this, "state")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface StateSubactionMembership : FeatureMembership +{ + ActionUsage? action => Model.AsRef(this.Model.Read(this, "action")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + string? kind => Model.AsString(this.Model.Read(this, "kind")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface StateUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + ActionUsage? doAction => Model.AsRef(this.Model.Read(this, "doAction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + ActionUsage? entryAction => Model.AsRef(this.Model.Read(this, "entryAction")); + ActionUsage? exitAction => Model.AsRef(this.Model.Read(this, "exitAction")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + bool? isParallel => Model.AsBool(this.Model.Read(this, "isParallel")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + IReadOnlyList stateDefinition => Model.AsList(this.Model.Read(this, "stateDefinition")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + bool? isSubstateUsage(bool? isParallel) => Model.AsBool(this.Model.Call(this, "isSubstateUsage", new object?[] { isParallel })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Step : Feature +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Structure : Class +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Subclassification : Specialization +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Classifier? owningClassifier => Model.AsRef(this.Model.Read(this, "owningClassifier")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + Classifier? subclassifier => Model.AsRef(this.Model.Read(this, "subclassifier")); + Classifier? superclassifier => Model.AsRef(this.Model.Read(this, "superclassifier")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface SubjectMembership : ParameterMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new Feature? ownedMemberParameter => Model.AsRef(this.Model.Read(this, "ownedMemberParameter")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + Usage? ownedSubjectParameter => Model.AsRef(this.Model.Read(this, "ownedSubjectParameter")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? parameterDirection() => Model.AsString(this.Model.Call(this, "parameterDirection", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Subsetting : Specialization +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new Type? general => Model.AsRef(this.Model.Read(this, "general")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Feature? owningFeature => Model.AsRef(this.Model.Read(this, "owningFeature")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Type? specific => Model.AsRef(this.Model.Read(this, "specific")); + Feature? subsettedFeature => Model.AsRef(this.Model.Read(this, "subsettedFeature")); + Feature? subsettingFeature => Model.AsRef(this.Model.Read(this, "subsettingFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Succession : Connector +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface SuccessionAsUsage : ConnectorAsUsage, Succession +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface SuccessionFlow : Succession, Flow +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList flowEnd => Model.AsList(this.Model.Read(this, "flowEnd")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList interaction => Model.AsList(this.Model.Read(this, "interaction")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new PayloadFeature? payloadFeature => Model.AsRef(this.Model.Read(this, "payloadFeature")); + new IReadOnlyList payloadType => Model.AsList(this.Model.Read(this, "payloadType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new Feature? sourceOutputFeature => Model.AsRef(this.Model.Read(this, "sourceOutputFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new Feature? targetInputFeature => Model.AsRef(this.Model.Read(this, "targetInputFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface SuccessionFlowUsage : SuccessionFlow, FlowUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList association => Model.AsList(this.Model.Read(this, "association")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new IReadOnlyList connectorEnd => Model.AsList(this.Model.Read(this, "connectorEnd")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new Type? defaultFeaturingType => Model.AsRef(this.Model.Read(this, "defaultFeaturingType")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList flowDefinition => Model.AsList(this.Model.Read(this, "flowDefinition")); + new IReadOnlyList flowEnd => Model.AsList(this.Model.Read(this, "flowEnd")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList interaction => Model.AsList(this.Model.Read(this, "interaction")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new PayloadFeature? payloadFeature => Model.AsRef(this.Model.Read(this, "payloadFeature")); + new IReadOnlyList payloadType => Model.AsList(this.Model.Read(this, "payloadType")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new IReadOnlyList relatedFeature => Model.AsList(this.Model.Read(this, "relatedFeature")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new Feature? sourceFeature => Model.AsRef(this.Model.Read(this, "sourceFeature")); + new Feature? sourceOutputFeature => Model.AsRef(this.Model.Read(this, "sourceOutputFeature")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList targetFeature => Model.AsList(this.Model.Read(this, "targetFeature")); + new Feature? targetInputFeature => Model.AsRef(this.Model.Read(this, "targetInputFeature")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface TerminateActionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + Expression? terminatedOccurrenceArgument => Model.AsRef(this.Model.Read(this, "terminatedOccurrenceArgument")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface TextualRepresentation : AnnotatingElement +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList annotatedElement => Model.AsList(this.Model.Read(this, "annotatedElement")); + new IReadOnlyList annotation => Model.AsList(this.Model.Read(this, "annotation")); + string? body => Model.AsString(this.Model.Read(this, "body")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + string? language => Model.AsString(this.Model.Read(this, "language")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotatingRelationship => Model.AsList(this.Model.Read(this, "ownedAnnotatingRelationship")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Annotation? owningAnnotatingRelationship => Model.AsRef(this.Model.Read(this, "owningAnnotatingRelationship")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + IElement? representedElement => Model.AsRef(this.Model.Read(this, "representedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface TransitionFeatureMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + string? kind => Model.AsString(this.Model.Read(this, "kind")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Step? transitionFeature => Model.AsRef(this.Model.Read(this, "transitionFeature")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface TransitionUsage : ActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + IReadOnlyList effectAction => Model.AsList(this.Model.Read(this, "effectAction")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + IReadOnlyList guardExpression => Model.AsList(this.Model.Read(this, "guardExpression")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + ActionUsage? source => Model.AsRef(this.Model.Read(this, "source")); + Succession? succession => Model.AsRef(this.Model.Read(this, "succession")); + ActionUsage? target => Model.AsRef(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + IReadOnlyList triggerAction => Model.AsList(this.Model.Read(this, "triggerAction")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + Feature? sourceFeature() => Model.AsRef(this.Model.Call(this, "sourceFeature", System.Array.Empty())); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + ReferenceUsage? triggerPayloadParameter() => Model.AsRef(this.Model.Call(this, "triggerPayloadParameter", System.Array.Empty())); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface TriggerInvocationExpression : InvocationExpression +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList argument => Model.AsList(this.Model.Read(this, "argument")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new Type? instantiatedType => Model.AsRef(this.Model.Read(this, "instantiatedType")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + string? kind => Model.AsString(this.Model.Read(this, "kind")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Type? instantiatedTypeOp() => Model.AsRef(this.Model.Call(this, "instantiatedType", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface Type : Namespace +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — KerML 20250201. +public interface TypeFeaturing : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + Feature? featureOfType => Model.AsRef(this.Model.Read(this, "featureOfType")); + Type? featuringType => Model.AsRef(this.Model.Read(this, "featuringType")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Feature? owningFeatureOfType => Model.AsRef(this.Model.Read(this, "owningFeatureOfType")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — KerML 20250201. +public interface Unioning : Relationship +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + Type? typeUnioned => Model.AsRef(this.Model.Read(this, "typeUnioned")); + Type? unioningType => Model.AsRef(this.Model.Read(this, "unioningType")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface Usage : Feature +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface UseCaseDefinition : CaseDefinition +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList calculation => Model.AsList(this.Model.Read(this, "calculation")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + IReadOnlyList includedUseCase => Model.AsList(this.Model.Read(this, "includedUseCase")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface UseCaseUsage : CaseUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new Function? calculationDefinition => Model.AsRef(this.Model.Read(this, "calculationDefinition")); + new CaseDefinition? caseDefinition => Model.AsRef(this.Model.Read(this, "caseDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + IReadOnlyList includedUseCase => Model.AsList(this.Model.Read(this, "includedUseCase")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + UseCaseDefinition? useCaseDefinition => Model.AsRef(this.Model.Read(this, "useCaseDefinition")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface VariantMembership : OwningMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + Usage? ownedVariantUsage => Model.AsRef(this.Model.Read(this, "ownedVariantUsage")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface VerificationCaseDefinition : CaseDefinition +{ + new IReadOnlyList action => Model.AsList(this.Model.Read(this, "action")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList calculation => Model.AsList(this.Model.Read(this, "calculation")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + IReadOnlyList verifiedRequirement => Model.AsList(this.Model.Read(this, "verifiedRequirement")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface VerificationCaseUsage : CaseUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new Function? calculationDefinition => Model.AsRef(this.Model.Read(this, "calculationDefinition")); + new CaseDefinition? caseDefinition => Model.AsRef(this.Model.Read(this, "caseDefinition")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new RequirementUsage? objectiveRequirement => Model.AsRef(this.Model.Read(this, "objectiveRequirement")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + VerificationCaseDefinition? verificationCaseDefinition => Model.AsRef(this.Model.Read(this, "verificationCaseDefinition")); + IReadOnlyList verifiedRequirement => Model.AsList(this.Model.Read(this, "verifiedRequirement")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ViewDefinition : PartDefinition +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + IReadOnlyList satisfiedViewpoint => Model.AsList(this.Model.Read(this, "satisfiedViewpoint")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + IReadOnlyList view => Model.AsList(this.Model.Read(this, "view")); + IReadOnlyList viewCondition => Model.AsList(this.Model.Read(this, "viewCondition")); + RenderingUsage? viewRendering => Model.AsRef(this.Model.Read(this, "viewRendering")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ViewRenderingMembership : FeatureMembership +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new bool? isImplied => Model.AsBool(this.Model.Read(this, "isImplied")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new IElement? memberElement => Model.AsRef(this.Model.Read(this, "memberElement")); + new string? memberElementId => Model.AsString(this.Model.Read(this, "memberElementId")); + new string? memberName => Model.AsString(this.Model.Read(this, "memberName")); + new string? memberShortName => Model.AsString(this.Model.Read(this, "memberShortName")); + new Namespace? membershipOwningNamespace => Model.AsRef(this.Model.Read(this, "membershipOwningNamespace")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IElement? ownedMemberElement => Model.AsRef(this.Model.Read(this, "ownedMemberElement")); + new string? ownedMemberElementId => Model.AsString(this.Model.Read(this, "ownedMemberElementId")); + new Feature? ownedMemberFeature => Model.AsRef(this.Model.Read(this, "ownedMemberFeature")); + new string? ownedMemberName => Model.AsString(this.Model.Read(this, "ownedMemberName")); + new string? ownedMemberShortName => Model.AsString(this.Model.Read(this, "ownedMemberShortName")); + new IReadOnlyList ownedRelatedElement => Model.AsList(this.Model.Read(this, "ownedRelatedElement")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + RenderingUsage? ownedRendering => Model.AsRef(this.Model.Read(this, "ownedRendering")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new IElement? owningRelatedElement => Model.AsRef(this.Model.Read(this, "owningRelatedElement")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + RenderingUsage? referencedRendering => Model.AsRef(this.Model.Read(this, "referencedRendering")); + new IReadOnlyList relatedElement => Model.AsList(this.Model.Read(this, "relatedElement")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList source => Model.AsList(this.Model.Read(this, "source")); + new IReadOnlyList target => Model.AsList(this.Model.Read(this, "target")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new string? visibility => Model.AsString(this.Model.Read(this, "visibility")); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new bool? isDistinguishableFrom(Membership? other) => Model.AsBool(this.Model.Call(this, "isDistinguishableFrom", new object?[] { other })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); +} + +/// concrete — SysML 20250201. +public interface ViewUsage : PartUsage +{ + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + IReadOnlyList exposedElement => Model.AsList(this.Model.Read(this, "exposedElement")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList itemDefinition => Model.AsList(this.Model.Read(this, "itemDefinition")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList partDefinition => Model.AsList(this.Model.Read(this, "partDefinition")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + IReadOnlyList satisfiedViewpoint => Model.AsList(this.Model.Read(this, "satisfiedViewpoint")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + IReadOnlyList viewCondition => Model.AsList(this.Model.Read(this, "viewCondition")); + ViewDefinition? viewDefinition => Model.AsRef(this.Model.Read(this, "viewDefinition")); + RenderingUsage? viewRendering => Model.AsRef(this.Model.Read(this, "viewRendering")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + bool? includeAsExposed(IElement? element) => Model.AsBool(this.Model.Call(this, "includeAsExposed", new object?[] { element })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ViewpointDefinition : RequirementDefinition +{ + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new IReadOnlyList expression => Model.AsList(this.Model.Read(this, "expression")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAction => Model.AsList(this.Model.Read(this, "ownedAction")); + new IReadOnlyList ownedAllocation => Model.AsList(this.Model.Read(this, "ownedAllocation")); + new IReadOnlyList ownedAnalysisCase => Model.AsList(this.Model.Read(this, "ownedAnalysisCase")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new IReadOnlyList ownedAttribute => Model.AsList(this.Model.Read(this, "ownedAttribute")); + new IReadOnlyList ownedCalculation => Model.AsList(this.Model.Read(this, "ownedCalculation")); + new IReadOnlyList ownedCase => Model.AsList(this.Model.Read(this, "ownedCase")); + new IReadOnlyList ownedConcern => Model.AsList(this.Model.Read(this, "ownedConcern")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new IReadOnlyList ownedConnection => Model.AsList(this.Model.Read(this, "ownedConnection")); + new IReadOnlyList ownedConstraint => Model.AsList(this.Model.Read(this, "ownedConstraint")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedEnumeration => Model.AsList(this.Model.Read(this, "ownedEnumeration")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedFlow => Model.AsList(this.Model.Read(this, "ownedFlow")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedInterface => Model.AsList(this.Model.Read(this, "ownedInterface")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedItem => Model.AsList(this.Model.Read(this, "ownedItem")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedMetadata => Model.AsList(this.Model.Read(this, "ownedMetadata")); + new IReadOnlyList ownedOccurrence => Model.AsList(this.Model.Read(this, "ownedOccurrence")); + new IReadOnlyList ownedPart => Model.AsList(this.Model.Read(this, "ownedPart")); + new IReadOnlyList ownedPort => Model.AsList(this.Model.Read(this, "ownedPort")); + new IReadOnlyList ownedReference => Model.AsList(this.Model.Read(this, "ownedReference")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedRendering => Model.AsList(this.Model.Read(this, "ownedRendering")); + new IReadOnlyList ownedRequirement => Model.AsList(this.Model.Read(this, "ownedRequirement")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedState => Model.AsList(this.Model.Read(this, "ownedState")); + new IReadOnlyList ownedSubclassification => Model.AsList(this.Model.Read(this, "ownedSubclassification")); + new IReadOnlyList ownedTransition => Model.AsList(this.Model.Read(this, "ownedTransition")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IReadOnlyList ownedUsage => Model.AsList(this.Model.Read(this, "ownedUsage")); + new IReadOnlyList ownedUseCase => Model.AsList(this.Model.Read(this, "ownedUseCase")); + new IReadOnlyList ownedVerificationCase => Model.AsList(this.Model.Read(this, "ownedVerificationCase")); + new IReadOnlyList ownedView => Model.AsList(this.Model.Read(this, "ownedView")); + new IReadOnlyList ownedViewpoint => Model.AsList(this.Model.Read(this, "ownedViewpoint")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + new IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + new IReadOnlyList step => Model.AsList(this.Model.Read(this, "step")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + IReadOnlyList viewpointStakeholder => Model.AsList(this.Model.Read(this, "viewpointStakeholder")); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface ViewpointUsage : RequirementUsage +{ + new IReadOnlyList actorParameter => Model.AsList(this.Model.Read(this, "actorParameter")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList assumedConstraint => Model.AsList(this.Model.Read(this, "assumedConstraint")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Predicate? constraintDefinition => Model.AsRef(this.Model.Read(this, "constraintDefinition")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList framedConcern => Model.AsList(this.Model.Read(this, "framedConcern")); + new Function? function => Model.AsRef(this.Model.Read(this, "function")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isModelLevelEvaluable => Model.AsBool(this.Model.Read(this, "isModelLevelEvaluable")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new Predicate? predicate => Model.AsRef(this.Model.Read(this, "predicate")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? reqId => Model.AsString(this.Model.Read(this, "reqId")); + new IReadOnlyList requiredConstraint => Model.AsList(this.Model.Read(this, "requiredConstraint")); + new RequirementDefinition? requirementDefinition => Model.AsRef(this.Model.Read(this, "requirementDefinition")); + new Feature? result => Model.AsRef(this.Model.Read(this, "result")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList stakeholderParameter => Model.AsList(this.Model.Read(this, "stakeholderParameter")); + new Usage? subjectParameter => Model.AsRef(this.Model.Read(this, "subjectParameter")); + new IReadOnlyList text => Model.AsList(this.Model.Read(this, "text")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + ViewpointDefinition? viewpointDefinition => Model.AsRef(this.Model.Read(this, "viewpointDefinition")); + IReadOnlyList viewpointStakeholder => Model.AsList(this.Model.Read(this, "viewpointStakeholder")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new bool? checkCondition(IElement? target) => Model.AsBool(this.Model.Call(this, "checkCondition", new object?[] { target })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList evaluate(IElement? target) => Model.AsList(this.Model.Call(this, "evaluate", new object?[] { target })); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new bool? modelLevelEvaluable(IReadOnlyList visited) => Model.AsBool(this.Model.Call(this, "modelLevelEvaluable", new object?[] { visited })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +/// concrete — SysML 20250201. +public interface WhileLoopActionUsage : LoopActionUsage +{ + new IReadOnlyList actionDefinition => Model.AsList(this.Model.Read(this, "actionDefinition")); + new IReadOnlyList aliasIds => Model.AsList(this.Model.Read(this, "aliasIds")); + new IReadOnlyList behavior => Model.AsList(this.Model.Read(this, "behavior")); + new ActionUsage? bodyAction => Model.AsRef(this.Model.Read(this, "bodyAction")); + new IReadOnlyList chainingFeature => Model.AsList(this.Model.Read(this, "chainingFeature")); + new Feature? crossFeature => Model.AsRef(this.Model.Read(this, "crossFeature")); + new string? declaredName => Model.AsString(this.Model.Read(this, "declaredName")); + new string? declaredShortName => Model.AsString(this.Model.Read(this, "declaredShortName")); + new IReadOnlyList definition => Model.AsList(this.Model.Read(this, "definition")); + new IReadOnlyList differencingType => Model.AsList(this.Model.Read(this, "differencingType")); + new IReadOnlyList directedFeature => Model.AsList(this.Model.Read(this, "directedFeature")); + new IReadOnlyList directedUsage => Model.AsList(this.Model.Read(this, "directedUsage")); + new string? direction => Model.AsString(this.Model.Read(this, "direction")); + new IReadOnlyList documentation => Model.AsList(this.Model.Read(this, "documentation")); + new string? elementId => Model.AsString(this.Model.Read(this, "elementId")); + new IReadOnlyList endFeature => Model.AsList(this.Model.Read(this, "endFeature")); + new Type? endOwningType => Model.AsRef(this.Model.Read(this, "endOwningType")); + new IReadOnlyList feature => Model.AsList(this.Model.Read(this, "feature")); + new IReadOnlyList featureMembership => Model.AsList(this.Model.Read(this, "featureMembership")); + new Feature? featureTarget => Model.AsRef(this.Model.Read(this, "featureTarget")); + new IReadOnlyList featuringType => Model.AsList(this.Model.Read(this, "featuringType")); + new IReadOnlyList importedMembership => Model.AsList(this.Model.Read(this, "importedMembership")); + new OccurrenceDefinition? individualDefinition => Model.AsRef(this.Model.Read(this, "individualDefinition")); + new IReadOnlyList inheritedFeature => Model.AsList(this.Model.Read(this, "inheritedFeature")); + new IReadOnlyList inheritedMembership => Model.AsList(this.Model.Read(this, "inheritedMembership")); + new IReadOnlyList input => Model.AsList(this.Model.Read(this, "input")); + new IReadOnlyList intersectingType => Model.AsList(this.Model.Read(this, "intersectingType")); + new bool? isAbstract => Model.AsBool(this.Model.Read(this, "isAbstract")); + new bool? isComposite => Model.AsBool(this.Model.Read(this, "isComposite")); + new bool? isConjugated => Model.AsBool(this.Model.Read(this, "isConjugated")); + new bool? isConstant => Model.AsBool(this.Model.Read(this, "isConstant")); + new bool? isDerived => Model.AsBool(this.Model.Read(this, "isDerived")); + new bool? isEnd => Model.AsBool(this.Model.Read(this, "isEnd")); + new bool? isImpliedIncluded => Model.AsBool(this.Model.Read(this, "isImpliedIncluded")); + new bool? isIndividual => Model.AsBool(this.Model.Read(this, "isIndividual")); + new bool? isLibraryElement => Model.AsBool(this.Model.Read(this, "isLibraryElement")); + new bool? isOrdered => Model.AsBool(this.Model.Read(this, "isOrdered")); + new bool? isPortion => Model.AsBool(this.Model.Read(this, "isPortion")); + new bool? isReference => Model.AsBool(this.Model.Read(this, "isReference")); + new bool? isSufficient => Model.AsBool(this.Model.Read(this, "isSufficient")); + new bool? isUnique => Model.AsBool(this.Model.Read(this, "isUnique")); + new bool? isVariable => Model.AsBool(this.Model.Read(this, "isVariable")); + new bool? isVariation => Model.AsBool(this.Model.Read(this, "isVariation")); + new bool? mayTimeVary => Model.AsBool(this.Model.Read(this, "mayTimeVary")); + new IReadOnlyList member => Model.AsList(this.Model.Read(this, "member")); + new IReadOnlyList membership => Model.AsList(this.Model.Read(this, "membership")); + new Multiplicity? multiplicity => Model.AsRef(this.Model.Read(this, "multiplicity")); + new string? name => Model.AsString(this.Model.Read(this, "name")); + new IReadOnlyList nestedAction => Model.AsList(this.Model.Read(this, "nestedAction")); + new IReadOnlyList nestedAllocation => Model.AsList(this.Model.Read(this, "nestedAllocation")); + new IReadOnlyList nestedAnalysisCase => Model.AsList(this.Model.Read(this, "nestedAnalysisCase")); + new IReadOnlyList nestedAttribute => Model.AsList(this.Model.Read(this, "nestedAttribute")); + new IReadOnlyList nestedCalculation => Model.AsList(this.Model.Read(this, "nestedCalculation")); + new IReadOnlyList nestedCase => Model.AsList(this.Model.Read(this, "nestedCase")); + new IReadOnlyList nestedConcern => Model.AsList(this.Model.Read(this, "nestedConcern")); + new IReadOnlyList nestedConnection => Model.AsList(this.Model.Read(this, "nestedConnection")); + new IReadOnlyList nestedConstraint => Model.AsList(this.Model.Read(this, "nestedConstraint")); + new IReadOnlyList nestedEnumeration => Model.AsList(this.Model.Read(this, "nestedEnumeration")); + new IReadOnlyList nestedFlow => Model.AsList(this.Model.Read(this, "nestedFlow")); + new IReadOnlyList nestedInterface => Model.AsList(this.Model.Read(this, "nestedInterface")); + new IReadOnlyList nestedItem => Model.AsList(this.Model.Read(this, "nestedItem")); + new IReadOnlyList nestedMetadata => Model.AsList(this.Model.Read(this, "nestedMetadata")); + new IReadOnlyList nestedOccurrence => Model.AsList(this.Model.Read(this, "nestedOccurrence")); + new IReadOnlyList nestedPart => Model.AsList(this.Model.Read(this, "nestedPart")); + new IReadOnlyList nestedPort => Model.AsList(this.Model.Read(this, "nestedPort")); + new IReadOnlyList nestedReference => Model.AsList(this.Model.Read(this, "nestedReference")); + new IReadOnlyList nestedRendering => Model.AsList(this.Model.Read(this, "nestedRendering")); + new IReadOnlyList nestedRequirement => Model.AsList(this.Model.Read(this, "nestedRequirement")); + new IReadOnlyList nestedState => Model.AsList(this.Model.Read(this, "nestedState")); + new IReadOnlyList nestedTransition => Model.AsList(this.Model.Read(this, "nestedTransition")); + new IReadOnlyList nestedUsage => Model.AsList(this.Model.Read(this, "nestedUsage")); + new IReadOnlyList nestedUseCase => Model.AsList(this.Model.Read(this, "nestedUseCase")); + new IReadOnlyList nestedVerificationCase => Model.AsList(this.Model.Read(this, "nestedVerificationCase")); + new IReadOnlyList nestedView => Model.AsList(this.Model.Read(this, "nestedView")); + new IReadOnlyList nestedViewpoint => Model.AsList(this.Model.Read(this, "nestedViewpoint")); + new IReadOnlyList occurrenceDefinition => Model.AsList(this.Model.Read(this, "occurrenceDefinition")); + new IReadOnlyList output => Model.AsList(this.Model.Read(this, "output")); + new IReadOnlyList ownedAnnotation => Model.AsList(this.Model.Read(this, "ownedAnnotation")); + new Conjugation? ownedConjugator => Model.AsRef(this.Model.Read(this, "ownedConjugator")); + new CrossSubsetting? ownedCrossSubsetting => Model.AsRef(this.Model.Read(this, "ownedCrossSubsetting")); + new IReadOnlyList ownedDifferencing => Model.AsList(this.Model.Read(this, "ownedDifferencing")); + new IReadOnlyList ownedDisjoining => Model.AsList(this.Model.Read(this, "ownedDisjoining")); + new IReadOnlyList ownedElement => Model.AsList(this.Model.Read(this, "ownedElement")); + new IReadOnlyList ownedEndFeature => Model.AsList(this.Model.Read(this, "ownedEndFeature")); + new IReadOnlyList ownedFeature => Model.AsList(this.Model.Read(this, "ownedFeature")); + new IReadOnlyList ownedFeatureChaining => Model.AsList(this.Model.Read(this, "ownedFeatureChaining")); + new IReadOnlyList ownedFeatureInverting => Model.AsList(this.Model.Read(this, "ownedFeatureInverting")); + new IReadOnlyList ownedFeatureMembership => Model.AsList(this.Model.Read(this, "ownedFeatureMembership")); + new IReadOnlyList ownedImport => Model.AsList(this.Model.Read(this, "ownedImport")); + new IReadOnlyList ownedIntersecting => Model.AsList(this.Model.Read(this, "ownedIntersecting")); + new IReadOnlyList ownedMember => Model.AsList(this.Model.Read(this, "ownedMember")); + new IReadOnlyList ownedMembership => Model.AsList(this.Model.Read(this, "ownedMembership")); + new IReadOnlyList ownedRedefinition => Model.AsList(this.Model.Read(this, "ownedRedefinition")); + new ReferenceSubsetting? ownedReferenceSubsetting => Model.AsRef(this.Model.Read(this, "ownedReferenceSubsetting")); + new IReadOnlyList ownedRelationship => Model.AsList(this.Model.Read(this, "ownedRelationship")); + new IReadOnlyList ownedSpecialization => Model.AsList(this.Model.Read(this, "ownedSpecialization")); + new IReadOnlyList ownedSubsetting => Model.AsList(this.Model.Read(this, "ownedSubsetting")); + new IReadOnlyList ownedTypeFeaturing => Model.AsList(this.Model.Read(this, "ownedTypeFeaturing")); + new IReadOnlyList ownedTyping => Model.AsList(this.Model.Read(this, "ownedTyping")); + new IReadOnlyList ownedUnioning => Model.AsList(this.Model.Read(this, "ownedUnioning")); + new IElement? owner => Model.AsRef(this.Model.Read(this, "owner")); + new Definition? owningDefinition => Model.AsRef(this.Model.Read(this, "owningDefinition")); + new FeatureMembership? owningFeatureMembership => Model.AsRef(this.Model.Read(this, "owningFeatureMembership")); + new OwningMembership? owningMembership => Model.AsRef(this.Model.Read(this, "owningMembership")); + new Namespace? owningNamespace => Model.AsRef(this.Model.Read(this, "owningNamespace")); + new Relationship? owningRelationship => Model.AsRef(this.Model.Read(this, "owningRelationship")); + new Type? owningType => Model.AsRef(this.Model.Read(this, "owningType")); + new Usage? owningUsage => Model.AsRef(this.Model.Read(this, "owningUsage")); + new IReadOnlyList parameter => Model.AsList(this.Model.Read(this, "parameter")); + new string? portionKind => Model.AsString(this.Model.Read(this, "portionKind")); + new string? qualifiedName => Model.AsString(this.Model.Read(this, "qualifiedName")); + new string? shortName => Model.AsString(this.Model.Read(this, "shortName")); + new IReadOnlyList textualRepresentation => Model.AsList(this.Model.Read(this, "textualRepresentation")); + new IReadOnlyList type => Model.AsList(this.Model.Read(this, "type")); + new IReadOnlyList unioningType => Model.AsList(this.Model.Read(this, "unioningType")); + Expression? untilArgument => Model.AsRef(this.Model.Read(this, "untilArgument")); + new IReadOnlyList usage => Model.AsList(this.Model.Read(this, "usage")); + new IReadOnlyList variant => Model.AsList(this.Model.Read(this, "variant")); + new IReadOnlyList variantMembership => Model.AsList(this.Model.Read(this, "variantMembership")); + Expression? whileArgument => Model.AsRef(this.Model.Read(this, "whileArgument")); + new IReadOnlyList allRedefinedFeatures() => Model.AsList(this.Model.Call(this, "allRedefinedFeatures", System.Array.Empty())); + new IReadOnlyList allRedefinedFeaturesOf(Membership? membership) => Model.AsList(this.Model.Call(this, "allRedefinedFeaturesOf", new object?[] { membership })); + new IReadOnlyList allSupertypes() => Model.AsList(this.Model.Call(this, "allSupertypes", System.Array.Empty())); + new Expression? argument(long? i) => Model.AsRef(this.Model.Call(this, "argument", new object?[] { i })); + new IReadOnlyList asCartesianProduct() => Model.AsList(this.Model.Call(this, "asCartesianProduct", System.Array.Empty())); + new bool? canAccess(Feature? feature) => Model.AsBool(this.Model.Call(this, "canAccess", new object?[] { feature })); + new string? directionFor(Type? type) => Model.AsString(this.Model.Call(this, "directionFor", new object?[] { type })); + new string? directionOf(Feature? feature) => Model.AsString(this.Model.Call(this, "directionOf", new object?[] { feature })); + new string? directionOfExcluding(Feature? feature, IReadOnlyList excluded) => Model.AsString(this.Model.Call(this, "directionOfExcluding", new object?[] { feature, excluded })); + new string? effectiveName() => Model.AsString(this.Model.Call(this, "effectiveName", System.Array.Empty())); + new string? effectiveShortName() => Model.AsString(this.Model.Call(this, "effectiveShortName", System.Array.Empty())); + new string? escapedName() => Model.AsString(this.Model.Call(this, "escapedName", System.Array.Empty())); + new IReadOnlyList importedMemberships(IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "importedMemberships", new object?[] { excluded })); + new IReadOnlyList inheritableMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritableMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new IReadOnlyList inheritedMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "inheritedMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? inputParameter(long? i) => Model.AsRef(this.Model.Call(this, "inputParameter", new object?[] { i })); + new IReadOnlyList inputParameters() => Model.AsList(this.Model.Call(this, "inputParameters", System.Array.Empty())); + new bool? isCartesianProduct() => Model.AsBool(this.Model.Call(this, "isCartesianProduct", System.Array.Empty())); + new bool? isCompatibleWith(Type? otherType) => Model.AsBool(this.Model.Call(this, "isCompatibleWith", new object?[] { otherType })); + new bool? isFeaturedWithin(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturedWithin", new object?[] { type })); + new bool? isFeaturingType(Type? type) => Model.AsBool(this.Model.Call(this, "isFeaturingType", new object?[] { type })); + new bool? isOwnedCrossFeature() => Model.AsBool(this.Model.Call(this, "isOwnedCrossFeature", System.Array.Empty())); + new bool? isSubactionUsage() => Model.AsBool(this.Model.Call(this, "isSubactionUsage", System.Array.Empty())); + new Namespace? libraryNamespace() => Model.AsRef(this.Model.Call(this, "libraryNamespace", System.Array.Empty())); + new IReadOnlyList membershipsOfVisibility(string? visibility, IReadOnlyList excluded) => Model.AsList(this.Model.Call(this, "membershipsOfVisibility", new object?[] { visibility, excluded })); + new IReadOnlyList multiplicities() => Model.AsList(this.Model.Call(this, "multiplicities", System.Array.Empty())); + new IReadOnlyList namesOf(IElement? element) => Model.AsList(this.Model.Call(this, "namesOf", new object?[] { element })); + new Feature? namingFeature() => Model.AsRef(this.Model.Call(this, "namingFeature", System.Array.Empty())); + new IReadOnlyList nonPrivateMemberships(IReadOnlyList excludedNamespaces, IReadOnlyList excludedTypes, bool? excludeImplied) => Model.AsList(this.Model.Call(this, "nonPrivateMemberships", new object?[] { excludedNamespaces, excludedTypes, excludeImplied })); + new Feature? ownedCrossFeature() => Model.AsRef(this.Model.Call(this, "ownedCrossFeature", System.Array.Empty())); + new string? path() => Model.AsString(this.Model.Call(this, "path", System.Array.Empty())); + new string? qualificationOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "qualificationOf", new object?[] { qualifiedName })); + new bool? redefines(Feature? redefinedFeature) => Model.AsBool(this.Model.Call(this, "redefines", new object?[] { redefinedFeature })); + new bool? redefinesFromLibrary(string? libraryFeatureName) => Model.AsBool(this.Model.Call(this, "redefinesFromLibrary", new object?[] { libraryFeatureName })); + new Feature? referencedFeatureTarget() => Model.AsRef(this.Model.Call(this, "referencedFeatureTarget", System.Array.Empty())); + new IReadOnlyList removeRedefinedFeatures(IReadOnlyList memberships) => Model.AsList(this.Model.Call(this, "removeRedefinedFeatures", new object?[] { memberships })); + new Membership? resolve(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolve", new object?[] { qualifiedName })); + new Membership? resolveGlobal(string? qualifiedName) => Model.AsRef(this.Model.Call(this, "resolveGlobal", new object?[] { qualifiedName })); + new Membership? resolveLocal(string? name) => Model.AsRef(this.Model.Call(this, "resolveLocal", new object?[] { name })); + new Membership? resolveVisible(string? name) => Model.AsRef(this.Model.Call(this, "resolveVisible", new object?[] { name })); + new bool? specializes(Type? supertype) => Model.AsBool(this.Model.Call(this, "specializes", new object?[] { supertype })); + new bool? specializesFromLibrary(string? libraryTypeName) => Model.AsBool(this.Model.Call(this, "specializesFromLibrary", new object?[] { libraryTypeName })); + new bool? subsetsChain(Feature? first, Feature? second) => Model.AsBool(this.Model.Call(this, "subsetsChain", new object?[] { first, second })); + new IReadOnlyList supertypes(bool? excludeImplied) => Model.AsList(this.Model.Call(this, "supertypes", new object?[] { excludeImplied })); + new IReadOnlyList typingFeatures() => Model.AsList(this.Model.Call(this, "typingFeatures", System.Array.Empty())); + new string? unqualifiedNameOf(string? qualifiedName) => Model.AsString(this.Model.Call(this, "unqualifiedNameOf", new object?[] { qualifiedName })); + new string? visibilityOf(Membership? mem) => Model.AsString(this.Model.Call(this, "visibilityOf", new object?[] { mem })); + new IReadOnlyList visibleMemberships(IReadOnlyList excluded, bool? isRecursive, bool? includeAll) => Model.AsList(this.Model.Call(this, "visibleMemberships", new object?[] { excluded, isRecursive, includeAll })); +} + +internal sealed class AcceptActionUsageEl : El, AcceptActionUsage +{ + internal AcceptActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ActionDefinitionEl : El, ActionDefinition +{ + internal ActionDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ActionUsageEl : El, ActionUsage +{ + internal ActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ActorMembershipEl : El, ActorMembership +{ + internal ActorMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AllocationDefinitionEl : El, AllocationDefinition +{ + internal AllocationDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AllocationUsageEl : El, AllocationUsage +{ + internal AllocationUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AnalysisCaseDefinitionEl : El, AnalysisCaseDefinition +{ + internal AnalysisCaseDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AnalysisCaseUsageEl : El, AnalysisCaseUsage +{ + internal AnalysisCaseUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AnnotatingElementEl : El, AnnotatingElement +{ + internal AnnotatingElementEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AnnotationEl : El, Annotation +{ + internal AnnotationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AssertConstraintUsageEl : El, AssertConstraintUsage +{ + internal AssertConstraintUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AssignmentActionUsageEl : El, AssignmentActionUsage +{ + internal AssignmentActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AssociationEl : El, Association +{ + internal AssociationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AssociationStructureEl : El, AssociationStructure +{ + internal AssociationStructureEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AttributeDefinitionEl : El, AttributeDefinition +{ + internal AttributeDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class AttributeUsageEl : El, AttributeUsage +{ + internal AttributeUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class BehaviorEl : El, Behavior +{ + internal BehaviorEl(Model model, string id) : base(model, id) { } +} + +internal sealed class BindingConnectorEl : El, BindingConnector +{ + internal BindingConnectorEl(Model model, string id) : base(model, id) { } +} + +internal sealed class BindingConnectorAsUsageEl : El, BindingConnectorAsUsage +{ + internal BindingConnectorAsUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class BooleanExpressionEl : El, BooleanExpression +{ + internal BooleanExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CalculationDefinitionEl : El, CalculationDefinition +{ + internal CalculationDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CalculationUsageEl : El, CalculationUsage +{ + internal CalculationUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CaseDefinitionEl : El, CaseDefinition +{ + internal CaseDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CaseUsageEl : El, CaseUsage +{ + internal CaseUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ClassEl : El, Class +{ + internal ClassEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ClassifierEl : El, Classifier +{ + internal ClassifierEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CollectExpressionEl : El, CollectExpression +{ + internal CollectExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CommentEl : El, Comment +{ + internal CommentEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConcernDefinitionEl : El, ConcernDefinition +{ + internal ConcernDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConcernUsageEl : El, ConcernUsage +{ + internal ConcernUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConjugatedPortDefinitionEl : El, ConjugatedPortDefinition +{ + internal ConjugatedPortDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConjugatedPortTypingEl : El, ConjugatedPortTyping +{ + internal ConjugatedPortTypingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConjugationEl : El, Conjugation +{ + internal ConjugationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConnectionDefinitionEl : El, ConnectionDefinition +{ + internal ConnectionDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConnectionUsageEl : El, ConnectionUsage +{ + internal ConnectionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConnectorEl : El, Connector +{ + internal ConnectorEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConstraintDefinitionEl : El, ConstraintDefinition +{ + internal ConstraintDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConstraintUsageEl : El, ConstraintUsage +{ + internal ConstraintUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ConstructorExpressionEl : El, ConstructorExpression +{ + internal ConstructorExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class CrossSubsettingEl : El, CrossSubsetting +{ + internal CrossSubsettingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DataTypeEl : El, DataType +{ + internal DataTypeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DecisionNodeEl : El, DecisionNode +{ + internal DecisionNodeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DefinitionEl : El, Definition +{ + internal DefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DependencyEl : El, Dependency +{ + internal DependencyEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DifferencingEl : El, Differencing +{ + internal DifferencingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DisjoiningEl : El, Disjoining +{ + internal DisjoiningEl(Model model, string id) : base(model, id) { } +} + +internal sealed class DocumentationEl : El, Documentation +{ + internal DocumentationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ElementFilterMembershipEl : El, ElementFilterMembership +{ + internal ElementFilterMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class EndFeatureMembershipEl : El, EndFeatureMembership +{ + internal EndFeatureMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class EnumerationDefinitionEl : El, EnumerationDefinition +{ + internal EnumerationDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class EnumerationUsageEl : El, EnumerationUsage +{ + internal EnumerationUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class EventOccurrenceUsageEl : El, EventOccurrenceUsage +{ + internal EventOccurrenceUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ExhibitStateUsageEl : El, ExhibitStateUsage +{ + internal ExhibitStateUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ExpressionEl : El, Expression +{ + internal ExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureEl : El, Feature +{ + internal FeatureEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureChainExpressionEl : El, FeatureChainExpression +{ + internal FeatureChainExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureChainingEl : El, FeatureChaining +{ + internal FeatureChainingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureInvertingEl : El, FeatureInverting +{ + internal FeatureInvertingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureMembershipEl : El, FeatureMembership +{ + internal FeatureMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureReferenceExpressionEl : El, FeatureReferenceExpression +{ + internal FeatureReferenceExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureTypingEl : El, FeatureTyping +{ + internal FeatureTypingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FeatureValueEl : El, FeatureValue +{ + internal FeatureValueEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FlowEl : El, Flow +{ + internal FlowEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FlowDefinitionEl : El, FlowDefinition +{ + internal FlowDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FlowEndEl : El, FlowEnd +{ + internal FlowEndEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FlowUsageEl : El, FlowUsage +{ + internal FlowUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ForLoopActionUsageEl : El, ForLoopActionUsage +{ + internal ForLoopActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ForkNodeEl : El, ForkNode +{ + internal ForkNodeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FramedConcernMembershipEl : El, FramedConcernMembership +{ + internal FramedConcernMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class FunctionEl : El, Function +{ + internal FunctionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class IfActionUsageEl : El, IfActionUsage +{ + internal IfActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class IncludeUseCaseUsageEl : El, IncludeUseCaseUsage +{ + internal IncludeUseCaseUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class IndexExpressionEl : El, IndexExpression +{ + internal IndexExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class InteractionEl : El, Interaction +{ + internal InteractionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class InterfaceDefinitionEl : El, InterfaceDefinition +{ + internal InterfaceDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class InterfaceUsageEl : El, InterfaceUsage +{ + internal InterfaceUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class IntersectingEl : El, Intersecting +{ + internal IntersectingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class InvariantEl : El, Invariant +{ + internal InvariantEl(Model model, string id) : base(model, id) { } +} + +internal sealed class InvocationExpressionEl : El, InvocationExpression +{ + internal InvocationExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ItemDefinitionEl : El, ItemDefinition +{ + internal ItemDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ItemUsageEl : El, ItemUsage +{ + internal ItemUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class JoinNodeEl : El, JoinNode +{ + internal JoinNodeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LibraryPackageEl : El, LibraryPackage +{ + internal LibraryPackageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LiteralBooleanEl : El, LiteralBoolean +{ + internal LiteralBooleanEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LiteralExpressionEl : El, LiteralExpression +{ + internal LiteralExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LiteralInfinityEl : El, LiteralInfinity +{ + internal LiteralInfinityEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LiteralIntegerEl : El, LiteralInteger +{ + internal LiteralIntegerEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LiteralRationalEl : El, LiteralRational +{ + internal LiteralRationalEl(Model model, string id) : base(model, id) { } +} + +internal sealed class LiteralStringEl : El, LiteralString +{ + internal LiteralStringEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MembershipEl : El, Membership +{ + internal MembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MembershipExposeEl : El, MembershipExpose +{ + internal MembershipExposeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MembershipImportEl : El, MembershipImport +{ + internal MembershipImportEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MergeNodeEl : El, MergeNode +{ + internal MergeNodeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MetaclassEl : El, Metaclass +{ + internal MetaclassEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MetadataAccessExpressionEl : El, MetadataAccessExpression +{ + internal MetadataAccessExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MetadataDefinitionEl : El, MetadataDefinition +{ + internal MetadataDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MetadataFeatureEl : El, MetadataFeature +{ + internal MetadataFeatureEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MetadataUsageEl : El, MetadataUsage +{ + internal MetadataUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MultiplicityEl : El, Multiplicity +{ + internal MultiplicityEl(Model model, string id) : base(model, id) { } +} + +internal sealed class MultiplicityRangeEl : El, MultiplicityRange +{ + internal MultiplicityRangeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class NamespaceEl : El, Namespace +{ + internal NamespaceEl(Model model, string id) : base(model, id) { } +} + +internal sealed class NamespaceExposeEl : El, NamespaceExpose +{ + internal NamespaceExposeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class NamespaceImportEl : El, NamespaceImport +{ + internal NamespaceImportEl(Model model, string id) : base(model, id) { } +} + +internal sealed class NullExpressionEl : El, NullExpression +{ + internal NullExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ObjectiveMembershipEl : El, ObjectiveMembership +{ + internal ObjectiveMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class OccurrenceDefinitionEl : El, OccurrenceDefinition +{ + internal OccurrenceDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class OccurrenceUsageEl : El, OccurrenceUsage +{ + internal OccurrenceUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class OperatorExpressionEl : El, OperatorExpression +{ + internal OperatorExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class OwningMembershipEl : El, OwningMembership +{ + internal OwningMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PackageEl : El, Package +{ + internal PackageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ParameterMembershipEl : El, ParameterMembership +{ + internal ParameterMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PartDefinitionEl : El, PartDefinition +{ + internal PartDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PartUsageEl : El, PartUsage +{ + internal PartUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PayloadFeatureEl : El, PayloadFeature +{ + internal PayloadFeatureEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PerformActionUsageEl : El, PerformActionUsage +{ + internal PerformActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PortConjugationEl : El, PortConjugation +{ + internal PortConjugationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PortDefinitionEl : El, PortDefinition +{ + internal PortDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PortUsageEl : El, PortUsage +{ + internal PortUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class PredicateEl : El, Predicate +{ + internal PredicateEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RedefinitionEl : El, Redefinition +{ + internal RedefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ReferenceSubsettingEl : El, ReferenceSubsetting +{ + internal ReferenceSubsettingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ReferenceUsageEl : El, ReferenceUsage +{ + internal ReferenceUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RenderingDefinitionEl : El, RenderingDefinition +{ + internal RenderingDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RenderingUsageEl : El, RenderingUsage +{ + internal RenderingUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RequirementConstraintMembershipEl : El, RequirementConstraintMembership +{ + internal RequirementConstraintMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RequirementDefinitionEl : El, RequirementDefinition +{ + internal RequirementDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RequirementUsageEl : El, RequirementUsage +{ + internal RequirementUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class RequirementVerificationMembershipEl : El, RequirementVerificationMembership +{ + internal RequirementVerificationMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ResultExpressionMembershipEl : El, ResultExpressionMembership +{ + internal ResultExpressionMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ReturnParameterMembershipEl : El, ReturnParameterMembership +{ + internal ReturnParameterMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SatisfyRequirementUsageEl : El, SatisfyRequirementUsage +{ + internal SatisfyRequirementUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SelectExpressionEl : El, SelectExpression +{ + internal SelectExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SendActionUsageEl : El, SendActionUsage +{ + internal SendActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SpecializationEl : El, Specialization +{ + internal SpecializationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class StakeholderMembershipEl : El, StakeholderMembership +{ + internal StakeholderMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class StateDefinitionEl : El, StateDefinition +{ + internal StateDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class StateSubactionMembershipEl : El, StateSubactionMembership +{ + internal StateSubactionMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class StateUsageEl : El, StateUsage +{ + internal StateUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class StepEl : El, Step +{ + internal StepEl(Model model, string id) : base(model, id) { } +} + +internal sealed class StructureEl : El, Structure +{ + internal StructureEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SubclassificationEl : El, Subclassification +{ + internal SubclassificationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SubjectMembershipEl : El, SubjectMembership +{ + internal SubjectMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SubsettingEl : El, Subsetting +{ + internal SubsettingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SuccessionEl : El, Succession +{ + internal SuccessionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SuccessionAsUsageEl : El, SuccessionAsUsage +{ + internal SuccessionAsUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SuccessionFlowEl : El, SuccessionFlow +{ + internal SuccessionFlowEl(Model model, string id) : base(model, id) { } +} + +internal sealed class SuccessionFlowUsageEl : El, SuccessionFlowUsage +{ + internal SuccessionFlowUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TerminateActionUsageEl : El, TerminateActionUsage +{ + internal TerminateActionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TextualRepresentationEl : El, TextualRepresentation +{ + internal TextualRepresentationEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TransitionFeatureMembershipEl : El, TransitionFeatureMembership +{ + internal TransitionFeatureMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TransitionUsageEl : El, TransitionUsage +{ + internal TransitionUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TriggerInvocationExpressionEl : El, TriggerInvocationExpression +{ + internal TriggerInvocationExpressionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TypeEl : El, Type +{ + internal TypeEl(Model model, string id) : base(model, id) { } +} + +internal sealed class TypeFeaturingEl : El, TypeFeaturing +{ + internal TypeFeaturingEl(Model model, string id) : base(model, id) { } +} + +internal sealed class UnioningEl : El, Unioning +{ + internal UnioningEl(Model model, string id) : base(model, id) { } +} + +internal sealed class UsageEl : El, Usage +{ + internal UsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class UseCaseDefinitionEl : El, UseCaseDefinition +{ + internal UseCaseDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class UseCaseUsageEl : El, UseCaseUsage +{ + internal UseCaseUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class VariantMembershipEl : El, VariantMembership +{ + internal VariantMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class VerificationCaseDefinitionEl : El, VerificationCaseDefinition +{ + internal VerificationCaseDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class VerificationCaseUsageEl : El, VerificationCaseUsage +{ + internal VerificationCaseUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ViewDefinitionEl : El, ViewDefinition +{ + internal ViewDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ViewRenderingMembershipEl : El, ViewRenderingMembership +{ + internal ViewRenderingMembershipEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ViewUsageEl : El, ViewUsage +{ + internal ViewUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ViewpointDefinitionEl : El, ViewpointDefinition +{ + internal ViewpointDefinitionEl(Model model, string id) : base(model, id) { } +} + +internal sealed class ViewpointUsageEl : El, ViewpointUsage +{ + internal ViewpointUsageEl(Model model, string id) : base(model, id) { } +} + +internal sealed class WhileLoopActionUsageEl : El, WhileLoopActionUsage +{ + internal WhileLoopActionUsageEl(Model model, string id) : base(model, id) { } +} + +/// Generated maps: metaclass name to interface type +/// (all classes) and to element factory (concrete only). +public static class ClassMap +{ + public static readonly IReadOnlyDictionary TypeMap = + new Dictionary + { + ["Element"] = typeof(IElement), + ["AcceptActionUsage"] = typeof(AcceptActionUsage), + ["ActionDefinition"] = typeof(ActionDefinition), + ["ActionUsage"] = typeof(ActionUsage), + ["ActorMembership"] = typeof(ActorMembership), + ["AllocationDefinition"] = typeof(AllocationDefinition), + ["AllocationUsage"] = typeof(AllocationUsage), + ["AnalysisCaseDefinition"] = typeof(AnalysisCaseDefinition), + ["AnalysisCaseUsage"] = typeof(AnalysisCaseUsage), + ["AnnotatingElement"] = typeof(AnnotatingElement), + ["Annotation"] = typeof(Annotation), + ["AssertConstraintUsage"] = typeof(AssertConstraintUsage), + ["AssignmentActionUsage"] = typeof(AssignmentActionUsage), + ["Association"] = typeof(Association), + ["AssociationStructure"] = typeof(AssociationStructure), + ["AttributeDefinition"] = typeof(AttributeDefinition), + ["AttributeUsage"] = typeof(AttributeUsage), + ["Behavior"] = typeof(Behavior), + ["BindingConnector"] = typeof(BindingConnector), + ["BindingConnectorAsUsage"] = typeof(BindingConnectorAsUsage), + ["BooleanExpression"] = typeof(BooleanExpression), + ["CalculationDefinition"] = typeof(CalculationDefinition), + ["CalculationUsage"] = typeof(CalculationUsage), + ["CaseDefinition"] = typeof(CaseDefinition), + ["CaseUsage"] = typeof(CaseUsage), + ["Class"] = typeof(Class), + ["Classifier"] = typeof(Classifier), + ["CollectExpression"] = typeof(CollectExpression), + ["Comment"] = typeof(Comment), + ["ConcernDefinition"] = typeof(ConcernDefinition), + ["ConcernUsage"] = typeof(ConcernUsage), + ["ConjugatedPortDefinition"] = typeof(ConjugatedPortDefinition), + ["ConjugatedPortTyping"] = typeof(ConjugatedPortTyping), + ["Conjugation"] = typeof(Conjugation), + ["ConnectionDefinition"] = typeof(ConnectionDefinition), + ["ConnectionUsage"] = typeof(ConnectionUsage), + ["Connector"] = typeof(Connector), + ["ConnectorAsUsage"] = typeof(ConnectorAsUsage), + ["ConstraintDefinition"] = typeof(ConstraintDefinition), + ["ConstraintUsage"] = typeof(ConstraintUsage), + ["ConstructorExpression"] = typeof(ConstructorExpression), + ["ControlNode"] = typeof(ControlNode), + ["CrossSubsetting"] = typeof(CrossSubsetting), + ["DataType"] = typeof(DataType), + ["DecisionNode"] = typeof(DecisionNode), + ["Definition"] = typeof(Definition), + ["Dependency"] = typeof(Dependency), + ["Differencing"] = typeof(Differencing), + ["Disjoining"] = typeof(Disjoining), + ["Documentation"] = typeof(Documentation), + ["ElementFilterMembership"] = typeof(ElementFilterMembership), + ["EndFeatureMembership"] = typeof(EndFeatureMembership), + ["EnumerationDefinition"] = typeof(EnumerationDefinition), + ["EnumerationUsage"] = typeof(EnumerationUsage), + ["EventOccurrenceUsage"] = typeof(EventOccurrenceUsage), + ["ExhibitStateUsage"] = typeof(ExhibitStateUsage), + ["Expose"] = typeof(Expose), + ["Expression"] = typeof(Expression), + ["Feature"] = typeof(Feature), + ["FeatureChainExpression"] = typeof(FeatureChainExpression), + ["FeatureChaining"] = typeof(FeatureChaining), + ["FeatureInverting"] = typeof(FeatureInverting), + ["FeatureMembership"] = typeof(FeatureMembership), + ["FeatureReferenceExpression"] = typeof(FeatureReferenceExpression), + ["FeatureTyping"] = typeof(FeatureTyping), + ["FeatureValue"] = typeof(FeatureValue), + ["Flow"] = typeof(Flow), + ["FlowDefinition"] = typeof(FlowDefinition), + ["FlowEnd"] = typeof(FlowEnd), + ["FlowUsage"] = typeof(FlowUsage), + ["ForLoopActionUsage"] = typeof(ForLoopActionUsage), + ["ForkNode"] = typeof(ForkNode), + ["FramedConcernMembership"] = typeof(FramedConcernMembership), + ["Function"] = typeof(Function), + ["IfActionUsage"] = typeof(IfActionUsage), + ["Import"] = typeof(Import), + ["IncludeUseCaseUsage"] = typeof(IncludeUseCaseUsage), + ["IndexExpression"] = typeof(IndexExpression), + ["InstantiationExpression"] = typeof(InstantiationExpression), + ["Interaction"] = typeof(Interaction), + ["InterfaceDefinition"] = typeof(InterfaceDefinition), + ["InterfaceUsage"] = typeof(InterfaceUsage), + ["Intersecting"] = typeof(Intersecting), + ["Invariant"] = typeof(Invariant), + ["InvocationExpression"] = typeof(InvocationExpression), + ["ItemDefinition"] = typeof(ItemDefinition), + ["ItemUsage"] = typeof(ItemUsage), + ["JoinNode"] = typeof(JoinNode), + ["LibraryPackage"] = typeof(LibraryPackage), + ["LiteralBoolean"] = typeof(LiteralBoolean), + ["LiteralExpression"] = typeof(LiteralExpression), + ["LiteralInfinity"] = typeof(LiteralInfinity), + ["LiteralInteger"] = typeof(LiteralInteger), + ["LiteralRational"] = typeof(LiteralRational), + ["LiteralString"] = typeof(LiteralString), + ["LoopActionUsage"] = typeof(LoopActionUsage), + ["Membership"] = typeof(Membership), + ["MembershipExpose"] = typeof(MembershipExpose), + ["MembershipImport"] = typeof(MembershipImport), + ["MergeNode"] = typeof(MergeNode), + ["Metaclass"] = typeof(Metaclass), + ["MetadataAccessExpression"] = typeof(MetadataAccessExpression), + ["MetadataDefinition"] = typeof(MetadataDefinition), + ["MetadataFeature"] = typeof(MetadataFeature), + ["MetadataUsage"] = typeof(MetadataUsage), + ["Multiplicity"] = typeof(Multiplicity), + ["MultiplicityRange"] = typeof(MultiplicityRange), + ["Namespace"] = typeof(Namespace), + ["NamespaceExpose"] = typeof(NamespaceExpose), + ["NamespaceImport"] = typeof(NamespaceImport), + ["NullExpression"] = typeof(NullExpression), + ["ObjectiveMembership"] = typeof(ObjectiveMembership), + ["OccurrenceDefinition"] = typeof(OccurrenceDefinition), + ["OccurrenceUsage"] = typeof(OccurrenceUsage), + ["OperatorExpression"] = typeof(OperatorExpression), + ["OwningMembership"] = typeof(OwningMembership), + ["Package"] = typeof(Package), + ["ParameterMembership"] = typeof(ParameterMembership), + ["PartDefinition"] = typeof(PartDefinition), + ["PartUsage"] = typeof(PartUsage), + ["PayloadFeature"] = typeof(PayloadFeature), + ["PerformActionUsage"] = typeof(PerformActionUsage), + ["PortConjugation"] = typeof(PortConjugation), + ["PortDefinition"] = typeof(PortDefinition), + ["PortUsage"] = typeof(PortUsage), + ["Predicate"] = typeof(Predicate), + ["Redefinition"] = typeof(Redefinition), + ["ReferenceSubsetting"] = typeof(ReferenceSubsetting), + ["ReferenceUsage"] = typeof(ReferenceUsage), + ["Relationship"] = typeof(Relationship), + ["RenderingDefinition"] = typeof(RenderingDefinition), + ["RenderingUsage"] = typeof(RenderingUsage), + ["RequirementConstraintMembership"] = typeof(RequirementConstraintMembership), + ["RequirementDefinition"] = typeof(RequirementDefinition), + ["RequirementUsage"] = typeof(RequirementUsage), + ["RequirementVerificationMembership"] = typeof(RequirementVerificationMembership), + ["ResultExpressionMembership"] = typeof(ResultExpressionMembership), + ["ReturnParameterMembership"] = typeof(ReturnParameterMembership), + ["SatisfyRequirementUsage"] = typeof(SatisfyRequirementUsage), + ["SelectExpression"] = typeof(SelectExpression), + ["SendActionUsage"] = typeof(SendActionUsage), + ["Specialization"] = typeof(Specialization), + ["StakeholderMembership"] = typeof(StakeholderMembership), + ["StateDefinition"] = typeof(StateDefinition), + ["StateSubactionMembership"] = typeof(StateSubactionMembership), + ["StateUsage"] = typeof(StateUsage), + ["Step"] = typeof(Step), + ["Structure"] = typeof(Structure), + ["Subclassification"] = typeof(Subclassification), + ["SubjectMembership"] = typeof(SubjectMembership), + ["Subsetting"] = typeof(Subsetting), + ["Succession"] = typeof(Succession), + ["SuccessionAsUsage"] = typeof(SuccessionAsUsage), + ["SuccessionFlow"] = typeof(SuccessionFlow), + ["SuccessionFlowUsage"] = typeof(SuccessionFlowUsage), + ["TerminateActionUsage"] = typeof(TerminateActionUsage), + ["TextualRepresentation"] = typeof(TextualRepresentation), + ["TransitionFeatureMembership"] = typeof(TransitionFeatureMembership), + ["TransitionUsage"] = typeof(TransitionUsage), + ["TriggerInvocationExpression"] = typeof(TriggerInvocationExpression), + ["Type"] = typeof(Type), + ["TypeFeaturing"] = typeof(TypeFeaturing), + ["Unioning"] = typeof(Unioning), + ["Usage"] = typeof(Usage), + ["UseCaseDefinition"] = typeof(UseCaseDefinition), + ["UseCaseUsage"] = typeof(UseCaseUsage), + ["VariantMembership"] = typeof(VariantMembership), + ["VerificationCaseDefinition"] = typeof(VerificationCaseDefinition), + ["VerificationCaseUsage"] = typeof(VerificationCaseUsage), + ["ViewDefinition"] = typeof(ViewDefinition), + ["ViewRenderingMembership"] = typeof(ViewRenderingMembership), + ["ViewUsage"] = typeof(ViewUsage), + ["ViewpointDefinition"] = typeof(ViewpointDefinition), + ["ViewpointUsage"] = typeof(ViewpointUsage), + ["WhileLoopActionUsage"] = typeof(WhileLoopActionUsage), + }; + + public static readonly + IReadOnlyDictionary> Factories = + new Dictionary> + { + ["AcceptActionUsage"] = (m, id) => new AcceptActionUsageEl(m, id), + ["ActionDefinition"] = (m, id) => new ActionDefinitionEl(m, id), + ["ActionUsage"] = (m, id) => new ActionUsageEl(m, id), + ["ActorMembership"] = (m, id) => new ActorMembershipEl(m, id), + ["AllocationDefinition"] = (m, id) => new AllocationDefinitionEl(m, id), + ["AllocationUsage"] = (m, id) => new AllocationUsageEl(m, id), + ["AnalysisCaseDefinition"] = (m, id) => new AnalysisCaseDefinitionEl(m, id), + ["AnalysisCaseUsage"] = (m, id) => new AnalysisCaseUsageEl(m, id), + ["AnnotatingElement"] = (m, id) => new AnnotatingElementEl(m, id), + ["Annotation"] = (m, id) => new AnnotationEl(m, id), + ["AssertConstraintUsage"] = (m, id) => new AssertConstraintUsageEl(m, id), + ["AssignmentActionUsage"] = (m, id) => new AssignmentActionUsageEl(m, id), + ["Association"] = (m, id) => new AssociationEl(m, id), + ["AssociationStructure"] = (m, id) => new AssociationStructureEl(m, id), + ["AttributeDefinition"] = (m, id) => new AttributeDefinitionEl(m, id), + ["AttributeUsage"] = (m, id) => new AttributeUsageEl(m, id), + ["Behavior"] = (m, id) => new BehaviorEl(m, id), + ["BindingConnector"] = (m, id) => new BindingConnectorEl(m, id), + ["BindingConnectorAsUsage"] = (m, id) => new BindingConnectorAsUsageEl(m, id), + ["BooleanExpression"] = (m, id) => new BooleanExpressionEl(m, id), + ["CalculationDefinition"] = (m, id) => new CalculationDefinitionEl(m, id), + ["CalculationUsage"] = (m, id) => new CalculationUsageEl(m, id), + ["CaseDefinition"] = (m, id) => new CaseDefinitionEl(m, id), + ["CaseUsage"] = (m, id) => new CaseUsageEl(m, id), + ["Class"] = (m, id) => new ClassEl(m, id), + ["Classifier"] = (m, id) => new ClassifierEl(m, id), + ["CollectExpression"] = (m, id) => new CollectExpressionEl(m, id), + ["Comment"] = (m, id) => new CommentEl(m, id), + ["ConcernDefinition"] = (m, id) => new ConcernDefinitionEl(m, id), + ["ConcernUsage"] = (m, id) => new ConcernUsageEl(m, id), + ["ConjugatedPortDefinition"] = (m, id) => new ConjugatedPortDefinitionEl(m, id), + ["ConjugatedPortTyping"] = (m, id) => new ConjugatedPortTypingEl(m, id), + ["Conjugation"] = (m, id) => new ConjugationEl(m, id), + ["ConnectionDefinition"] = (m, id) => new ConnectionDefinitionEl(m, id), + ["ConnectionUsage"] = (m, id) => new ConnectionUsageEl(m, id), + ["Connector"] = (m, id) => new ConnectorEl(m, id), + ["ConstraintDefinition"] = (m, id) => new ConstraintDefinitionEl(m, id), + ["ConstraintUsage"] = (m, id) => new ConstraintUsageEl(m, id), + ["ConstructorExpression"] = (m, id) => new ConstructorExpressionEl(m, id), + ["CrossSubsetting"] = (m, id) => new CrossSubsettingEl(m, id), + ["DataType"] = (m, id) => new DataTypeEl(m, id), + ["DecisionNode"] = (m, id) => new DecisionNodeEl(m, id), + ["Definition"] = (m, id) => new DefinitionEl(m, id), + ["Dependency"] = (m, id) => new DependencyEl(m, id), + ["Differencing"] = (m, id) => new DifferencingEl(m, id), + ["Disjoining"] = (m, id) => new DisjoiningEl(m, id), + ["Documentation"] = (m, id) => new DocumentationEl(m, id), + ["ElementFilterMembership"] = (m, id) => new ElementFilterMembershipEl(m, id), + ["EndFeatureMembership"] = (m, id) => new EndFeatureMembershipEl(m, id), + ["EnumerationDefinition"] = (m, id) => new EnumerationDefinitionEl(m, id), + ["EnumerationUsage"] = (m, id) => new EnumerationUsageEl(m, id), + ["EventOccurrenceUsage"] = (m, id) => new EventOccurrenceUsageEl(m, id), + ["ExhibitStateUsage"] = (m, id) => new ExhibitStateUsageEl(m, id), + ["Expression"] = (m, id) => new ExpressionEl(m, id), + ["Feature"] = (m, id) => new FeatureEl(m, id), + ["FeatureChainExpression"] = (m, id) => new FeatureChainExpressionEl(m, id), + ["FeatureChaining"] = (m, id) => new FeatureChainingEl(m, id), + ["FeatureInverting"] = (m, id) => new FeatureInvertingEl(m, id), + ["FeatureMembership"] = (m, id) => new FeatureMembershipEl(m, id), + ["FeatureReferenceExpression"] = (m, id) => new FeatureReferenceExpressionEl(m, id), + ["FeatureTyping"] = (m, id) => new FeatureTypingEl(m, id), + ["FeatureValue"] = (m, id) => new FeatureValueEl(m, id), + ["Flow"] = (m, id) => new FlowEl(m, id), + ["FlowDefinition"] = (m, id) => new FlowDefinitionEl(m, id), + ["FlowEnd"] = (m, id) => new FlowEndEl(m, id), + ["FlowUsage"] = (m, id) => new FlowUsageEl(m, id), + ["ForLoopActionUsage"] = (m, id) => new ForLoopActionUsageEl(m, id), + ["ForkNode"] = (m, id) => new ForkNodeEl(m, id), + ["FramedConcernMembership"] = (m, id) => new FramedConcernMembershipEl(m, id), + ["Function"] = (m, id) => new FunctionEl(m, id), + ["IfActionUsage"] = (m, id) => new IfActionUsageEl(m, id), + ["IncludeUseCaseUsage"] = (m, id) => new IncludeUseCaseUsageEl(m, id), + ["IndexExpression"] = (m, id) => new IndexExpressionEl(m, id), + ["Interaction"] = (m, id) => new InteractionEl(m, id), + ["InterfaceDefinition"] = (m, id) => new InterfaceDefinitionEl(m, id), + ["InterfaceUsage"] = (m, id) => new InterfaceUsageEl(m, id), + ["Intersecting"] = (m, id) => new IntersectingEl(m, id), + ["Invariant"] = (m, id) => new InvariantEl(m, id), + ["InvocationExpression"] = (m, id) => new InvocationExpressionEl(m, id), + ["ItemDefinition"] = (m, id) => new ItemDefinitionEl(m, id), + ["ItemUsage"] = (m, id) => new ItemUsageEl(m, id), + ["JoinNode"] = (m, id) => new JoinNodeEl(m, id), + ["LibraryPackage"] = (m, id) => new LibraryPackageEl(m, id), + ["LiteralBoolean"] = (m, id) => new LiteralBooleanEl(m, id), + ["LiteralExpression"] = (m, id) => new LiteralExpressionEl(m, id), + ["LiteralInfinity"] = (m, id) => new LiteralInfinityEl(m, id), + ["LiteralInteger"] = (m, id) => new LiteralIntegerEl(m, id), + ["LiteralRational"] = (m, id) => new LiteralRationalEl(m, id), + ["LiteralString"] = (m, id) => new LiteralStringEl(m, id), + ["Membership"] = (m, id) => new MembershipEl(m, id), + ["MembershipExpose"] = (m, id) => new MembershipExposeEl(m, id), + ["MembershipImport"] = (m, id) => new MembershipImportEl(m, id), + ["MergeNode"] = (m, id) => new MergeNodeEl(m, id), + ["Metaclass"] = (m, id) => new MetaclassEl(m, id), + ["MetadataAccessExpression"] = (m, id) => new MetadataAccessExpressionEl(m, id), + ["MetadataDefinition"] = (m, id) => new MetadataDefinitionEl(m, id), + ["MetadataFeature"] = (m, id) => new MetadataFeatureEl(m, id), + ["MetadataUsage"] = (m, id) => new MetadataUsageEl(m, id), + ["Multiplicity"] = (m, id) => new MultiplicityEl(m, id), + ["MultiplicityRange"] = (m, id) => new MultiplicityRangeEl(m, id), + ["Namespace"] = (m, id) => new NamespaceEl(m, id), + ["NamespaceExpose"] = (m, id) => new NamespaceExposeEl(m, id), + ["NamespaceImport"] = (m, id) => new NamespaceImportEl(m, id), + ["NullExpression"] = (m, id) => new NullExpressionEl(m, id), + ["ObjectiveMembership"] = (m, id) => new ObjectiveMembershipEl(m, id), + ["OccurrenceDefinition"] = (m, id) => new OccurrenceDefinitionEl(m, id), + ["OccurrenceUsage"] = (m, id) => new OccurrenceUsageEl(m, id), + ["OperatorExpression"] = (m, id) => new OperatorExpressionEl(m, id), + ["OwningMembership"] = (m, id) => new OwningMembershipEl(m, id), + ["Package"] = (m, id) => new PackageEl(m, id), + ["ParameterMembership"] = (m, id) => new ParameterMembershipEl(m, id), + ["PartDefinition"] = (m, id) => new PartDefinitionEl(m, id), + ["PartUsage"] = (m, id) => new PartUsageEl(m, id), + ["PayloadFeature"] = (m, id) => new PayloadFeatureEl(m, id), + ["PerformActionUsage"] = (m, id) => new PerformActionUsageEl(m, id), + ["PortConjugation"] = (m, id) => new PortConjugationEl(m, id), + ["PortDefinition"] = (m, id) => new PortDefinitionEl(m, id), + ["PortUsage"] = (m, id) => new PortUsageEl(m, id), + ["Predicate"] = (m, id) => new PredicateEl(m, id), + ["Redefinition"] = (m, id) => new RedefinitionEl(m, id), + ["ReferenceSubsetting"] = (m, id) => new ReferenceSubsettingEl(m, id), + ["ReferenceUsage"] = (m, id) => new ReferenceUsageEl(m, id), + ["RenderingDefinition"] = (m, id) => new RenderingDefinitionEl(m, id), + ["RenderingUsage"] = (m, id) => new RenderingUsageEl(m, id), + ["RequirementConstraintMembership"] = (m, id) => new RequirementConstraintMembershipEl(m, id), + ["RequirementDefinition"] = (m, id) => new RequirementDefinitionEl(m, id), + ["RequirementUsage"] = (m, id) => new RequirementUsageEl(m, id), + ["RequirementVerificationMembership"] = (m, id) => new RequirementVerificationMembershipEl(m, id), + ["ResultExpressionMembership"] = (m, id) => new ResultExpressionMembershipEl(m, id), + ["ReturnParameterMembership"] = (m, id) => new ReturnParameterMembershipEl(m, id), + ["SatisfyRequirementUsage"] = (m, id) => new SatisfyRequirementUsageEl(m, id), + ["SelectExpression"] = (m, id) => new SelectExpressionEl(m, id), + ["SendActionUsage"] = (m, id) => new SendActionUsageEl(m, id), + ["Specialization"] = (m, id) => new SpecializationEl(m, id), + ["StakeholderMembership"] = (m, id) => new StakeholderMembershipEl(m, id), + ["StateDefinition"] = (m, id) => new StateDefinitionEl(m, id), + ["StateSubactionMembership"] = (m, id) => new StateSubactionMembershipEl(m, id), + ["StateUsage"] = (m, id) => new StateUsageEl(m, id), + ["Step"] = (m, id) => new StepEl(m, id), + ["Structure"] = (m, id) => new StructureEl(m, id), + ["Subclassification"] = (m, id) => new SubclassificationEl(m, id), + ["SubjectMembership"] = (m, id) => new SubjectMembershipEl(m, id), + ["Subsetting"] = (m, id) => new SubsettingEl(m, id), + ["Succession"] = (m, id) => new SuccessionEl(m, id), + ["SuccessionAsUsage"] = (m, id) => new SuccessionAsUsageEl(m, id), + ["SuccessionFlow"] = (m, id) => new SuccessionFlowEl(m, id), + ["SuccessionFlowUsage"] = (m, id) => new SuccessionFlowUsageEl(m, id), + ["TerminateActionUsage"] = (m, id) => new TerminateActionUsageEl(m, id), + ["TextualRepresentation"] = (m, id) => new TextualRepresentationEl(m, id), + ["TransitionFeatureMembership"] = (m, id) => new TransitionFeatureMembershipEl(m, id), + ["TransitionUsage"] = (m, id) => new TransitionUsageEl(m, id), + ["TriggerInvocationExpression"] = (m, id) => new TriggerInvocationExpressionEl(m, id), + ["Type"] = (m, id) => new TypeEl(m, id), + ["TypeFeaturing"] = (m, id) => new TypeFeaturingEl(m, id), + ["Unioning"] = (m, id) => new UnioningEl(m, id), + ["Usage"] = (m, id) => new UsageEl(m, id), + ["UseCaseDefinition"] = (m, id) => new UseCaseDefinitionEl(m, id), + ["UseCaseUsage"] = (m, id) => new UseCaseUsageEl(m, id), + ["VariantMembership"] = (m, id) => new VariantMembershipEl(m, id), + ["VerificationCaseDefinition"] = (m, id) => new VerificationCaseDefinitionEl(m, id), + ["VerificationCaseUsage"] = (m, id) => new VerificationCaseUsageEl(m, id), + ["ViewDefinition"] = (m, id) => new ViewDefinitionEl(m, id), + ["ViewRenderingMembership"] = (m, id) => new ViewRenderingMembershipEl(m, id), + ["ViewUsage"] = (m, id) => new ViewUsageEl(m, id), + ["ViewpointDefinition"] = (m, id) => new ViewpointDefinitionEl(m, id), + ["ViewpointUsage"] = (m, id) => new ViewpointUsageEl(m, id), + ["WhileLoopActionUsage"] = (m, id) => new WhileLoopActionUsageEl(m, id), + }; +} diff --git a/csharp/OpenMBEE.SysML/OpenMBEE.SysML.csproj b/csharp/OpenMBEE.SysML/OpenMBEE.SysML.csproj new file mode 100644 index 0000000..039919c --- /dev/null +++ b/csharp/OpenMBEE.SysML/OpenMBEE.SysML.csproj @@ -0,0 +1,28 @@ + + + + net8.0 + enable + enable + latest + true + OpenMBEE.SysML + Spec-shaped SysML v2 SDK: generated metaclass surface over the SysML Toolkit, or over interchange payloads + 0.1.0 + Apache-2.0 + SysML;SysMLv2;KerML;MBSE + + + + + + + + + + + + + + diff --git a/csharp/OpenMBEE.SysML/Runtime.cs b/csharp/OpenMBEE.SysML/Runtime.cs new file mode 100644 index 0000000..a10eeb9 --- /dev/null +++ b/csharp/OpenMBEE.SysML/Runtime.cs @@ -0,0 +1,398 @@ +// SDK runtime (C# backend): Model, PayloadBackend, element core. +// Mirrors python/sysml/base.py — same read semantics, same identity +// rules. A property read returns whatever the backend gave: the +// SysML Toolkit reports its own unimplemented members, so the SDK +// never second-guesses a result. +// +// Collision rule: runtime members are PascalCase +// (ElementId, MetaclassName, GetRaw, Model); spec members are generated +// lowerCamelCase default interface members, so the first letter keeps +// the two namespaces disjoint. tools/gen_classes_cs.py enforces it. + +#nullable enable + +using System.Text.Json; + +namespace OpenMBEE.SysML; + +public class SdkException : Exception +{ + public SdkException(string message) : base(message) { } +} + +/// A property the backend reports it does not compute. Reserved +/// for a backend that says so itself; never inferred from an empty +/// result. +public sealed class NotComputedException : SdkException +{ + public NotComputedException(string message) : base(message) { } +} + +/// A specification member the SysML Toolkit does not answer: +/// thrown when the SysML Toolkit reports the member as not +/// implemented. +public sealed class NotImplementedInToolkitException : SdkException +{ + public NotImplementedInToolkitException(string message) : base(message) { } +} + +/// The element no longer exists in the backend's current state. +public sealed class GoneException : SdkException +{ + public GoneException(string message) : base(message) { } +} + +/// A reference that did not resolve — a SysML Toolkit @ref +/// spelling passthrough (non-standard, best-effort) or a dangling @id. +/// Typed navigation throws: the SDK requires resolved models. GetRaw() +/// still exposes the raw value. +public sealed class UnresolvedReferenceException : SdkException +{ + public UnresolvedReferenceException(string message) : base(message) { } +} + +/// The backend contract: everything the generated surface +/// needs. The protocol is defined over opaque per-backend element +/// handles; an id-keyed backend (payload, REST) uses element ids +/// as its handles, which is why this payload-backed runtime types them as +/// string. maps a handle to the stable id. +public interface IBackend +{ + JsonElement? Get(string handle, string prop); + string Metaclass(string handle); + string ElementId(string handle); + string? Resolve(string qualifiedName); + IEnumerable AllHandles(); + + /// A specification operation on the element , by its + /// specification name, with its arguments in order (elements as wrappers, collections as + /// lists). A backend that cannot evaluate the operation throws + /// . + JsonElement? Call(string handle, string op, IReadOnlyList args); +} + +/// A standard library read from a full-form interchange element array, such as the +/// library JSON published with the SDK. Index it once and pass it to any number of payload models: +/// their references into the library then resolve by the library's normative ids. +public sealed class PayloadLibrary +{ + internal readonly Dictionary ById = new(); + internal readonly Dictionary ByQname = new(); + + public PayloadLibrary(JsonElement elements) + { + PayloadBackend.Index(elements, ById, new List(), ByQname); + } + + public static PayloadLibrary FromJson(string json) + { + using var doc = JsonDocument.Parse(json); + return new PayloadLibrary(doc.RootElement.Clone()); + } + + /// The number of library elements. + public int Count => ById.Count; +} + +/// Read-only backend over a full-form interchange element array. Handles are the +/// element ids, listed in document order; an id that occurs twice keeps its first position and +/// its last element. With a library, an id or qualified name the payload does not hold is looked +/// up in the library; the library's elements are not the model's, so +/// lists the payload's only. +public sealed class PayloadBackend : IBackend +{ + private readonly Dictionary _byId = new(); + private readonly List _order = new(); + private readonly Dictionary _byQname = new(); + private readonly PayloadLibrary? _library; + + public PayloadBackend(JsonElement elements, PayloadLibrary? library = null) + { + Index(elements, _byId, _order, _byQname); + _library = library; + } + + /// Elements by id (document order, the last of a repeated id) and ids by qualified + /// name (the first). + internal static void Index(JsonElement elements, Dictionary byId, List order, + Dictionary byQname) + { + foreach (var e in elements.EnumerateArray()) + { + if (!e.TryGetProperty("@id", out var id) || + id.ValueKind != JsonValueKind.String) + continue; + var eid = id.GetString()!; + if (!byId.ContainsKey(eid)) + order.Add(eid); + byId[eid] = e; + if (e.TryGetProperty("qualifiedName", out var qn) && + qn.ValueKind == JsonValueKind.String && qn.GetString()!.Length > 0) + byQname.TryAdd(qn.GetString()!, eid); + } + } + + private JsonElement Require(string handle) + { + if (_byId.TryGetValue(handle, out var el)) + return el; + if (_library != null && _library.ById.TryGetValue(handle, out el)) + return el; + throw new GoneException($"no element {handle} in this payload"); + } + + public JsonElement? Get(string handle, string prop) => + Require(handle).TryGetProperty(prop, out var v) ? v : null; + + public string Metaclass(string handle) => + Require(handle).GetProperty("@type").GetString()!; + + public string ElementId(string handle) + { + Require(handle); + return handle; + } + + public string? Resolve(string qualifiedName) => + _byQname.TryGetValue(qualifiedName, out var id) ? id + : _library != null && _library.ByQname.TryGetValue(qualifiedName, out id) ? id + : null; + + public IEnumerable AllHandles() => _order; + + /// A payload holds property values only; there is nothing to evaluate an operation with. + public JsonElement? Call(string handle, string op, IReadOnlyList args) => + throw new NotImplementedInToolkitException( + $"{op}(): operations are not available on payload models; load the model through the SysML Toolkit backend"); +} + +/// Runtime core of every element. Spec properties live on the +/// generated interfaces as default members; classes stay empty shells. The +/// members of the metaclass Element itself, which every element has, are the +/// generated part of this interface (Classes.g.cs). +public partial interface IElement +{ + /// The element's stable id, via the backend's ElementId(handle). + string ElementId { get; } + + /// The backend handle this wrapper holds (= id for payload backends). + string Handle { get; } + + string MetaclassName { get; } + Model Model { get; } + + /// Escape hatch: raw backend value, no wrapping. + JsonElement? GetRaw(string prop); +} + +/// Base of every generated element class. A wrapper holds +/// (model, handle); identity is by the backend's stable element id +/// +public abstract class El : IElement +{ + private readonly Model _model; + private readonly string _handle; + + protected El(Model model, string handle) + { + _model = model; + _handle = handle; + } + + public string ElementId => _model.Backend.ElementId(_handle); + public string Handle => _handle; + public string MetaclassName => _model.Backend.Metaclass(_handle); + public Model Model => _model; + public JsonElement? GetRaw(string prop) => _model.Backend.Get(_handle, prop); + + public override bool Equals(object? obj) => + obj is El other && ReferenceEquals(other._model, _model) + && other.ElementId == ElementId; + + public override int GetHashCode() => ElementId.GetHashCode(); + + public override string ToString() + { + var qn = _model.Backend.Get(_handle, "qualifiedName"); + var label = qn is { ValueKind: JsonValueKind.String } q + ? q.GetString() + : ElementId; + return $"<{MetaclassName} {label}>"; + } +} + +/// Fallback for metaclasses missing from the generated registry. +internal sealed class UnknownEl : El +{ + internal UnknownEl(Model model, string id) : base(model, id) { } +} + +/// Entry point: wraps a backend and mints typed wrappers by metaclass. +public sealed class Model +{ + private readonly Dictionary _cache = new(); + + public IBackend Backend { get; } + + public Model(IBackend backend) + { + Backend = backend; + } + + /// A model read from a full-form interchange element array. With + /// , references into the standard library resolve against it; its + /// elements are not the model's. + public static Model FromFullJson(string json, PayloadLibrary? library = null) + { + using var doc = JsonDocument.Parse(json); + return new Model(new PayloadBackend(doc.RootElement.Clone(), library)); + } + + public IElement Element(string handle) + { + if (_cache.TryGetValue(handle, out var w)) + return w; + var mc = Backend.Metaclass(handle); // throws Gone if absent + w = ClassMap.Factories.TryGetValue(mc, out var make) + ? make(this, handle) + : new UnknownEl(this, handle); + _cache[handle] = w; + return w; + } + + public IElement? Resolve(string qualifiedName) + { + var handle = Backend.Resolve(qualifiedName); + return handle is null ? null : Element(handle); + } + + public IEnumerable All() + { + foreach (var handle in Backend.AllHandles()) + yield return Element(handle); + } + + public IEnumerable ElementsOfType() where T : class, IElement + { + foreach (var el in All()) + if (el is T t) + yield return t; + } + + /// The top-level namespaces: the elements without an owner that are namespaces (a + /// membership may have no owner either). + public IEnumerable Roots() + { + foreach (var el in All()) + if (el is Namespace && el.owner is null) + yield return el; + } + + /// Every generated property member routes through here: + /// the backend value, wrapped. Mirrors P.__get__ in base.py. + public object? Read(IElement el, string prop) + { + var raw = Backend.Get(el.Handle, prop); + return Wrap(raw, $"{el.MetaclassName}.{prop} (element {el.Handle})"); + } + + /// Every generated operation routes through here: the backend evaluates it (the + /// SysML Toolkit answers or refuses; a payload refuses), and the result is wrapped like a + /// property value. + public object? Call(IElement el, string op, object?[] args) + { + var raw = Backend.Call(el.Handle, op, args); + return Wrap(raw, $"{el.MetaclassName}.{op}() (element {el.Handle})"); + } + + // --- typed converters (generated members call these on Read and Call results) ---- + + public static IReadOnlyList AsList(object? v) + { + if (v is null) + return Array.Empty(); // absent arrays normalize to empty + var src = (List)v; + var outp = new List(src.Count); + foreach (var item in src) + outp.Add((T)item!); + return outp; + } + + public static T? AsRef(object? v) where T : class, IElement => (T?)v; + + public static bool? AsBool(object? v) => (bool?)v; + + public static string? AsString(object? v) => (string?)v; + + public static long? AsInt(object? v) => v is null ? null : Convert.ToInt64(v); + + public static double? AsReal(object? v) => v is null ? null : Convert.ToDouble(v); + + private static string? IdRef(JsonElement v) + { + if (v.ValueKind != JsonValueKind.Object) + return null; + string? id = null; + var count = 0; + foreach (var p in v.EnumerateObject()) + { + count++; + if (p.Name == "@id" && p.Value.ValueKind == JsonValueKind.String) + id = p.Value.GetString(); + } + return count == 1 ? id : null; + } + + public object? Wrap(JsonElement? raw, string at = "?") + { + if (raw is not { } v) + return null; + switch (v.ValueKind) + { + case JsonValueKind.Null: + case JsonValueKind.Undefined: + return null; + case JsonValueKind.String: + return v.GetString(); + case JsonValueKind.True: + return true; + case JsonValueKind.False: + return false; + case JsonValueKind.Number: + return v.TryGetInt64(out var l) ? l : v.GetDouble(); + case JsonValueKind.Array: + { + var list = new List(v.GetArrayLength()); + foreach (var item in v.EnumerateArray()) + list.Add(Wrap(item, at)); + return list; + } + case JsonValueKind.Object: + { + if (IdRef(v) is { } id) + { + try + { + return Element(id); + } + catch (GoneException) + { + throw new UnresolvedReferenceException( + $"dangling reference @id='{id}' at {at}: target is " + + "not in this model; the SDK requires resolved models"); + } + } + if (v.TryGetProperty("@ref", out var r) && + r.ValueKind == JsonValueKind.String) + throw new UnresolvedReferenceException( + $"unresolved reference '{r.GetString()}' at {at} (the " + + "SysML Toolkit's @ref passthrough is non-standard best-effort); " + + "the SDK requires resolved models — use GetRaw() for " + + "the raw value"); + return v; + } + default: + return v; + } + } +} diff --git a/csharp/OpenMBEE.SysML/ToolkitBackend.cs b/csharp/OpenMBEE.SysML/ToolkitBackend.cs new file mode 100644 index 0000000..57b2ee0 --- /dev/null +++ b/csharp/OpenMBEE.SysML/ToolkitBackend.cs @@ -0,0 +1,396 @@ +// The SysML Toolkit backend for C#: the binding library (abi/) through P/Invoke function pointers. +// Implements the same IBackend contract as PayloadBackend, so the generated interfaces and +// Model are untouched. Handles are the integers the library mints, carried as decimal strings +// to fit the contract; references come back as {"@id": handle} JSON so Model.Wrap mints +// typed elements exactly as it does for payloads. +// +// Dispatch: Get(handle, prop) finds the declaring class of prop for the element's metaclass +// through ToolkitTable and calls that export. The per-member static form follows once the +// generator emits symbols into the interfaces. +// +// Operations: Call(handle, op, args) finds the operation's row the same way and passes each +// argument as the binding library's parameter C type says. +// +// Status codes follow the ABI specification: NOT_IMPLEMENTED raises +// NotImplementedInToolkitException, NOT_APPLICABLE is an absent value, INVALID_HANDLE raises +// GoneException, UNRESOLVED raises UnresolvedReferenceException. + +using System.Runtime.InteropServices; +using System.Text; +using System.Text.Json; + +namespace OpenMBEE.SysML; + +public sealed unsafe class ToolkitBackend : IBackend, IDisposable +{ + private const int Ok = 0, NotImplemented = 1, NotApplicable = 2, InvalidHandle = 3, Unresolved = 7; + + // -- struct layouts (ABI section 4), x86-64 ------------------------------------------- + [StructLayout(LayoutKind.Sequential)] + private struct Str { public IntPtr Ptr; public nuint Len; public byte Present; public IntPtr Owner; } + [StructLayout(LayoutKind.Sequential)] + private struct Handles { public IntPtr Items; public nuint Len; public IntPtr Owner; } + [StructLayout(LayoutKind.Sequential)] + private struct Ref { public byte Present; public ulong Value; } + [StructLayout(LayoutKind.Sequential)] + private struct Bool { public byte Present; public byte Value; } + [StructLayout(LayoutKind.Sequential)] + private struct Int { public byte Present; public long Value; } + [StructLayout(LayoutKind.Sequential)] + private struct Real { public byte Present; public double Value; } + [StructLayout(LayoutKind.Sequential)] + private struct LoadOptions + { + public IntPtr Paths; public nuint PathsLen; + public IntPtr SourceNames; public IntPtr SourceTexts; public nuint SourcesLen; + public Str LibraryDir; + } + + /// One loaded library, shared by every session created from it. + public sealed class Library + { + internal readonly IntPtr Handle; + internal readonly delegate* unmanaged[Cdecl] Free; + internal readonly delegate* unmanaged[Cdecl] SessionOpen; + internal readonly delegate* unmanaged[Cdecl] SessionClose; + internal readonly delegate* unmanaged[Cdecl] SessionRoots, LastError, UserElements; + internal readonly delegate* unmanaged[Cdecl] FullJson; + internal readonly delegate* unmanaged[Cdecl] Metaclass; + internal readonly delegate* unmanaged[Cdecl] SessionResolve; + private readonly Dictionary _members = new(); + + public Library(string path) + { + Handle = NativeLibrary.Load(path); + Free = (delegate* unmanaged[Cdecl])Export("sysmlv2_free"); + SessionOpen = (delegate* unmanaged[Cdecl])Export("sysmlv2_session_open"); + SessionClose = (delegate* unmanaged[Cdecl])Export("sysmlv2_session_close"); + SessionRoots = (delegate* unmanaged[Cdecl])Export("sysmlv2_session_roots"); + LastError = (delegate* unmanaged[Cdecl])Export("sysmlv2_last_error"); + UserElements = (delegate* unmanaged[Cdecl])Export("sysmlv2_user_elements"); + FullJson = (delegate* unmanaged[Cdecl])Export("sysmlv2_session_full_json"); + Metaclass = (delegate* unmanaged[Cdecl])Export("sysmlv2_metaclass"); + SessionResolve = (delegate* unmanaged[Cdecl])Export("sysmlv2_session_resolve"); + var digest = (delegate* unmanaged[Cdecl])Export("sysmlv2_names_digest"); + var digestLen = (delegate* unmanaged[Cdecl])Export("sysmlv2_names_digest_len"); + var have = Encoding.UTF8.GetString((byte*)digest(), (int)digestLen()); + if (have != ToolkitTable.NamesDigest) + throw new SdkException($"binding library {path} was generated from naming table {have[..12]}, this SDK from {ToolkitTable.NamesDigest[..12]}; regenerate one side"); + } + + private IntPtr Export(string name) => + NativeLibrary.TryGetExport(Handle, name, out var p) ? p : throw new SdkException($"binding library lacks {name}"); + + /// A per-member function: (session, handle, out*) -> status. + internal delegate* unmanaged[Cdecl] Member(string symbol) => + (delegate* unmanaged[Cdecl])Symbol(symbol); + + /// An export's address, for a caller that knows its signature. + internal IntPtr Symbol(string symbol) + { + if (!_members.TryGetValue(symbol, out var p)) _members[symbol] = p = Export(symbol); + return p; + } + + /// SYSMLV2_ABI; else the library the NuGet package carries for this platform, where + /// .NET puts it (beside the application, or under runtimes/<rid>/native); else + /// abi/target/release above the application (a build of the SDK's source). + public static string DefaultPath() + { + var env = Environment.GetEnvironmentVariable("SYSMLV2_ABI"); + if (env is not null) return env; + var name = OperatingSystem.IsWindows() ? "sysmlv2_abi.dll" : OperatingSystem.IsMacOS() ? "libsysmlv2_abi.dylib" : "libsysmlv2_abi.so"; + var rid = (OperatingSystem.IsWindows() ? "win" : OperatingSystem.IsMacOS() ? "osx" : "linux") + + (RuntimeInformation.ProcessArchitecture == Architecture.Arm64 ? "-arm64" : "-x64"); + foreach (var carried in new[] { Path.Combine(AppContext.BaseDirectory, name), + Path.Combine(AppContext.BaseDirectory, "runtimes", rid, "native", name) }) + if (File.Exists(carried)) return carried; + var d = new DirectoryInfo(AppContext.BaseDirectory); + while (d is not null) + { + var candidate = Path.Combine(d.FullName, "abi", "target", "release", name); + if (File.Exists(candidate)) return candidate; + d = d.Parent; + } + throw new SdkException("binding library not found: set SYSMLV2_ABI to the library file in the release's sysmlv2_abi archive for this platform (sysmlv2_abi.dll, libsysmlv2_abi.so or libsysmlv2_abi.dylib), or one built from abi/ in the SDK source"); + } + } + + private static Library? _default; + public static Library DefaultLibrary => _default ??= new Library(Library.DefaultPath()); + + private readonly Library _lib; + private IntPtr _session; + private readonly Dictionary _metaclass = new(); + private readonly Dictionary _declaring = new(); + + private ToolkitBackend(Library lib, IntPtr session) { _lib = lib; _session = session; } + + /// Open a session over files. + public static ToolkitBackend Open(params string[] paths) => Open(DefaultLibrary, paths, null, null); + + /// Open a session over in-memory sources: unit name to text. + public static ToolkitBackend OpenSources(IReadOnlyDictionary sources) => Open(DefaultLibrary, Array.Empty(), sources, null); + + public static ToolkitBackend Open(Library lib, string[] paths, IReadOnlyDictionary? sources, string? libraryDir) + { + if (sources is not { Count: > 0 }) + foreach (var p in paths) + if (!File.Exists(p)) throw new FileNotFoundException($"model file not found: {Path.GetFullPath(p)}", p); + if (libraryDir is not null && !Directory.Exists(libraryDir)) + throw new DirectoryNotFoundException($"library directory not found: {Path.GetFullPath(libraryDir)}"); + var pins = new List(); + try + { + var opts = new LoadOptions(); + Str[] names = Array.Empty(), texts = Array.Empty(), pathArr = Array.Empty(); + if (sources is { Count: > 0 }) + { + names = sources.Keys.Select(k => MakeStr(k, pins)).ToArray(); + texts = sources.Values.Select(v => MakeStr(v, pins)).ToArray(); + opts.SourceNames = Pin(names, pins); opts.SourceTexts = Pin(texts, pins); opts.SourcesLen = (nuint)names.Length; + } + else + { + pathArr = paths.Select(p => MakeStr(p, pins)).ToArray(); + opts.Paths = Pin(pathArr, pins); opts.PathsLen = (nuint)pathArr.Length; + } + if (libraryDir is not null) opts.LibraryDir = MakeStr(libraryDir, pins); + IntPtr session; + int st = lib.SessionOpen((IntPtr)(&opts), (IntPtr)(&session)); + if (st != Ok) throw new SdkException($"the SysML Toolkit could not load the model: status {st} (the SysML Toolkit's reason is on stderr)"); + return new ToolkitBackend(lib, session); + } + finally { foreach (var h in pins) h.Free(); } + } + + private static IntPtr Pin(object array, List pins) + { + var h = GCHandle.Alloc(array, GCHandleType.Pinned); pins.Add(h); return h.AddrOfPinnedObject(); + } + + /// The text as UTF-8 in a pinned buffer. The length is the byte count, which exceeds the + /// string's UTF-16 length for any text beyond ASCII. An empty string still gets a one-byte buffer, + /// so the pointer is never null. + private static Str MakeStr(string s, List pins) + { + var bytes = Encoding.UTF8.GetBytes(s); + var buffer = bytes.Length == 0 ? new byte[1] : bytes; + return new Str { Ptr = Pin(buffer, pins), Len = (nuint)bytes.Length, Present = 1, Owner = IntPtr.Zero }; + } + + public void Dispose() + { + if (_session != IntPtr.Zero) { _lib.SessionClose(_session); _session = IntPtr.Zero; } + } + + /// The model as full-form interchange JSON, from the SysML Toolkit's own emitter. + /// With (the default) the inheritance-aware properties carry the + /// specification's values, inherited and imported members included; without, the owned side + /// only, as the SysML Toolkit's command-line export writes them. + public string FullJson(bool closures = true) + { + Str s; Check(_lib.FullJson(_session, closures ? 1u : 0u, (IntPtr)(&s)), "full_json"); return TakeStr(&s) ?? "[]"; + } + + public IReadOnlyList Roots() + { + Handles h; Check(_lib.SessionRoots(_session, (IntPtr)(&h)), "roots"); return TakeHandles(&h); + } + + // -- errors and result unpacking ---------------------------------------------------------- + + private string LastError() { Str s; _lib.LastError(_session, (IntPtr)(&s)); return TakeStr(&s) ?? ""; } + + /// True when a value is present; false for NOT_APPLICABLE; throws otherwise. + private bool Check(int st, string where) + { + if (st == Ok) return true; + if (st == NotApplicable) return false; + var msg = LastError(); + if (st == NotImplemented) throw new NotImplementedInToolkitException(msg.Length == 0 ? $"{where}: not implemented by the SysML Toolkit" : msg); + if (st == InvalidHandle) throw new GoneException(msg.Length == 0 ? $"{where}: invalid handle" : msg); + if (st == Unresolved) throw new UnresolvedReferenceException(msg.Length == 0 ? $"{where}: a reference did not resolve" : msg); + throw new SdkException($"{where}: status {st}: {msg}"); + } + + private string? TakeStr(Str* s) + { + var v = s->Present != 0 && s->Ptr != IntPtr.Zero ? Encoding.UTF8.GetString((byte*)s->Ptr, (int)s->Len) : null; + _lib.Free(s->Owner); + return v; + } + + private List TakeHandles(Handles* h) + { + var outp = new List((int)h->Len); + var items = (ulong*)h->Items; + for (nuint i = 0; i < h->Len; i++) outp.Add(items[i].ToString()); + _lib.Free(h->Owner); + return outp; + } + + private static JsonElement ToJson(object? value) => JsonSerializer.SerializeToElement(value); + + // Room for the largest result struct (Str: 32 bytes on 64-bit targets). + private const int OutSize = 32; + + private JsonElement? Call(string symbol, char code, ulong handle, string where) + { + var o = stackalloc byte[OutSize]; + return Unpack(code, o, _lib.Member(symbol)(_session, handle, (IntPtr)o), where); + } + + /// The result in as the backend contract carries it, after + /// checking the status. + private JsonElement? Unpack(char code, byte* o, int st, string where) + { + if (!Check(st, where)) return code is 'H' or 'T' ? ToJson(Array.Empty()) : null; + switch (code) + { + case 'H': return ToJson(TakeHandles((Handles*)o).Select(h => new Dictionary { ["@id"] = h }).ToList()); + case 'R': { var r = (Ref*)o; return r->Present == 0 ? null : ToJson(new Dictionary { ["@id"] = r->Value.ToString() }); } + case 'S': { var s = TakeStr((Str*)o); return s is null ? null : ToJson(s); } + case 'T': + { + // A list of strings (a requirement's `text`), as JSON text. + var s = TakeStr((Str*)o); + if (s is null) return ToJson(Array.Empty()); + using var doc = JsonDocument.Parse(s); + return doc.RootElement.Clone(); + } + case 'B': { var b = (Bool*)o; return b->Present == 0 ? null : ToJson(b->Value != 0); } + case 'I': { var i = (Int*)o; return i->Present == 0 ? null : ToJson(i->Value); } + default: { var d = (Real*)o; return d->Present == 0 ? null : ToJson(d->Value); } + } + } + + // -- the backend contract ----------------------------------------------------------------- + + private (string Symbol, char Code, string Params)? Declaring(string metaclass, string prop) + { + var key = metaclass + "::" + prop; + if (_declaring.TryGetValue(key, out var cached)) return cached; + (string Symbol, char Code, string Params)? found = null; + var stack = new Stack(); var seen = new HashSet(); + stack.Push(metaclass); + while (stack.Count > 0) + { + var c = stack.Pop(); + if (!seen.Add(c)) continue; + if (ToolkitTable.Funcs.TryGetValue(c + "::" + prop, out var e)) { found = e; break; } + if (ToolkitTable.Bases.TryGetValue(c, out var bases)) foreach (var b in bases) stack.Push(b); + } + _declaring[key] = found; + return found; + } + + public JsonElement? Get(string handle, string prop) + { + var mc = Metaclass(handle); + var e = Declaring(mc, prop); + if (e is null) return null; // not a member of this metaclass: absent, as the payload backend answers + return Call(e.Value.Symbol, e.Value.Code, ulong.Parse(handle), $"{mc}.{prop}"); + } + + /// A specification operation. Each argument is passed as the binding library's + /// parameter C type says: an element as its handle, a list of elements as a handle array, a + /// Boolean as a C bool, anything else as text. The library answers or refuses. + public JsonElement? Call(string handle, string op, IReadOnlyList args) + { + var mc = Metaclass(handle); + var where = $"{mc}.{op}()"; + var e = Declaring(mc, op + "()") ?? throw new SdkException($"{where}: the binding library has no such operation"); + var types = e.Params.Length == 0 ? Array.Empty() : e.Params.Split(';'); + var pins = new List(); + try + { + // One machine word per argument: the address of a Str or Handles struct, or the value + // of a Handle or bool. The structs live in pinned arrays until the call returns. + var words = new ulong[types.Length]; + var strs = new Str[types.Length]; + var lists = new Handles[types.Length]; + var strBase = Pin(strs, pins); + var listBase = Pin(lists, pins); + var sig = new StringBuilder(); + for (var i = 0; i < types.Length; i++) + { + var a = i < args.Count ? args[i] : null; + switch (types[i]) + { + case "Handle": + // The binding library has no "no element": refuse it rather than pass a + // handle that names some other element. + words[i] = a is IElement el ? ulong.Parse(el.Handle) + : throw new ArgumentException($"{where}: argument {i + 1} must be an element, not {a?.ToString() ?? "null"}"); + sig.Append('U'); break; + case "bool": + words[i] = a is true ? 1UL : 0UL; sig.Append('B'); break; + case "Handles": + { + var n = i + 1; + var items = (a as System.Collections.IEnumerable)?.Cast() + .Select(x => x is IElement el ? ulong.Parse(el.Handle) + : throw new ArgumentException($"{where}: argument {n} must hold elements only, not {x?.ToString() ?? "null"}")) + .ToArray() ?? Array.Empty(); + lists[i] = new Handles { Items = items.Length == 0 ? IntPtr.Zero : Pin(items, pins), Len = (nuint)items.Length, Owner = IntPtr.Zero }; + words[i] = (ulong)(listBase + i * sizeof(Handles)); sig.Append('P'); break; + } + default: + strs[i] = MakeStr(a switch { null => "", string s => s, IElement named => named.ElementId, _ => a.ToString() ?? "" }, pins); + words[i] = (ulong)(strBase + i * sizeof(Str)); sig.Append('P'); break; + } + } + var fp = _lib.Symbol(e.Symbol); + var o = stackalloc byte[OutSize]; + var h = ulong.Parse(handle); + var outp = (IntPtr)o; + int st = sig.ToString() switch + { + "" => ((delegate* unmanaged[Cdecl])fp)(_session, h, outp), + "P" => ((delegate* unmanaged[Cdecl])fp)(_session, h, (IntPtr)words[0], outp), + "PP" => ((delegate* unmanaged[Cdecl])fp)(_session, h, (IntPtr)words[0], (IntPtr)words[1], outp), + "PPP" => ((delegate* unmanaged[Cdecl])fp)(_session, h, (IntPtr)words[0], (IntPtr)words[1], (IntPtr)words[2], outp), + "U" => ((delegate* unmanaged[Cdecl])fp)(_session, h, words[0], outp), + "B" => ((delegate* unmanaged[Cdecl])fp)(_session, h, (byte)words[0], outp), + "PPB" => ((delegate* unmanaged[Cdecl])fp)(_session, h, (IntPtr)words[0], (IntPtr)words[1], (byte)words[2], outp), + "PBB" => ((delegate* unmanaged[Cdecl])fp)(_session, h, (IntPtr)words[0], (byte)words[1], (byte)words[2], outp), + "UU" => ((delegate* unmanaged[Cdecl])fp)(_session, h, words[0], words[1], outp), + "UP" => ((delegate* unmanaged[Cdecl])fp)(_session, h, words[0], (IntPtr)words[1], outp), + "UPP" => ((delegate* unmanaged[Cdecl])fp)(_session, h, words[0], (IntPtr)words[1], (IntPtr)words[2], outp), + var other => throw new SdkException($"{where}: no call shape for parameters '{other}'"), + }; + return Unpack(e.Code, o, st, where); + } + finally { foreach (var p in pins) p.Free(); } + } + + public string Metaclass(string handle) + { + if (_metaclass.TryGetValue(handle, out var mc)) return mc; + Str s; Check(_lib.Metaclass(_session, ulong.Parse(handle), (IntPtr)(&s)), $"metaclass({handle})"); + mc = TakeStr(&s) ?? ""; + _metaclass[handle] = mc; + return mc; + } + + public string ElementId(string handle) => Call("sysmlv2_element_element_id", 'S', ulong.Parse(handle), "elementId")?.GetString() ?? ""; + + public string? Resolve(string qualifiedName) + { + var pins = new List(); + try + { + var arg = MakeStr(qualifiedName, pins); + Ref o; + if (!Check(_lib.SessionResolve(_session, (IntPtr)(&arg), (IntPtr)(&o)), $"resolve({qualifiedName})")) return null; + return o.Present != 0 ? o.Value.ToString() : null; + } + finally { foreach (var h in pins) h.Free(); } + } + + public IEnumerable AllHandles() + { + Handles h; Check(_lib.UserElements(_session, (IntPtr)(&h)), "user_elements"); return TakeHandles(&h); + } +} diff --git a/csharp/OpenMBEE.SysML/ToolkitTable.g.cs b/csharp/OpenMBEE.SysML/ToolkitTable.g.cs new file mode 100644 index 0000000..8ce46d0 --- /dev/null +++ b/csharp/OpenMBEE.SysML/ToolkitTable.g.cs @@ -0,0 +1,676 @@ +// Generated by tools/gen_toolkit_table_cs.py. Do not edit. +using System.Collections.Generic; + +namespace OpenMBEE.SysML; + +/// Dispatch data for : spec member to C symbol, result code and, +/// for an operation, its parameters' C types joined by ';'; plus bases. +internal static class ToolkitTable +{ + public const string NamesDigest = "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351"; + public static readonly Dictionary Funcs = new() + { + ["AcceptActionUsage::payloadArgument"] = ("sysmlv2_accept_action_usage_payload_argument", 'R', ""), + ["AcceptActionUsage::payloadParameter"] = ("sysmlv2_accept_action_usage_payload_parameter", 'R', ""), + ["AcceptActionUsage::receiverArgument"] = ("sysmlv2_accept_action_usage_receiver_argument", 'R', ""), + ["AcceptActionUsage::isTriggerAction()"] = ("sysmlv2_accept_action_usage_is_trigger_action", 'B', ""), + ["ActionDefinition::action"] = ("sysmlv2_action_definition_action", 'H', ""), + ["ActionUsage::actionDefinition"] = ("sysmlv2_action_usage_action_definition", 'H', ""), + ["ActionUsage::argument()"] = ("sysmlv2_action_usage_argument", 'R', "Str"), + ["ActionUsage::inputParameter()"] = ("sysmlv2_action_usage_input_parameter", 'R', "Str"), + ["ActionUsage::inputParameters()"] = ("sysmlv2_action_usage_input_parameters", 'H', ""), + ["ActionUsage::isSubactionUsage()"] = ("sysmlv2_action_usage_is_subaction_usage", 'B', ""), + ["ActorMembership::ownedActorParameter"] = ("sysmlv2_actor_membership_owned_actor_parameter", 'R', ""), + ["AllocationDefinition::allocation"] = ("sysmlv2_allocation_definition_allocation", 'H', ""), + ["AllocationUsage::allocationDefinition"] = ("sysmlv2_allocation_usage_allocation_definition", 'H', ""), + ["AnalysisCaseDefinition::resultExpression"] = ("sysmlv2_analysis_case_definition_result_expression", 'R', ""), + ["AnalysisCaseUsage::analysisCaseDefinition"] = ("sysmlv2_analysis_case_usage_analysis_case_definition", 'R', ""), + ["AnalysisCaseUsage::resultExpression"] = ("sysmlv2_analysis_case_usage_result_expression", 'R', ""), + ["AnnotatingElement::annotatedElement"] = ("sysmlv2_annotating_element_annotated_element", 'H', ""), + ["AnnotatingElement::annotation"] = ("sysmlv2_annotating_element_annotation", 'H', ""), + ["AnnotatingElement::ownedAnnotatingRelationship"] = ("sysmlv2_annotating_element_owned_annotating_relationship", 'H', ""), + ["AnnotatingElement::owningAnnotatingRelationship"] = ("sysmlv2_annotating_element_owning_annotating_relationship", 'R', ""), + ["Annotation::annotatedElement"] = ("sysmlv2_annotation_annotated_element", 'R', ""), + ["Annotation::annotatingElement"] = ("sysmlv2_annotation_annotating_element", 'R', ""), + ["Annotation::ownedAnnotatingElement"] = ("sysmlv2_annotation_owned_annotating_element", 'R', ""), + ["Annotation::owningAnnotatedElement"] = ("sysmlv2_annotation_owning_annotated_element", 'R', ""), + ["Annotation::owningAnnotatingElement"] = ("sysmlv2_annotation_owning_annotating_element", 'R', ""), + ["AssertConstraintUsage::assertedConstraint"] = ("sysmlv2_assert_constraint_usage_asserted_constraint", 'R', ""), + ["AssignmentActionUsage::referent"] = ("sysmlv2_assignment_action_usage_referent", 'R', ""), + ["AssignmentActionUsage::targetArgument"] = ("sysmlv2_assignment_action_usage_target_argument", 'R', ""), + ["AssignmentActionUsage::valueExpression"] = ("sysmlv2_assignment_action_usage_value_expression", 'R', ""), + ["Association::associationEnd"] = ("sysmlv2_association_association_end", 'H', ""), + ["Association::relatedType"] = ("sysmlv2_association_related_type", 'H', ""), + ["Association::sourceType"] = ("sysmlv2_association_source_type", 'R', ""), + ["Association::targetType"] = ("sysmlv2_association_target_type", 'H', ""), + ["AttributeUsage::attributeDefinition"] = ("sysmlv2_attribute_usage_attribute_definition", 'H', ""), + ["Behavior::parameter"] = ("sysmlv2_behavior_parameter", 'H', ""), + ["Behavior::step"] = ("sysmlv2_behavior_step", 'H', ""), + ["BooleanExpression::predicate"] = ("sysmlv2_boolean_expression_predicate", 'R', ""), + ["CalculationDefinition::calculation"] = ("sysmlv2_calculation_definition_calculation", 'H', ""), + ["CalculationUsage::calculationDefinition"] = ("sysmlv2_calculation_usage_calculation_definition", 'R', ""), + ["CaseDefinition::actorParameter"] = ("sysmlv2_case_definition_actor_parameter", 'H', ""), + ["CaseDefinition::objectiveRequirement"] = ("sysmlv2_case_definition_objective_requirement", 'R', ""), + ["CaseDefinition::subjectParameter"] = ("sysmlv2_case_definition_subject_parameter", 'R', ""), + ["CaseUsage::actorParameter"] = ("sysmlv2_case_usage_actor_parameter", 'H', ""), + ["CaseUsage::caseDefinition"] = ("sysmlv2_case_usage_case_definition", 'R', ""), + ["CaseUsage::objectiveRequirement"] = ("sysmlv2_case_usage_objective_requirement", 'R', ""), + ["CaseUsage::subjectParameter"] = ("sysmlv2_case_usage_subject_parameter", 'R', ""), + ["Classifier::ownedSubclassification"] = ("sysmlv2_classifier_owned_subclassification", 'H', ""), + ["Comment::body"] = ("sysmlv2_comment_body", 'S', ""), + ["Comment::locale"] = ("sysmlv2_comment_locale", 'S', ""), + ["ConcernUsage::concernDefinition"] = ("sysmlv2_concern_usage_concern_definition", 'R', ""), + ["ConjugatedPortDefinition::originalPortDefinition"] = ("sysmlv2_conjugated_port_definition_original_port_definition", 'R', ""), + ["ConjugatedPortDefinition::ownedPortConjugator"] = ("sysmlv2_conjugated_port_definition_owned_port_conjugator", 'R', ""), + ["ConjugatedPortTyping::conjugatedPortDefinition"] = ("sysmlv2_conjugated_port_typing_conjugated_port_definition", 'R', ""), + ["ConjugatedPortTyping::portDefinition"] = ("sysmlv2_conjugated_port_typing_port_definition", 'R', ""), + ["Conjugation::conjugatedType"] = ("sysmlv2_conjugation_conjugated_type", 'R', ""), + ["Conjugation::originalType"] = ("sysmlv2_conjugation_original_type", 'R', ""), + ["Conjugation::owningType"] = ("sysmlv2_conjugation_owning_type", 'R', ""), + ["ConnectionDefinition::connectionEnd"] = ("sysmlv2_connection_definition_connection_end", 'H', ""), + ["ConnectionUsage::connectionDefinition"] = ("sysmlv2_connection_usage_connection_definition", 'H', ""), + ["Connector::association"] = ("sysmlv2_connector_association", 'H', ""), + ["Connector::connectorEnd"] = ("sysmlv2_connector_connector_end", 'H', ""), + ["Connector::defaultFeaturingType"] = ("sysmlv2_connector_default_featuring_type", 'R', ""), + ["Connector::relatedFeature"] = ("sysmlv2_connector_related_feature", 'H', ""), + ["Connector::sourceFeature"] = ("sysmlv2_connector_source_feature", 'R', ""), + ["Connector::targetFeature"] = ("sysmlv2_connector_target_feature", 'H', ""), + ["ConstraintUsage::constraintDefinition"] = ("sysmlv2_constraint_usage_constraint_definition", 'R', ""), + ["ControlNode::multiplicityHasBounds()"] = ("sysmlv2_control_node_multiplicity_has_bounds", 'B', "Handle;Str;Str"), + ["CrossSubsetting::crossedFeature"] = ("sysmlv2_cross_subsetting_crossed_feature", 'R', ""), + ["CrossSubsetting::crossingFeature"] = ("sysmlv2_cross_subsetting_crossing_feature", 'R', ""), + ["Definition::directedUsage"] = ("sysmlv2_definition_directed_usage", 'H', ""), + ["Definition::isVariation"] = ("sysmlv2_definition_is_variation", 'B', ""), + ["Definition::ownedAction"] = ("sysmlv2_definition_owned_action", 'H', ""), + ["Definition::ownedAllocation"] = ("sysmlv2_definition_owned_allocation", 'H', ""), + ["Definition::ownedAnalysisCase"] = ("sysmlv2_definition_owned_analysis_case", 'H', ""), + ["Definition::ownedAttribute"] = ("sysmlv2_definition_owned_attribute", 'H', ""), + ["Definition::ownedCalculation"] = ("sysmlv2_definition_owned_calculation", 'H', ""), + ["Definition::ownedCase"] = ("sysmlv2_definition_owned_case", 'H', ""), + ["Definition::ownedConcern"] = ("sysmlv2_definition_owned_concern", 'H', ""), + ["Definition::ownedConnection"] = ("sysmlv2_definition_owned_connection", 'H', ""), + ["Definition::ownedConstraint"] = ("sysmlv2_definition_owned_constraint", 'H', ""), + ["Definition::ownedEnumeration"] = ("sysmlv2_definition_owned_enumeration", 'H', ""), + ["Definition::ownedFlow"] = ("sysmlv2_definition_owned_flow", 'H', ""), + ["Definition::ownedInterface"] = ("sysmlv2_definition_owned_interface", 'H', ""), + ["Definition::ownedItem"] = ("sysmlv2_definition_owned_item", 'H', ""), + ["Definition::ownedMetadata"] = ("sysmlv2_definition_owned_metadata", 'H', ""), + ["Definition::ownedOccurrence"] = ("sysmlv2_definition_owned_occurrence", 'H', ""), + ["Definition::ownedPart"] = ("sysmlv2_definition_owned_part", 'H', ""), + ["Definition::ownedPort"] = ("sysmlv2_definition_owned_port", 'H', ""), + ["Definition::ownedReference"] = ("sysmlv2_definition_owned_reference", 'H', ""), + ["Definition::ownedRendering"] = ("sysmlv2_definition_owned_rendering", 'H', ""), + ["Definition::ownedRequirement"] = ("sysmlv2_definition_owned_requirement", 'H', ""), + ["Definition::ownedState"] = ("sysmlv2_definition_owned_state", 'H', ""), + ["Definition::ownedTransition"] = ("sysmlv2_definition_owned_transition", 'H', ""), + ["Definition::ownedUsage"] = ("sysmlv2_definition_owned_usage", 'H', ""), + ["Definition::ownedUseCase"] = ("sysmlv2_definition_owned_use_case", 'H', ""), + ["Definition::ownedVerificationCase"] = ("sysmlv2_definition_owned_verification_case", 'H', ""), + ["Definition::ownedView"] = ("sysmlv2_definition_owned_view", 'H', ""), + ["Definition::ownedViewpoint"] = ("sysmlv2_definition_owned_viewpoint", 'H', ""), + ["Definition::usage"] = ("sysmlv2_definition_usage", 'H', ""), + ["Definition::variant"] = ("sysmlv2_definition_variant", 'H', ""), + ["Definition::variantMembership"] = ("sysmlv2_definition_variant_membership", 'H', ""), + ["Dependency::client"] = ("sysmlv2_dependency_client", 'H', ""), + ["Dependency::supplier"] = ("sysmlv2_dependency_supplier", 'H', ""), + ["Differencing::differencingType"] = ("sysmlv2_differencing_differencing_type", 'R', ""), + ["Differencing::typeDifferenced"] = ("sysmlv2_differencing_type_differenced", 'R', ""), + ["Disjoining::disjoiningType"] = ("sysmlv2_disjoining_disjoining_type", 'R', ""), + ["Disjoining::owningType"] = ("sysmlv2_disjoining_owning_type", 'R', ""), + ["Disjoining::typeDisjoined"] = ("sysmlv2_disjoining_type_disjoined", 'R', ""), + ["Documentation::documentedElement"] = ("sysmlv2_documentation_documented_element", 'R', ""), + ["Element::aliasIds"] = ("sysmlv2_element_alias_ids", 'T', ""), + ["Element::declaredName"] = ("sysmlv2_element_declared_name", 'S', ""), + ["Element::declaredShortName"] = ("sysmlv2_element_declared_short_name", 'S', ""), + ["Element::documentation"] = ("sysmlv2_element_documentation", 'H', ""), + ["Element::elementId"] = ("sysmlv2_element_element_id", 'S', ""), + ["Element::isImpliedIncluded"] = ("sysmlv2_element_is_implied_included", 'B', ""), + ["Element::isLibraryElement"] = ("sysmlv2_element_is_library_element", 'B', ""), + ["Element::name"] = ("sysmlv2_element_name", 'S', ""), + ["Element::ownedAnnotation"] = ("sysmlv2_element_owned_annotation", 'H', ""), + ["Element::ownedElement"] = ("sysmlv2_element_owned_element", 'H', ""), + ["Element::ownedRelationship"] = ("sysmlv2_element_owned_relationship", 'H', ""), + ["Element::owner"] = ("sysmlv2_element_owner", 'R', ""), + ["Element::owningMembership"] = ("sysmlv2_element_owning_membership", 'R', ""), + ["Element::owningNamespace"] = ("sysmlv2_element_owning_namespace", 'R', ""), + ["Element::owningRelationship"] = ("sysmlv2_element_owning_relationship", 'R', ""), + ["Element::qualifiedName"] = ("sysmlv2_element_qualified_name", 'S', ""), + ["Element::shortName"] = ("sysmlv2_element_short_name", 'S', ""), + ["Element::textualRepresentation"] = ("sysmlv2_element_textual_representation", 'H', ""), + ["Element::effectiveName()"] = ("sysmlv2_element_effective_name", 'S', ""), + ["Element::effectiveShortName()"] = ("sysmlv2_element_effective_short_name", 'S', ""), + ["Element::escapedName()"] = ("sysmlv2_element_escaped_name", 'S', ""), + ["Element::libraryNamespace()"] = ("sysmlv2_element_library_namespace", 'R', ""), + ["Element::path()"] = ("sysmlv2_element_path", 'S', ""), + ["ElementFilterMembership::condition"] = ("sysmlv2_element_filter_membership_condition", 'R', ""), + ["EnumerationDefinition::enumeratedValue"] = ("sysmlv2_enumeration_definition_enumerated_value", 'H', ""), + ["EnumerationUsage::enumerationDefinition"] = ("sysmlv2_enumeration_usage_enumeration_definition", 'R', ""), + ["EventOccurrenceUsage::eventOccurrence"] = ("sysmlv2_event_occurrence_usage_event_occurrence", 'R', ""), + ["ExhibitStateUsage::exhibitedState"] = ("sysmlv2_exhibit_state_usage_exhibited_state", 'R', ""), + ["Expression::function"] = ("sysmlv2_expression_function", 'R', ""), + ["Expression::isModelLevelEvaluable"] = ("sysmlv2_expression_is_model_level_evaluable", 'B', ""), + ["Expression::result"] = ("sysmlv2_expression_result", 'R', ""), + ["Expression::checkCondition()"] = ("sysmlv2_expression_check_condition", 'B', "Handle"), + ["Expression::evaluate()"] = ("sysmlv2_expression_evaluate", 'H', "Handle"), + ["Expression::modelLevelEvaluable()"] = ("sysmlv2_expression_model_level_evaluable", 'B', "Handles"), + ["Feature::chainingFeature"] = ("sysmlv2_feature_chaining_feature", 'H', ""), + ["Feature::crossFeature"] = ("sysmlv2_feature_cross_feature", 'R', ""), + ["Feature::direction"] = ("sysmlv2_feature_direction", 'S', ""), + ["Feature::endOwningType"] = ("sysmlv2_feature_end_owning_type", 'R', ""), + ["Feature::featureTarget"] = ("sysmlv2_feature_feature_target", 'R', ""), + ["Feature::featuringType"] = ("sysmlv2_feature_featuring_type", 'H', ""), + ["Feature::isComposite"] = ("sysmlv2_feature_is_composite", 'B', ""), + ["Feature::isConstant"] = ("sysmlv2_feature_is_constant", 'B', ""), + ["Feature::isDerived"] = ("sysmlv2_feature_is_derived", 'B', ""), + ["Feature::isEnd"] = ("sysmlv2_feature_is_end", 'B', ""), + ["Feature::isOrdered"] = ("sysmlv2_feature_is_ordered", 'B', ""), + ["Feature::isPortion"] = ("sysmlv2_feature_is_portion", 'B', ""), + ["Feature::isUnique"] = ("sysmlv2_feature_is_unique", 'B', ""), + ["Feature::isVariable"] = ("sysmlv2_feature_is_variable", 'B', ""), + ["Feature::ownedCrossSubsetting"] = ("sysmlv2_feature_owned_cross_subsetting", 'R', ""), + ["Feature::ownedFeatureChaining"] = ("sysmlv2_feature_owned_feature_chaining", 'H', ""), + ["Feature::ownedFeatureInverting"] = ("sysmlv2_feature_owned_feature_inverting", 'H', ""), + ["Feature::ownedRedefinition"] = ("sysmlv2_feature_owned_redefinition", 'H', ""), + ["Feature::ownedReferenceSubsetting"] = ("sysmlv2_feature_owned_reference_subsetting", 'R', ""), + ["Feature::ownedSubsetting"] = ("sysmlv2_feature_owned_subsetting", 'H', ""), + ["Feature::ownedTypeFeaturing"] = ("sysmlv2_feature_owned_type_featuring", 'H', ""), + ["Feature::ownedTyping"] = ("sysmlv2_feature_owned_typing", 'H', ""), + ["Feature::owningFeatureMembership"] = ("sysmlv2_feature_owning_feature_membership", 'R', ""), + ["Feature::owningType"] = ("sysmlv2_feature_owning_type", 'R', ""), + ["Feature::type"] = ("sysmlv2_feature_type", 'H', ""), + ["Feature::allRedefinedFeatures()"] = ("sysmlv2_feature_all_redefined_features", 'H', ""), + ["Feature::asCartesianProduct()"] = ("sysmlv2_feature_as_cartesian_product", 'H', ""), + ["Feature::canAccess()"] = ("sysmlv2_feature_can_access", 'B', "Handle"), + ["Feature::directionFor()"] = ("sysmlv2_feature_direction_for", 'S', "Handle"), + ["Feature::isCartesianProduct()"] = ("sysmlv2_feature_is_cartesian_product", 'B', ""), + ["Feature::isFeaturedWithin()"] = ("sysmlv2_feature_is_featured_within", 'B', "Handle"), + ["Feature::isFeaturingType()"] = ("sysmlv2_feature_is_featuring_type", 'B', "Handle"), + ["Feature::isOwnedCrossFeature()"] = ("sysmlv2_feature_is_owned_cross_feature", 'B', ""), + ["Feature::namingFeature()"] = ("sysmlv2_feature_naming_feature", 'R', ""), + ["Feature::ownedCrossFeature()"] = ("sysmlv2_feature_owned_cross_feature", 'R', ""), + ["Feature::redefines()"] = ("sysmlv2_feature_redefines", 'B', "Handle"), + ["Feature::redefinesFromLibrary()"] = ("sysmlv2_feature_redefines_from_library", 'B', "Str"), + ["Feature::subsetsChain()"] = ("sysmlv2_feature_subsets_chain", 'B', "Handle;Handle"), + ["Feature::typingFeatures()"] = ("sysmlv2_feature_typing_features", 'H', ""), + ["FeatureChainExpression::targetFeature"] = ("sysmlv2_feature_chain_expression_target_feature", 'R', ""), + ["FeatureChainExpression::sourceTargetFeature()"] = ("sysmlv2_feature_chain_expression_source_target_feature", 'R', ""), + ["FeatureChaining::chainingFeature"] = ("sysmlv2_feature_chaining_chaining_feature", 'R', ""), + ["FeatureChaining::featureChained"] = ("sysmlv2_feature_chaining_feature_chained", 'R', ""), + ["FeatureInverting::featureInverted"] = ("sysmlv2_feature_inverting_feature_inverted", 'R', ""), + ["FeatureInverting::invertingFeature"] = ("sysmlv2_feature_inverting_inverting_feature", 'R', ""), + ["FeatureInverting::owningFeature"] = ("sysmlv2_feature_inverting_owning_feature", 'R', ""), + ["FeatureMembership::ownedMemberFeature"] = ("sysmlv2_feature_membership_owned_member_feature", 'R', ""), + ["FeatureMembership::owningType"] = ("sysmlv2_feature_membership_owning_type", 'R', ""), + ["FeatureReferenceExpression::referent"] = ("sysmlv2_feature_reference_expression_referent", 'R', ""), + ["FeatureTyping::owningFeature"] = ("sysmlv2_feature_typing_owning_feature", 'R', ""), + ["FeatureTyping::type"] = ("sysmlv2_feature_typing_type", 'R', ""), + ["FeatureTyping::typedFeature"] = ("sysmlv2_feature_typing_typed_feature", 'R', ""), + ["FeatureValue::featureWithValue"] = ("sysmlv2_feature_value_feature_with_value", 'R', ""), + ["FeatureValue::isDefault"] = ("sysmlv2_feature_value_is_default", 'B', ""), + ["FeatureValue::isInitial"] = ("sysmlv2_feature_value_is_initial", 'B', ""), + ["FeatureValue::value"] = ("sysmlv2_feature_value_value", 'R', ""), + ["Flow::flowEnd"] = ("sysmlv2_flow_flow_end", 'H', ""), + ["Flow::interaction"] = ("sysmlv2_flow_interaction", 'H', ""), + ["Flow::payloadFeature"] = ("sysmlv2_flow_payload_feature", 'R', ""), + ["Flow::payloadType"] = ("sysmlv2_flow_payload_type", 'H', ""), + ["Flow::sourceOutputFeature"] = ("sysmlv2_flow_source_output_feature", 'R', ""), + ["Flow::targetInputFeature"] = ("sysmlv2_flow_target_input_feature", 'R', ""), + ["FlowDefinition::flowEnd"] = ("sysmlv2_flow_definition_flow_end", 'H', ""), + ["FlowUsage::flowDefinition"] = ("sysmlv2_flow_usage_flow_definition", 'H', ""), + ["ForLoopActionUsage::loopVariable"] = ("sysmlv2_for_loop_action_usage_loop_variable", 'R', ""), + ["ForLoopActionUsage::seqArgument"] = ("sysmlv2_for_loop_action_usage_seq_argument", 'R', ""), + ["FramedConcernMembership::ownedConcern"] = ("sysmlv2_framed_concern_membership_owned_concern", 'R', ""), + ["FramedConcernMembership::referencedConcern"] = ("sysmlv2_framed_concern_membership_referenced_concern", 'R', ""), + ["Function::expression"] = ("sysmlv2_function_expression", 'H', ""), + ["Function::isModelLevelEvaluable"] = ("sysmlv2_function_is_model_level_evaluable", 'B', ""), + ["Function::result"] = ("sysmlv2_function_result", 'R', ""), + ["IfActionUsage::elseAction"] = ("sysmlv2_if_action_usage_else_action", 'R', ""), + ["IfActionUsage::ifArgument"] = ("sysmlv2_if_action_usage_if_argument", 'R', ""), + ["IfActionUsage::thenAction"] = ("sysmlv2_if_action_usage_then_action", 'R', ""), + ["Import::importOwningNamespace"] = ("sysmlv2_import_import_owning_namespace", 'R', ""), + ["Import::importedElement"] = ("sysmlv2_import_imported_element", 'R', ""), + ["Import::isImportAll"] = ("sysmlv2_import_is_import_all", 'B', ""), + ["Import::isRecursive"] = ("sysmlv2_import_is_recursive", 'B', ""), + ["Import::visibility"] = ("sysmlv2_import_visibility", 'S', ""), + ["Import::importedMemberships()"] = ("sysmlv2_import_imported_memberships", 'H', "Handles"), + ["IncludeUseCaseUsage::useCaseIncluded"] = ("sysmlv2_include_use_case_usage_use_case_included", 'R', ""), + ["InstantiationExpression::argument"] = ("sysmlv2_instantiation_expression_argument", 'H', ""), + ["InstantiationExpression::instantiatedType"] = ("sysmlv2_instantiation_expression_instantiated_type", 'R', ""), + ["InstantiationExpression::instantiatedType()"] = ("sysmlv2_instantiation_expression_instantiated_type_op", 'R', ""), + ["InterfaceDefinition::interfaceEnd"] = ("sysmlv2_interface_definition_interface_end", 'H', ""), + ["InterfaceUsage::interfaceDefinition"] = ("sysmlv2_interface_usage_interface_definition", 'H', ""), + ["Intersecting::intersectingType"] = ("sysmlv2_intersecting_intersecting_type", 'R', ""), + ["Intersecting::typeIntersected"] = ("sysmlv2_intersecting_type_intersected", 'R', ""), + ["Invariant::isNegated"] = ("sysmlv2_invariant_is_negated", 'B', ""), + ["ItemUsage::itemDefinition"] = ("sysmlv2_item_usage_item_definition", 'H', ""), + ["LibraryPackage::isStandard"] = ("sysmlv2_library_package_is_standard", 'B', ""), + ["LiteralBoolean::value"] = ("sysmlv2_literal_boolean_value", 'B', ""), + ["LiteralInteger::value"] = ("sysmlv2_literal_integer_value", 'I', ""), + ["LiteralRational::value"] = ("sysmlv2_literal_rational_value", 'F', ""), + ["LiteralString::value"] = ("sysmlv2_literal_string_value", 'S', ""), + ["LoopActionUsage::bodyAction"] = ("sysmlv2_loop_action_usage_body_action", 'R', ""), + ["Membership::memberElement"] = ("sysmlv2_membership_member_element", 'R', ""), + ["Membership::memberElementId"] = ("sysmlv2_membership_member_element_id", 'S', ""), + ["Membership::memberName"] = ("sysmlv2_membership_member_name", 'S', ""), + ["Membership::memberShortName"] = ("sysmlv2_membership_member_short_name", 'S', ""), + ["Membership::membershipOwningNamespace"] = ("sysmlv2_membership_membership_owning_namespace", 'R', ""), + ["Membership::visibility"] = ("sysmlv2_membership_visibility", 'S', ""), + ["Membership::isDistinguishableFrom()"] = ("sysmlv2_membership_is_distinguishable_from", 'B', "Handle"), + ["MembershipImport::importedMembership"] = ("sysmlv2_membership_import_imported_membership", 'R', ""), + ["MetadataAccessExpression::referencedElement"] = ("sysmlv2_metadata_access_expression_referenced_element", 'R', ""), + ["MetadataAccessExpression::metaclassFeature()"] = ("sysmlv2_metadata_access_expression_metaclass_feature", 'R', ""), + ["MetadataFeature::metaclass"] = ("sysmlv2_metadata_feature_metaclass", 'R', ""), + ["MetadataFeature::evaluateFeature()"] = ("sysmlv2_metadata_feature_evaluate_feature", 'H', "Handle"), + ["MetadataFeature::isSemantic()"] = ("sysmlv2_metadata_feature_is_semantic", 'B', ""), + ["MetadataFeature::isSyntactic()"] = ("sysmlv2_metadata_feature_is_syntactic", 'B', ""), + ["MetadataFeature::syntaxElement()"] = ("sysmlv2_metadata_feature_syntax_element", 'R', ""), + ["MetadataUsage::metadataDefinition"] = ("sysmlv2_metadata_usage_metadata_definition", 'R', ""), + ["MultiplicityRange::bound"] = ("sysmlv2_multiplicity_range_bound", 'H', ""), + ["MultiplicityRange::lowerBound"] = ("sysmlv2_multiplicity_range_lower_bound", 'R', ""), + ["MultiplicityRange::upperBound"] = ("sysmlv2_multiplicity_range_upper_bound", 'R', ""), + ["MultiplicityRange::hasBounds()"] = ("sysmlv2_multiplicity_range_has_bounds", 'B', "Str;Str"), + ["MultiplicityRange::valueOf()"] = ("sysmlv2_multiplicity_range_value_of", 'I', "Handle"), + ["Namespace::importedMembership"] = ("sysmlv2_namespace_imported_membership", 'H', ""), + ["Namespace::member"] = ("sysmlv2_namespace_member", 'H', ""), + ["Namespace::membership"] = ("sysmlv2_namespace_membership", 'H', ""), + ["Namespace::ownedImport"] = ("sysmlv2_namespace_owned_import", 'H', ""), + ["Namespace::ownedMember"] = ("sysmlv2_namespace_owned_member", 'H', ""), + ["Namespace::ownedMembership"] = ("sysmlv2_namespace_owned_membership", 'H', ""), + ["Namespace::importedMemberships()"] = ("sysmlv2_namespace_imported_memberships", 'H', "Handles"), + ["Namespace::membershipsOfVisibility()"] = ("sysmlv2_namespace_memberships_of_visibility", 'H', "Str;Handles"), + ["Namespace::namesOf()"] = ("sysmlv2_namespace_names_of", 'T', "Handle"), + ["Namespace::qualificationOf()"] = ("sysmlv2_namespace_qualification_of", 'S', "Str"), + ["Namespace::resolve()"] = ("sysmlv2_namespace_resolve", 'R', "Str"), + ["Namespace::resolveGlobal()"] = ("sysmlv2_namespace_resolve_global", 'R', "Str"), + ["Namespace::resolveLocal()"] = ("sysmlv2_namespace_resolve_local", 'R', "Str"), + ["Namespace::resolveVisible()"] = ("sysmlv2_namespace_resolve_visible", 'R', "Str"), + ["Namespace::unqualifiedNameOf()"] = ("sysmlv2_namespace_unqualified_name_of", 'S', "Str"), + ["Namespace::visibilityOf()"] = ("sysmlv2_namespace_visibility_of", 'S', "Handle"), + ["Namespace::visibleMemberships()"] = ("sysmlv2_namespace_visible_memberships", 'H', "Handles;bool;bool"), + ["NamespaceImport::importedNamespace"] = ("sysmlv2_namespace_import_imported_namespace", 'R', ""), + ["ObjectiveMembership::ownedObjectiveRequirement"] = ("sysmlv2_objective_membership_owned_objective_requirement", 'R', ""), + ["OccurrenceDefinition::isIndividual"] = ("sysmlv2_occurrence_definition_is_individual", 'B', ""), + ["OccurrenceUsage::individualDefinition"] = ("sysmlv2_occurrence_usage_individual_definition", 'R', ""), + ["OccurrenceUsage::isIndividual"] = ("sysmlv2_occurrence_usage_is_individual", 'B', ""), + ["OccurrenceUsage::occurrenceDefinition"] = ("sysmlv2_occurrence_usage_occurrence_definition", 'H', ""), + ["OccurrenceUsage::portionKind"] = ("sysmlv2_occurrence_usage_portion_kind", 'S', ""), + ["OperatorExpression::operator"] = ("sysmlv2_operator_expression_operator", 'S', ""), + ["OwningMembership::ownedMemberElement"] = ("sysmlv2_owning_membership_owned_member_element", 'R', ""), + ["OwningMembership::ownedMemberElementId"] = ("sysmlv2_owning_membership_owned_member_element_id", 'S', ""), + ["OwningMembership::ownedMemberName"] = ("sysmlv2_owning_membership_owned_member_name", 'S', ""), + ["OwningMembership::ownedMemberShortName"] = ("sysmlv2_owning_membership_owned_member_short_name", 'S', ""), + ["Package::filterCondition"] = ("sysmlv2_package_filter_condition", 'H', ""), + ["Package::includeAsMember()"] = ("sysmlv2_package_include_as_member", 'B', "Handle"), + ["ParameterMembership::ownedMemberParameter"] = ("sysmlv2_parameter_membership_owned_member_parameter", 'R', ""), + ["ParameterMembership::parameterDirection()"] = ("sysmlv2_parameter_membership_parameter_direction", 'S', ""), + ["PartUsage::partDefinition"] = ("sysmlv2_part_usage_part_definition", 'H', ""), + ["PerformActionUsage::performedAction"] = ("sysmlv2_perform_action_usage_performed_action", 'R', ""), + ["PortConjugation::conjugatedPortDefinition"] = ("sysmlv2_port_conjugation_conjugated_port_definition", 'R', ""), + ["PortConjugation::originalPortDefinition"] = ("sysmlv2_port_conjugation_original_port_definition", 'R', ""), + ["PortDefinition::conjugatedPortDefinition"] = ("sysmlv2_port_definition_conjugated_port_definition", 'R', ""), + ["PortUsage::portDefinition"] = ("sysmlv2_port_usage_port_definition", 'H', ""), + ["Redefinition::redefinedFeature"] = ("sysmlv2_redefinition_redefined_feature", 'R', ""), + ["Redefinition::redefiningFeature"] = ("sysmlv2_redefinition_redefining_feature", 'R', ""), + ["ReferenceSubsetting::referencedFeature"] = ("sysmlv2_reference_subsetting_referenced_feature", 'R', ""), + ["ReferenceSubsetting::referencingFeature"] = ("sysmlv2_reference_subsetting_referencing_feature", 'R', ""), + ["Relationship::isImplied"] = ("sysmlv2_relationship_is_implied", 'B', ""), + ["Relationship::ownedRelatedElement"] = ("sysmlv2_relationship_owned_related_element", 'H', ""), + ["Relationship::owningRelatedElement"] = ("sysmlv2_relationship_owning_related_element", 'R', ""), + ["Relationship::relatedElement"] = ("sysmlv2_relationship_related_element", 'H', ""), + ["Relationship::source"] = ("sysmlv2_relationship_source", 'H', ""), + ["Relationship::target"] = ("sysmlv2_relationship_target", 'H', ""), + ["RenderingDefinition::rendering"] = ("sysmlv2_rendering_definition_rendering", 'H', ""), + ["RenderingUsage::renderingDefinition"] = ("sysmlv2_rendering_usage_rendering_definition", 'R', ""), + ["RequirementConstraintMembership::kind"] = ("sysmlv2_requirement_constraint_membership_kind", 'S', ""), + ["RequirementConstraintMembership::ownedConstraint"] = ("sysmlv2_requirement_constraint_membership_owned_constraint", 'R', ""), + ["RequirementConstraintMembership::referencedConstraint"] = ("sysmlv2_requirement_constraint_membership_referenced_constraint", 'R', ""), + ["RequirementDefinition::actorParameter"] = ("sysmlv2_requirement_definition_actor_parameter", 'H', ""), + ["RequirementDefinition::assumedConstraint"] = ("sysmlv2_requirement_definition_assumed_constraint", 'H', ""), + ["RequirementDefinition::framedConcern"] = ("sysmlv2_requirement_definition_framed_concern", 'H', ""), + ["RequirementDefinition::reqId"] = ("sysmlv2_requirement_definition_req_id", 'S', ""), + ["RequirementDefinition::requiredConstraint"] = ("sysmlv2_requirement_definition_required_constraint", 'H', ""), + ["RequirementDefinition::stakeholderParameter"] = ("sysmlv2_requirement_definition_stakeholder_parameter", 'H', ""), + ["RequirementDefinition::subjectParameter"] = ("sysmlv2_requirement_definition_subject_parameter", 'R', ""), + ["RequirementDefinition::text"] = ("sysmlv2_requirement_definition_text", 'T', ""), + ["RequirementUsage::actorParameter"] = ("sysmlv2_requirement_usage_actor_parameter", 'H', ""), + ["RequirementUsage::assumedConstraint"] = ("sysmlv2_requirement_usage_assumed_constraint", 'H', ""), + ["RequirementUsage::framedConcern"] = ("sysmlv2_requirement_usage_framed_concern", 'H', ""), + ["RequirementUsage::reqId"] = ("sysmlv2_requirement_usage_req_id", 'S', ""), + ["RequirementUsage::requiredConstraint"] = ("sysmlv2_requirement_usage_required_constraint", 'H', ""), + ["RequirementUsage::requirementDefinition"] = ("sysmlv2_requirement_usage_requirement_definition", 'R', ""), + ["RequirementUsage::stakeholderParameter"] = ("sysmlv2_requirement_usage_stakeholder_parameter", 'H', ""), + ["RequirementUsage::subjectParameter"] = ("sysmlv2_requirement_usage_subject_parameter", 'R', ""), + ["RequirementUsage::text"] = ("sysmlv2_requirement_usage_text", 'T', ""), + ["RequirementVerificationMembership::ownedRequirement"] = ("sysmlv2_requirement_verification_membership_owned_requirement", 'R', ""), + ["RequirementVerificationMembership::verifiedRequirement"] = ("sysmlv2_requirement_verification_membership_verified_requirement", 'R', ""), + ["ResultExpressionMembership::ownedResultExpression"] = ("sysmlv2_result_expression_membership_owned_result_expression", 'R', ""), + ["SatisfyRequirementUsage::satisfiedRequirement"] = ("sysmlv2_satisfy_requirement_usage_satisfied_requirement", 'R', ""), + ["SatisfyRequirementUsage::satisfyingFeature"] = ("sysmlv2_satisfy_requirement_usage_satisfying_feature", 'R', ""), + ["SendActionUsage::payloadArgument"] = ("sysmlv2_send_action_usage_payload_argument", 'R', ""), + ["SendActionUsage::receiverArgument"] = ("sysmlv2_send_action_usage_receiver_argument", 'R', ""), + ["SendActionUsage::senderArgument"] = ("sysmlv2_send_action_usage_sender_argument", 'R', ""), + ["Specialization::general"] = ("sysmlv2_specialization_general", 'R', ""), + ["Specialization::owningType"] = ("sysmlv2_specialization_owning_type", 'R', ""), + ["Specialization::specific"] = ("sysmlv2_specialization_specific", 'R', ""), + ["StakeholderMembership::ownedStakeholderParameter"] = ("sysmlv2_stakeholder_membership_owned_stakeholder_parameter", 'R', ""), + ["StateDefinition::doAction"] = ("sysmlv2_state_definition_do_action", 'R', ""), + ["StateDefinition::entryAction"] = ("sysmlv2_state_definition_entry_action", 'R', ""), + ["StateDefinition::exitAction"] = ("sysmlv2_state_definition_exit_action", 'R', ""), + ["StateDefinition::isParallel"] = ("sysmlv2_state_definition_is_parallel", 'B', ""), + ["StateDefinition::state"] = ("sysmlv2_state_definition_state", 'H', ""), + ["StateSubactionMembership::action"] = ("sysmlv2_state_subaction_membership_action", 'R', ""), + ["StateSubactionMembership::kind"] = ("sysmlv2_state_subaction_membership_kind", 'S', ""), + ["StateUsage::doAction"] = ("sysmlv2_state_usage_do_action", 'R', ""), + ["StateUsage::entryAction"] = ("sysmlv2_state_usage_entry_action", 'R', ""), + ["StateUsage::exitAction"] = ("sysmlv2_state_usage_exit_action", 'R', ""), + ["StateUsage::isParallel"] = ("sysmlv2_state_usage_is_parallel", 'B', ""), + ["StateUsage::stateDefinition"] = ("sysmlv2_state_usage_state_definition", 'H', ""), + ["StateUsage::isSubstateUsage()"] = ("sysmlv2_state_usage_is_substate_usage", 'B', "bool"), + ["Step::behavior"] = ("sysmlv2_step_behavior", 'H', ""), + ["Step::parameter"] = ("sysmlv2_step_parameter", 'H', ""), + ["Subclassification::owningClassifier"] = ("sysmlv2_subclassification_owning_classifier", 'R', ""), + ["Subclassification::subclassifier"] = ("sysmlv2_subclassification_subclassifier", 'R', ""), + ["Subclassification::superclassifier"] = ("sysmlv2_subclassification_superclassifier", 'R', ""), + ["SubjectMembership::ownedSubjectParameter"] = ("sysmlv2_subject_membership_owned_subject_parameter", 'R', ""), + ["Subsetting::owningFeature"] = ("sysmlv2_subsetting_owning_feature", 'R', ""), + ["Subsetting::subsettedFeature"] = ("sysmlv2_subsetting_subsetted_feature", 'R', ""), + ["Subsetting::subsettingFeature"] = ("sysmlv2_subsetting_subsetting_feature", 'R', ""), + ["TerminateActionUsage::terminatedOccurrenceArgument"] = ("sysmlv2_terminate_action_usage_terminated_occurrence_argument", 'R', ""), + ["TextualRepresentation::body"] = ("sysmlv2_textual_representation_body", 'S', ""), + ["TextualRepresentation::language"] = ("sysmlv2_textual_representation_language", 'S', ""), + ["TextualRepresentation::representedElement"] = ("sysmlv2_textual_representation_represented_element", 'R', ""), + ["TransitionFeatureMembership::kind"] = ("sysmlv2_transition_feature_membership_kind", 'S', ""), + ["TransitionFeatureMembership::transitionFeature"] = ("sysmlv2_transition_feature_membership_transition_feature", 'R', ""), + ["TransitionUsage::effectAction"] = ("sysmlv2_transition_usage_effect_action", 'H', ""), + ["TransitionUsage::guardExpression"] = ("sysmlv2_transition_usage_guard_expression", 'H', ""), + ["TransitionUsage::source"] = ("sysmlv2_transition_usage_source", 'R', ""), + ["TransitionUsage::succession"] = ("sysmlv2_transition_usage_succession", 'R', ""), + ["TransitionUsage::target"] = ("sysmlv2_transition_usage_target", 'R', ""), + ["TransitionUsage::triggerAction"] = ("sysmlv2_transition_usage_trigger_action", 'H', ""), + ["TransitionUsage::sourceFeature()"] = ("sysmlv2_transition_usage_source_feature", 'R', ""), + ["TransitionUsage::triggerPayloadParameter()"] = ("sysmlv2_transition_usage_trigger_payload_parameter", 'R', ""), + ["TriggerInvocationExpression::kind"] = ("sysmlv2_trigger_invocation_expression_kind", 'S', ""), + ["Type::differencingType"] = ("sysmlv2_type_differencing_type", 'H', ""), + ["Type::directedFeature"] = ("sysmlv2_type_directed_feature", 'H', ""), + ["Type::endFeature"] = ("sysmlv2_type_end_feature", 'H', ""), + ["Type::feature"] = ("sysmlv2_type_feature", 'H', ""), + ["Type::featureMembership"] = ("sysmlv2_type_feature_membership", 'H', ""), + ["Type::inheritedFeature"] = ("sysmlv2_type_inherited_feature", 'H', ""), + ["Type::inheritedMembership"] = ("sysmlv2_type_inherited_membership", 'H', ""), + ["Type::input"] = ("sysmlv2_type_input", 'H', ""), + ["Type::intersectingType"] = ("sysmlv2_type_intersecting_type", 'H', ""), + ["Type::isAbstract"] = ("sysmlv2_type_is_abstract", 'B', ""), + ["Type::isConjugated"] = ("sysmlv2_type_is_conjugated", 'B', ""), + ["Type::isSufficient"] = ("sysmlv2_type_is_sufficient", 'B', ""), + ["Type::multiplicity"] = ("sysmlv2_type_multiplicity", 'R', ""), + ["Type::output"] = ("sysmlv2_type_output", 'H', ""), + ["Type::ownedConjugator"] = ("sysmlv2_type_owned_conjugator", 'R', ""), + ["Type::ownedDifferencing"] = ("sysmlv2_type_owned_differencing", 'H', ""), + ["Type::ownedDisjoining"] = ("sysmlv2_type_owned_disjoining", 'H', ""), + ["Type::ownedEndFeature"] = ("sysmlv2_type_owned_end_feature", 'H', ""), + ["Type::ownedFeature"] = ("sysmlv2_type_owned_feature", 'H', ""), + ["Type::ownedFeatureMembership"] = ("sysmlv2_type_owned_feature_membership", 'H', ""), + ["Type::ownedIntersecting"] = ("sysmlv2_type_owned_intersecting", 'H', ""), + ["Type::ownedSpecialization"] = ("sysmlv2_type_owned_specialization", 'H', ""), + ["Type::ownedUnioning"] = ("sysmlv2_type_owned_unioning", 'H', ""), + ["Type::unioningType"] = ("sysmlv2_type_unioning_type", 'H', ""), + ["Type::allRedefinedFeaturesOf()"] = ("sysmlv2_type_all_redefined_features_of", 'H', "Handle"), + ["Type::allSupertypes()"] = ("sysmlv2_type_all_supertypes", 'H', ""), + ["Type::directionOf()"] = ("sysmlv2_type_direction_of", 'S', "Handle"), + ["Type::directionOfExcluding()"] = ("sysmlv2_type_direction_of_excluding", 'S', "Handle;Handles"), + ["Type::inheritableMemberships()"] = ("sysmlv2_type_inheritable_memberships", 'H', "Handles;Handles;bool"), + ["Type::inheritedMemberships()"] = ("sysmlv2_type_inherited_memberships", 'H', "Handles;Handles;bool"), + ["Type::isCompatibleWith()"] = ("sysmlv2_type_is_compatible_with", 'B', "Handle"), + ["Type::multiplicities()"] = ("sysmlv2_type_multiplicities", 'H', ""), + ["Type::nonPrivateMemberships()"] = ("sysmlv2_type_non_private_memberships", 'H', "Handles;Handles;bool"), + ["Type::removeRedefinedFeatures()"] = ("sysmlv2_type_remove_redefined_features", 'H', "Handles"), + ["Type::specializes()"] = ("sysmlv2_type_specializes", 'B', "Handle"), + ["Type::specializesFromLibrary()"] = ("sysmlv2_type_specializes_from_library", 'B', "Str"), + ["Type::supertypes()"] = ("sysmlv2_type_supertypes", 'H', "bool"), + ["TypeFeaturing::featureOfType"] = ("sysmlv2_type_featuring_feature_of_type", 'R', ""), + ["TypeFeaturing::featuringType"] = ("sysmlv2_type_featuring_featuring_type", 'R', ""), + ["TypeFeaturing::owningFeatureOfType"] = ("sysmlv2_type_featuring_owning_feature_of_type", 'R', ""), + ["Unioning::typeUnioned"] = ("sysmlv2_unioning_type_unioned", 'R', ""), + ["Unioning::unioningType"] = ("sysmlv2_unioning_unioning_type", 'R', ""), + ["Usage::definition"] = ("sysmlv2_usage_definition", 'H', ""), + ["Usage::directedUsage"] = ("sysmlv2_usage_directed_usage", 'H', ""), + ["Usage::isReference"] = ("sysmlv2_usage_is_reference", 'B', ""), + ["Usage::isVariation"] = ("sysmlv2_usage_is_variation", 'B', ""), + ["Usage::mayTimeVary"] = ("sysmlv2_usage_may_time_vary", 'B', ""), + ["Usage::nestedAction"] = ("sysmlv2_usage_nested_action", 'H', ""), + ["Usage::nestedAllocation"] = ("sysmlv2_usage_nested_allocation", 'H', ""), + ["Usage::nestedAnalysisCase"] = ("sysmlv2_usage_nested_analysis_case", 'H', ""), + ["Usage::nestedAttribute"] = ("sysmlv2_usage_nested_attribute", 'H', ""), + ["Usage::nestedCalculation"] = ("sysmlv2_usage_nested_calculation", 'H', ""), + ["Usage::nestedCase"] = ("sysmlv2_usage_nested_case", 'H', ""), + ["Usage::nestedConcern"] = ("sysmlv2_usage_nested_concern", 'H', ""), + ["Usage::nestedConnection"] = ("sysmlv2_usage_nested_connection", 'H', ""), + ["Usage::nestedConstraint"] = ("sysmlv2_usage_nested_constraint", 'H', ""), + ["Usage::nestedEnumeration"] = ("sysmlv2_usage_nested_enumeration", 'H', ""), + ["Usage::nestedFlow"] = ("sysmlv2_usage_nested_flow", 'H', ""), + ["Usage::nestedInterface"] = ("sysmlv2_usage_nested_interface", 'H', ""), + ["Usage::nestedItem"] = ("sysmlv2_usage_nested_item", 'H', ""), + ["Usage::nestedMetadata"] = ("sysmlv2_usage_nested_metadata", 'H', ""), + ["Usage::nestedOccurrence"] = ("sysmlv2_usage_nested_occurrence", 'H', ""), + ["Usage::nestedPart"] = ("sysmlv2_usage_nested_part", 'H', ""), + ["Usage::nestedPort"] = ("sysmlv2_usage_nested_port", 'H', ""), + ["Usage::nestedReference"] = ("sysmlv2_usage_nested_reference", 'H', ""), + ["Usage::nestedRendering"] = ("sysmlv2_usage_nested_rendering", 'H', ""), + ["Usage::nestedRequirement"] = ("sysmlv2_usage_nested_requirement", 'H', ""), + ["Usage::nestedState"] = ("sysmlv2_usage_nested_state", 'H', ""), + ["Usage::nestedTransition"] = ("sysmlv2_usage_nested_transition", 'H', ""), + ["Usage::nestedUsage"] = ("sysmlv2_usage_nested_usage", 'H', ""), + ["Usage::nestedUseCase"] = ("sysmlv2_usage_nested_use_case", 'H', ""), + ["Usage::nestedVerificationCase"] = ("sysmlv2_usage_nested_verification_case", 'H', ""), + ["Usage::nestedView"] = ("sysmlv2_usage_nested_view", 'H', ""), + ["Usage::nestedViewpoint"] = ("sysmlv2_usage_nested_viewpoint", 'H', ""), + ["Usage::owningDefinition"] = ("sysmlv2_usage_owning_definition", 'R', ""), + ["Usage::owningUsage"] = ("sysmlv2_usage_owning_usage", 'R', ""), + ["Usage::usage"] = ("sysmlv2_usage_usage", 'H', ""), + ["Usage::variant"] = ("sysmlv2_usage_variant", 'H', ""), + ["Usage::variantMembership"] = ("sysmlv2_usage_variant_membership", 'H', ""), + ["Usage::referencedFeatureTarget()"] = ("sysmlv2_usage_referenced_feature_target", 'R', ""), + ["UseCaseDefinition::includedUseCase"] = ("sysmlv2_use_case_definition_included_use_case", 'H', ""), + ["UseCaseUsage::includedUseCase"] = ("sysmlv2_use_case_usage_included_use_case", 'H', ""), + ["UseCaseUsage::useCaseDefinition"] = ("sysmlv2_use_case_usage_use_case_definition", 'R', ""), + ["VariantMembership::ownedVariantUsage"] = ("sysmlv2_variant_membership_owned_variant_usage", 'R', ""), + ["VerificationCaseDefinition::verifiedRequirement"] = ("sysmlv2_verification_case_definition_verified_requirement", 'H', ""), + ["VerificationCaseUsage::verificationCaseDefinition"] = ("sysmlv2_verification_case_usage_verification_case_definition", 'R', ""), + ["VerificationCaseUsage::verifiedRequirement"] = ("sysmlv2_verification_case_usage_verified_requirement", 'H', ""), + ["ViewDefinition::satisfiedViewpoint"] = ("sysmlv2_view_definition_satisfied_viewpoint", 'H', ""), + ["ViewDefinition::view"] = ("sysmlv2_view_definition_view", 'H', ""), + ["ViewDefinition::viewCondition"] = ("sysmlv2_view_definition_view_condition", 'H', ""), + ["ViewDefinition::viewRendering"] = ("sysmlv2_view_definition_view_rendering", 'R', ""), + ["ViewRenderingMembership::ownedRendering"] = ("sysmlv2_view_rendering_membership_owned_rendering", 'R', ""), + ["ViewRenderingMembership::referencedRendering"] = ("sysmlv2_view_rendering_membership_referenced_rendering", 'R', ""), + ["ViewUsage::exposedElement"] = ("sysmlv2_view_usage_exposed_element", 'H', ""), + ["ViewUsage::satisfiedViewpoint"] = ("sysmlv2_view_usage_satisfied_viewpoint", 'H', ""), + ["ViewUsage::viewCondition"] = ("sysmlv2_view_usage_view_condition", 'H', ""), + ["ViewUsage::viewDefinition"] = ("sysmlv2_view_usage_view_definition", 'R', ""), + ["ViewUsage::viewRendering"] = ("sysmlv2_view_usage_view_rendering", 'R', ""), + ["ViewUsage::includeAsExposed()"] = ("sysmlv2_view_usage_include_as_exposed", 'B', "Handle"), + ["ViewpointDefinition::viewpointStakeholder"] = ("sysmlv2_viewpoint_definition_viewpoint_stakeholder", 'H', ""), + ["ViewpointUsage::viewpointDefinition"] = ("sysmlv2_viewpoint_usage_viewpoint_definition", 'R', ""), + ["ViewpointUsage::viewpointStakeholder"] = ("sysmlv2_viewpoint_usage_viewpoint_stakeholder", 'H', ""), + ["WhileLoopActionUsage::untilArgument"] = ("sysmlv2_while_loop_action_usage_until_argument", 'R', ""), + ["WhileLoopActionUsage::whileArgument"] = ("sysmlv2_while_loop_action_usage_while_argument", 'R', ""), + }; + public static readonly Dictionary Bases = new() + { + ["AcceptActionUsage"] = new[] { "ActionUsage" }, + ["ActionDefinition"] = new[] { "OccurrenceDefinition", "Behavior" }, + ["ActionUsage"] = new[] { "Step", "OccurrenceUsage" }, + ["ActorMembership"] = new[] { "ParameterMembership" }, + ["AllocationDefinition"] = new[] { "ConnectionDefinition" }, + ["AllocationUsage"] = new[] { "ConnectionUsage" }, + ["AnalysisCaseDefinition"] = new[] { "CaseDefinition" }, + ["AnalysisCaseUsage"] = new[] { "CaseUsage" }, + ["AnnotatingElement"] = new[] { "Element" }, + ["Annotation"] = new[] { "Relationship" }, + ["AssertConstraintUsage"] = new[] { "Invariant", "ConstraintUsage" }, + ["AssignmentActionUsage"] = new[] { "ActionUsage" }, + ["Association"] = new[] { "Classifier", "Relationship" }, + ["AssociationStructure"] = new[] { "Structure", "Association" }, + ["AttributeDefinition"] = new[] { "DataType", "Definition" }, + ["AttributeUsage"] = new[] { "Usage" }, + ["Behavior"] = new[] { "Class" }, + ["BindingConnector"] = new[] { "Connector" }, + ["BindingConnectorAsUsage"] = new[] { "BindingConnector", "ConnectorAsUsage" }, + ["BooleanExpression"] = new[] { "Expression" }, + ["CalculationDefinition"] = new[] { "ActionDefinition", "Function" }, + ["CalculationUsage"] = new[] { "Expression", "ActionUsage" }, + ["CaseDefinition"] = new[] { "CalculationDefinition" }, + ["CaseUsage"] = new[] { "CalculationUsage" }, + ["Class"] = new[] { "Classifier" }, + ["Classifier"] = new[] { "Type" }, + ["CollectExpression"] = new[] { "OperatorExpression" }, + ["Comment"] = new[] { "AnnotatingElement" }, + ["ConcernDefinition"] = new[] { "RequirementDefinition" }, + ["ConcernUsage"] = new[] { "RequirementUsage" }, + ["ConjugatedPortDefinition"] = new[] { "PortDefinition" }, + ["ConjugatedPortTyping"] = new[] { "FeatureTyping" }, + ["Conjugation"] = new[] { "Relationship" }, + ["ConnectionDefinition"] = new[] { "AssociationStructure", "PartDefinition" }, + ["ConnectionUsage"] = new[] { "PartUsage", "ConnectorAsUsage" }, + ["Connector"] = new[] { "Feature", "Relationship" }, + ["ConnectorAsUsage"] = new[] { "Usage", "Connector" }, + ["ConstraintDefinition"] = new[] { "OccurrenceDefinition", "Predicate" }, + ["ConstraintUsage"] = new[] { "OccurrenceUsage", "BooleanExpression" }, + ["ConstructorExpression"] = new[] { "InstantiationExpression" }, + ["ControlNode"] = new[] { "ActionUsage" }, + ["CrossSubsetting"] = new[] { "Subsetting" }, + ["DataType"] = new[] { "Classifier" }, + ["DecisionNode"] = new[] { "ControlNode" }, + ["Definition"] = new[] { "Classifier" }, + ["Dependency"] = new[] { "Relationship" }, + ["Differencing"] = new[] { "Relationship" }, + ["Disjoining"] = new[] { "Relationship" }, + ["Documentation"] = new[] { "Comment" }, + ["Element"] = System.Array.Empty(), + ["ElementFilterMembership"] = new[] { "OwningMembership" }, + ["EndFeatureMembership"] = new[] { "FeatureMembership" }, + ["EnumerationDefinition"] = new[] { "AttributeDefinition" }, + ["EnumerationUsage"] = new[] { "AttributeUsage" }, + ["EventOccurrenceUsage"] = new[] { "OccurrenceUsage" }, + ["ExhibitStateUsage"] = new[] { "PerformActionUsage", "StateUsage" }, + ["Expose"] = new[] { "Import" }, + ["Expression"] = new[] { "Step" }, + ["Feature"] = new[] { "Type" }, + ["FeatureChainExpression"] = new[] { "OperatorExpression" }, + ["FeatureChaining"] = new[] { "Relationship" }, + ["FeatureInverting"] = new[] { "Relationship" }, + ["FeatureMembership"] = new[] { "OwningMembership" }, + ["FeatureReferenceExpression"] = new[] { "Expression" }, + ["FeatureTyping"] = new[] { "Specialization" }, + ["FeatureValue"] = new[] { "OwningMembership" }, + ["Flow"] = new[] { "Connector", "Step" }, + ["FlowDefinition"] = new[] { "ActionDefinition", "Interaction" }, + ["FlowEnd"] = new[] { "Feature" }, + ["FlowUsage"] = new[] { "ConnectorAsUsage", "Flow", "ActionUsage" }, + ["ForLoopActionUsage"] = new[] { "LoopActionUsage" }, + ["ForkNode"] = new[] { "ControlNode" }, + ["FramedConcernMembership"] = new[] { "RequirementConstraintMembership" }, + ["Function"] = new[] { "Behavior" }, + ["IfActionUsage"] = new[] { "ActionUsage" }, + ["Import"] = new[] { "Relationship" }, + ["IncludeUseCaseUsage"] = new[] { "UseCaseUsage", "PerformActionUsage" }, + ["IndexExpression"] = new[] { "OperatorExpression" }, + ["InstantiationExpression"] = new[] { "Expression" }, + ["Interaction"] = new[] { "Association", "Behavior" }, + ["InterfaceDefinition"] = new[] { "ConnectionDefinition" }, + ["InterfaceUsage"] = new[] { "ConnectionUsage" }, + ["Intersecting"] = new[] { "Relationship" }, + ["Invariant"] = new[] { "BooleanExpression" }, + ["InvocationExpression"] = new[] { "InstantiationExpression" }, + ["ItemDefinition"] = new[] { "Structure", "OccurrenceDefinition" }, + ["ItemUsage"] = new[] { "OccurrenceUsage" }, + ["JoinNode"] = new[] { "ControlNode" }, + ["LibraryPackage"] = new[] { "Package" }, + ["LiteralBoolean"] = new[] { "LiteralExpression" }, + ["LiteralExpression"] = new[] { "Expression" }, + ["LiteralInfinity"] = new[] { "LiteralExpression" }, + ["LiteralInteger"] = new[] { "LiteralExpression" }, + ["LiteralRational"] = new[] { "LiteralExpression" }, + ["LiteralString"] = new[] { "LiteralExpression" }, + ["LoopActionUsage"] = new[] { "ActionUsage" }, + ["Membership"] = new[] { "Relationship" }, + ["MembershipExpose"] = new[] { "MembershipImport", "Expose" }, + ["MembershipImport"] = new[] { "Import" }, + ["MergeNode"] = new[] { "ControlNode" }, + ["Metaclass"] = new[] { "Structure" }, + ["MetadataAccessExpression"] = new[] { "Expression" }, + ["MetadataDefinition"] = new[] { "ItemDefinition", "Metaclass" }, + ["MetadataFeature"] = new[] { "AnnotatingElement", "Feature" }, + ["MetadataUsage"] = new[] { "MetadataFeature", "ItemUsage" }, + ["Multiplicity"] = new[] { "Feature" }, + ["MultiplicityRange"] = new[] { "Multiplicity" }, + ["Namespace"] = new[] { "Element" }, + ["NamespaceExpose"] = new[] { "Expose", "NamespaceImport" }, + ["NamespaceImport"] = new[] { "Import" }, + ["NullExpression"] = new[] { "Expression" }, + ["ObjectiveMembership"] = new[] { "FeatureMembership" }, + ["OccurrenceDefinition"] = new[] { "Definition", "Class" }, + ["OccurrenceUsage"] = new[] { "Usage" }, + ["OperatorExpression"] = new[] { "InvocationExpression" }, + ["OwningMembership"] = new[] { "Membership" }, + ["Package"] = new[] { "Namespace" }, + ["ParameterMembership"] = new[] { "FeatureMembership" }, + ["PartDefinition"] = new[] { "ItemDefinition" }, + ["PartUsage"] = new[] { "ItemUsage" }, + ["PayloadFeature"] = new[] { "Feature" }, + ["PerformActionUsage"] = new[] { "EventOccurrenceUsage", "ActionUsage" }, + ["PortConjugation"] = new[] { "Conjugation" }, + ["PortDefinition"] = new[] { "Structure", "OccurrenceDefinition" }, + ["PortUsage"] = new[] { "OccurrenceUsage" }, + ["Predicate"] = new[] { "Function" }, + ["Redefinition"] = new[] { "Subsetting" }, + ["ReferenceSubsetting"] = new[] { "Subsetting" }, + ["ReferenceUsage"] = new[] { "Usage" }, + ["Relationship"] = new[] { "Element" }, + ["RenderingDefinition"] = new[] { "PartDefinition" }, + ["RenderingUsage"] = new[] { "PartUsage" }, + ["RequirementConstraintMembership"] = new[] { "FeatureMembership" }, + ["RequirementDefinition"] = new[] { "ConstraintDefinition" }, + ["RequirementUsage"] = new[] { "ConstraintUsage" }, + ["RequirementVerificationMembership"] = new[] { "RequirementConstraintMembership" }, + ["ResultExpressionMembership"] = new[] { "FeatureMembership" }, + ["ReturnParameterMembership"] = new[] { "ParameterMembership" }, + ["SatisfyRequirementUsage"] = new[] { "RequirementUsage", "AssertConstraintUsage" }, + ["SelectExpression"] = new[] { "OperatorExpression" }, + ["SendActionUsage"] = new[] { "ActionUsage" }, + ["Specialization"] = new[] { "Relationship" }, + ["StakeholderMembership"] = new[] { "ParameterMembership" }, + ["StateDefinition"] = new[] { "ActionDefinition" }, + ["StateSubactionMembership"] = new[] { "FeatureMembership" }, + ["StateUsage"] = new[] { "ActionUsage" }, + ["Step"] = new[] { "Feature" }, + ["Structure"] = new[] { "Class" }, + ["Subclassification"] = new[] { "Specialization" }, + ["SubjectMembership"] = new[] { "ParameterMembership" }, + ["Subsetting"] = new[] { "Specialization" }, + ["Succession"] = new[] { "Connector" }, + ["SuccessionAsUsage"] = new[] { "ConnectorAsUsage", "Succession" }, + ["SuccessionFlow"] = new[] { "Succession", "Flow" }, + ["SuccessionFlowUsage"] = new[] { "SuccessionFlow", "FlowUsage" }, + ["TerminateActionUsage"] = new[] { "ActionUsage" }, + ["TextualRepresentation"] = new[] { "AnnotatingElement" }, + ["TransitionFeatureMembership"] = new[] { "FeatureMembership" }, + ["TransitionUsage"] = new[] { "ActionUsage" }, + ["TriggerInvocationExpression"] = new[] { "InvocationExpression" }, + ["Type"] = new[] { "Namespace" }, + ["TypeFeaturing"] = new[] { "Relationship" }, + ["Unioning"] = new[] { "Relationship" }, + ["Usage"] = new[] { "Feature" }, + ["UseCaseDefinition"] = new[] { "CaseDefinition" }, + ["UseCaseUsage"] = new[] { "CaseUsage" }, + ["VariantMembership"] = new[] { "OwningMembership" }, + ["VerificationCaseDefinition"] = new[] { "CaseDefinition" }, + ["VerificationCaseUsage"] = new[] { "CaseUsage" }, + ["ViewDefinition"] = new[] { "PartDefinition" }, + ["ViewRenderingMembership"] = new[] { "FeatureMembership" }, + ["ViewUsage"] = new[] { "PartUsage" }, + ["ViewpointDefinition"] = new[] { "RequirementDefinition" }, + ["ViewpointUsage"] = new[] { "RequirementUsage" }, + ["WhileLoopActionUsage"] = new[] { "LoopActionUsage" }, + }; +} diff --git a/data/bigger.full.json b/data/bigger.full.json new file mode 100644 index 0000000..e383866 --- /dev/null +++ b/data/bigger.full.json @@ -0,0 +1,5981 @@ +[ + { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0", + "@type": "Namespace", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "285a9918-092d-5a42-a72b-91ee2bd95de0", + "importedMembership": [], + "isImpliedIncluded": false, + "isLibraryElement": null, + "member": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "membership": [ + { + "@id": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c" + } + ], + "name": null, + "ownedAnnotation": [], + "ownedElement": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "ownedImport": [], + "ownedMember": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "ownedMembership": [ + { + "@id": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c" + } + ], + "ownedRelationship": [ + { + "@id": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c" + } + ], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelationship": null, + "qualifiedName": null, + "shortName": null, + "textualRepresentation": [] + }, + { + "@id": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "memberElementId": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd", + "memberName": "Demo", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "ownedMemberElementId": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd", + "ownedMemberName": "Demo", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0" + }, + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "shortName": null, + "source": [ + { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0" + } + ], + "target": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd", + "@type": "Package", + "aliasIds": [], + "declaredName": "Demo", + "declaredShortName": null, + "documentation": [], + "elementId": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd", + "filterCondition": [], + "importedMembership": [], + "isImpliedIncluded": false, + "isLibraryElement": null, + "member": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "membership": [ + { + "@id": "096458d9-a7bd-58ed-b9d1-7f307928a556" + }, + { + "@id": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5" + }, + { + "@id": "6c7132c6-1869-51a7-bef2-17ba0aa84e41" + } + ], + "name": "Demo", + "ownedAnnotation": [], + "ownedElement": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "ownedImport": [], + "ownedMember": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "ownedMembership": [ + { + "@id": "096458d9-a7bd-58ed-b9d1-7f307928a556" + }, + { + "@id": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5" + }, + { + "@id": "6c7132c6-1869-51a7-bef2-17ba0aa84e41" + } + ], + "ownedRelationship": [ + { + "@id": "096458d9-a7bd-58ed-b9d1-7f307928a556" + }, + { + "@id": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5" + }, + { + "@id": "6c7132c6-1869-51a7-bef2-17ba0aa84e41" + } + ], + "owner": { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0" + }, + "owningMembership": { + "@id": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c" + }, + "owningNamespace": { + "@id": "285a9918-092d-5a42-a72b-91ee2bd95de0" + }, + "owningRelationship": { + "@id": "ed5cfe08-9915-5edf-b1fe-7681c2f83c1c" + }, + "qualifiedName": "Demo", + "shortName": null, + "textualRepresentation": [] + }, + { + "@id": "096458d9-a7bd-58ed-b9d1-7f307928a556", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "096458d9-a7bd-58ed-b9d1-7f307928a556", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "memberElementId": "059144fc-05f1-5ebf-8bfb-e61df17a5344", + "memberName": "Base", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "ownedMemberElementId": "059144fc-05f1-5ebf-8bfb-e61df17a5344", + "ownedMemberName": "Base", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + } + ], + "shortName": null, + "source": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "target": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344", + "@type": "PartDefinition", + "aliasIds": [], + "declaredName": "Base", + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "documentation": [], + "elementId": "059144fc-05f1-5ebf-8bfb-e61df17a5344", + "endFeature": [], + "feature": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "featureMembership": [ + { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + } + ], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isConjugated": null, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isSufficient": false, + "isVariation": false, + "member": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "membership": [ + { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + } + ], + "multiplicity": null, + "name": "Base", + "output": [], + "ownedAction": [], + "ownedAllocation": [], + "ownedAnalysisCase": [], + "ownedAnnotation": [], + "ownedAttribute": [], + "ownedCalculation": [], + "ownedCase": [], + "ownedConcern": [], + "ownedConjugator": null, + "ownedConnection": [], + "ownedConstraint": [], + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "ownedEndFeature": [], + "ownedEnumeration": [], + "ownedFeature": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "ownedFeatureMembership": [ + { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + } + ], + "ownedFlow": [], + "ownedImport": [], + "ownedInterface": [], + "ownedIntersecting": [], + "ownedItem": [], + "ownedMember": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "ownedMembership": [ + { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + } + ], + "ownedMetadata": [], + "ownedOccurrence": [], + "ownedPart": [], + "ownedPort": [], + "ownedReference": [], + "ownedRelationship": [ + { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + } + ], + "ownedRendering": [], + "ownedRequirement": [], + "ownedSpecialization": [], + "ownedState": [], + "ownedSubclassification": [], + "ownedTransition": [], + "ownedUnioning": [], + "ownedUsage": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "ownedUseCase": [], + "ownedVerificationCase": [], + "ownedView": [], + "ownedViewpoint": [], + "owner": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningMembership": { + "@id": "096458d9-a7bd-58ed-b9d1-7f307928a556" + }, + "owningNamespace": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningRelationship": { + "@id": "096458d9-a7bd-58ed-b9d1-7f307928a556" + }, + "qualifiedName": "Demo::Base", + "shortName": null, + "textualRepresentation": [], + "unioningType": [], + "usage": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "variant": [], + "variantMembership": [] + }, + { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + }, + "memberElementId": "e5e61b9e-98ea-51db-8790-5985464366aa", + "memberName": "mass", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + }, + "ownedMemberElementId": "e5e61b9e-98ea-51db-8790-5985464366aa", + "ownedMemberFeature": { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + }, + "ownedMemberName": "mass", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "owningRelationship": null, + "owningType": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "shortName": null, + "source": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + } + ], + "target": [ + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa", + "@type": "AttributeUsage", + "aliasIds": [], + "attributeDefinition": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "mass", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "e5e61b9e-98ea-51db-8790-5985464366aa", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "e5e61b9e-98ea-51db-8790-5985464366aa" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "mass", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + }, + "owningNamespace": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "owningRelationship": { + "@id": "2e318e4b-32c4-5a5a-a57b-d1bde5c34137" + }, + "owningType": null, + "owningUsage": null, + "qualifiedName": "Demo::Base::mass", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "memberElementId": "ad6f1824-1aac-5411-9735-6059195938de", + "memberName": "Vehicle", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "ownedMemberElementId": "ad6f1824-1aac-5411-9735-6059195938de", + "ownedMemberName": "Vehicle", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "shortName": null, + "source": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "target": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de", + "@type": "PartDefinition", + "aliasIds": [], + "declaredName": "Vehicle", + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "documentation": [], + "elementId": "ad6f1824-1aac-5411-9735-6059195938de", + "endFeature": [], + "feature": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "featureMembership": [ + { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + } + ], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isConjugated": null, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isSufficient": false, + "isVariation": false, + "member": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "membership": [ + { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + }, + { + "@id": "5adae87a-b9b5-5fe6-9af7-b053274a8c24" + } + ], + "multiplicity": null, + "name": "Vehicle", + "output": [], + "ownedAction": [], + "ownedAllocation": [], + "ownedAnalysisCase": [], + "ownedAnnotation": [], + "ownedAttribute": [], + "ownedCalculation": [], + "ownedCase": [], + "ownedConcern": [], + "ownedConjugator": null, + "ownedConnection": [], + "ownedConstraint": [], + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "ownedEndFeature": [], + "ownedEnumeration": [], + "ownedFeature": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "ownedFeatureMembership": [ + { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + } + ], + "ownedFlow": [], + "ownedImport": [], + "ownedInterface": [], + "ownedIntersecting": [], + "ownedItem": [], + "ownedMember": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "ownedMembership": [ + { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + }, + { + "@id": "5adae87a-b9b5-5fe6-9af7-b053274a8c24" + } + ], + "ownedMetadata": [], + "ownedOccurrence": [], + "ownedPart": [], + "ownedPort": [], + "ownedReference": [], + "ownedRelationship": [ + { + "@id": "d44a140f-8dbb-5c21-851c-5f2bdf5d590d" + }, + { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + }, + { + "@id": "5adae87a-b9b5-5fe6-9af7-b053274a8c24" + } + ], + "ownedRendering": [], + "ownedRequirement": [], + "ownedSpecialization": [ + { + "@id": "d44a140f-8dbb-5c21-851c-5f2bdf5d590d" + } + ], + "ownedState": [], + "ownedSubclassification": [ + { + "@id": "d44a140f-8dbb-5c21-851c-5f2bdf5d590d" + } + ], + "ownedTransition": [], + "ownedUnioning": [], + "ownedUsage": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "ownedUseCase": [], + "ownedVerificationCase": [], + "ownedView": [], + "ownedViewpoint": [], + "owner": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningMembership": { + "@id": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5" + }, + "owningNamespace": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningRelationship": { + "@id": "5f787fd2-287f-5f88-aca4-8ffbe85cd6d5" + }, + "qualifiedName": "Demo::Vehicle", + "shortName": null, + "textualRepresentation": [], + "unioningType": [], + "usage": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "variant": [], + "variantMembership": [] + }, + { + "@id": "d44a140f-8dbb-5c21-851c-5f2bdf5d590d", + "@type": "Subclassification", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "d44a140f-8dbb-5c21-851c-5f2bdf5d590d", + "general": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedRelatedElement": [], + "ownedRelationship": [], + "owner": null, + "owningClassifier": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "specific": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "subclassifier": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "superclassifier": { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + }, + "target": [ + { + "@id": "059144fc-05f1-5ebf-8bfb-e61df17a5344" + } + ], + "textualRepresentation": [] + }, + { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + "memberElementId": "97792196-6134-52ec-a21b-b518697e0ae9", + "memberName": "mass2", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + "ownedMemberElementId": "97792196-6134-52ec-a21b-b518697e0ae9", + "ownedMemberFeature": { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + "ownedMemberName": "mass2", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9", + "@type": "AttributeUsage", + "aliasIds": [], + "attributeDefinition": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "mass2", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "97792196-6134-52ec-a21b-b518697e0ae9", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "mass2", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "b1f6db7c-3a25-5710-80c3-e5b6c41318ef" + }, + "owningType": null, + "owningUsage": null, + "qualifiedName": "Demo::Vehicle::mass2", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "memberElementId": "f0a07c31-c7fc-5354-8690-4087a409059a", + "memberName": "wheel", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "ownedMemberElementId": "f0a07c31-c7fc-5354-8690-4087a409059a", + "ownedMemberFeature": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "ownedMemberName": "wheel", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a", + "@type": "PartUsage", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "wheel", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "f0a07c31-c7fc-5354-8690-4087a409059a", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "featuringType": [], + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": true, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": false, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "itemDefinition": [], + "mayTimeVary": null, + "member": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "membership": [ + { + "@id": "94596295-c669-57ae-9bdb-80543d457de2" + } + ], + "multiplicity": null, + "name": "wheel", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "ownedMembership": [ + { + "@id": "94596295-c669-57ae-9bdb-80543d457de2" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "94596295-c669-57ae-9bdb-80543d457de2" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "d4715362-5372-5d2c-9cd1-b1a1e4def3f3" + }, + "owningType": null, + "owningUsage": null, + "partDefinition": [], + "portionKind": null, + "qualifiedName": "Demo::Vehicle::wheel", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "94596295-c669-57ae-9bdb-80543d457de2", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "94596295-c669-57ae-9bdb-80543d457de2", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "memberElementId": "4bb1d6dc-7671-53d3-815d-da907bb6445c", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "ownedMemberElementId": "4bb1d6dc-7671-53d3-815d-da907bb6445c", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "shortName": null, + "source": [ + { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + } + ], + "target": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c", + "@type": "MultiplicityRange", + "aliasIds": [], + "bound": [ + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": null, + "documentation": [], + "elementId": "4bb1d6dc-7671-53d3-815d-da907bb6445c", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "lowerBound": null, + "member": [ + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "membership": [ + { + "@id": "854c254a-ad1c-5d31-88bc-405ea5405212" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "ownedMembership": [ + { + "@id": "854c254a-ad1c-5d31-88bc-405ea5405212" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "854c254a-ad1c-5d31-88bc-405ea5405212" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "94596295-c669-57ae-9bdb-80543d457de2" + }, + "owningNamespace": { + "@id": "f0a07c31-c7fc-5354-8690-4087a409059a" + }, + "owningRelationship": { + "@id": "94596295-c669-57ae-9bdb-80543d457de2" + }, + "owningType": null, + "qualifiedName": null, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "upperBound": { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + }, + { + "@id": "854c254a-ad1c-5d31-88bc-405ea5405212", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "854c254a-ad1c-5d31-88bc-405ea5405212", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + }, + "memberElementId": "62b51846-59f5-5351-8dac-529d799485bf", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + }, + "ownedMemberElementId": "62b51846-59f5-5351-8dac-529d799485bf", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "shortName": null, + "source": [ + { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + } + ], + "target": [ + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + } + ], + "textualRepresentation": [], + "visibility": null + }, + { + "@id": "62b51846-59f5-5351-8dac-529d799485bf", + "@type": "LiteralInteger", + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": null, + "documentation": [], + "elementId": "62b51846-59f5-5351-8dac-529d799485bf", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "854c254a-ad1c-5d31-88bc-405ea5405212" + }, + "owningNamespace": { + "@id": "4bb1d6dc-7671-53d3-815d-da907bb6445c" + }, + "owningRelationship": { + "@id": "854c254a-ad1c-5d31-88bc-405ea5405212" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "result": { + "@id": "62b51846-59f5-5351-8dac-529d799485bf" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "value": 4 + }, + { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "03b44cfd-826e-5bbe-ab94-41c547cb6e85", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + "memberElementId": "c9a6db9c-29da-5127-b186-e81f1e68924d", + "memberName": "p", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + "ownedMemberElementId": "c9a6db9c-29da-5127-b186-e81f1e68924d", + "ownedMemberFeature": { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + "ownedMemberName": "p", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d", + "@type": "PortUsage", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "p", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "c9a6db9c-29da-5127-b186-e81f1e68924d", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "c9a6db9c-29da-5127-b186-e81f1e68924d" + }, + "featuringType": [], + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "p", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "03b44cfd-826e-5bbe-ab94-41c547cb6e85" + }, + "owningType": null, + "owningUsage": null, + "portDefinition": [], + "portionKind": null, + "qualifiedName": "Demo::Vehicle::p", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "291dc6c2-0ff7-5c3d-a382-24421fe7f366", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + "memberElementId": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca", + "memberName": "cargo", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + "ownedMemberElementId": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca", + "ownedMemberFeature": { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + "ownedMemberName": "cargo", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca", + "@type": "ItemUsage", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "cargo", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "8ddc80e4-36e2-5e09-897d-e33dd9d055ca" + }, + "featuringType": [], + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "itemDefinition": [], + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "cargo", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "291dc6c2-0ff7-5c3d-a382-24421fe7f366" + }, + "owningType": null, + "owningUsage": null, + "portionKind": null, + "qualifiedName": "Demo::Vehicle::cargo", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "a1fd3155-f550-520d-922d-7364576a7c19", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + "memberElementId": "c7f610e0-e0bb-5542-b121-88b40c159129", + "memberName": "a", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + "ownedMemberElementId": "c7f610e0-e0bb-5542-b121-88b40c159129", + "ownedMemberFeature": { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + "ownedMemberName": "a", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129", + "@type": "ActionUsage", + "actionDefinition": [], + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "a", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "c7f610e0-e0bb-5542-b121-88b40c159129", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "c7f610e0-e0bb-5542-b121-88b40c159129" + }, + "featuringType": [], + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": true, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": false, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "a", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "a1fd3155-f550-520d-922d-7364576a7c19" + }, + "owningType": null, + "owningUsage": null, + "parameter": [], + "portionKind": null, + "qualifiedName": "Demo::Vehicle::a", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "memberElementId": "404a82ff-0899-5719-bb15-8c04912dbc0b", + "memberName": "c", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "ownedMemberElementId": "404a82ff-0899-5719-bb15-8c04912dbc0b", + "ownedMemberFeature": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "ownedMemberName": "c", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b", + "@type": "ConstraintUsage", + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "constraintDefinition": null, + "crossFeature": null, + "declaredName": "c", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "404a82ff-0899-5719-bb15-8c04912dbc0b", + "endFeature": [], + "endOwningType": null, + "feature": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "featureMembership": [ + { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + } + ], + "featureTarget": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": true, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": false, + "isPortion": null, + "isReference": false, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "membership": [ + { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + } + ], + "multiplicity": null, + "name": "c", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "ownedEndFeature": [], + "ownedFeature": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [ + { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + } + ], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "ownedMembership": [ + { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "dacb44f6-dce6-57a9-bd32-fe4fb7876f36" + }, + "owningType": null, + "owningUsage": null, + "parameter": [], + "portionKind": null, + "predicate": null, + "qualifiedName": "Demo::Vehicle::c", + "result": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "45764250-7503-5815-abfa-dc553954a6a7", + "@type": "ResultExpressionMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "45764250-7503-5815-abfa-dc553954a6a7", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "memberElementId": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "ownedMemberElementId": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d", + "ownedMemberFeature": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "ownedRelationship": [], + "ownedResultExpression": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "owningRelationship": null, + "owningType": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "shortName": null, + "source": [ + { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + } + ], + "target": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d", + "@type": "OperatorExpression", + "aliasIds": [], + "argument": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "direction": null, + "documentation": [], + "elementId": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d", + "endFeature": [], + "endOwningType": null, + "feature": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "featureMembership": [ + { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + } + ], + "featureTarget": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "instantiatedType": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "membership": [ + { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + } + ], + "multiplicity": null, + "name": null, + "operator": ">", + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "ownedEndFeature": [], + "ownedFeature": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [ + { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + } + ], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "ownedMembership": [ + { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + }, + "owningNamespace": { + "@id": "404a82ff-0899-5719-bb15-8c04912dbc0b" + }, + "owningRelationship": { + "@id": "45764250-7503-5815-abfa-dc553954a6a7" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "result": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7", + "@type": "ParameterMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "b304e8b5-8b4b-5df3-89b9-12e4356497c7", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "memberElementId": "ba278114-75c8-511d-930c-1fbf03b380f7", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "ownedMemberElementId": "ba278114-75c8-511d-930c-1fbf03b380f7", + "ownedMemberFeature": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "ownedMemberName": null, + "ownedMemberParameter": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owningRelationship": null, + "owningType": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + } + ], + "shortName": null, + "source": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "target": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + } + ], + "textualRepresentation": [], + "visibility": "private" + }, + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7", + "@type": "Feature", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": "in", + "documentation": [], + "elementId": "ba278114-75c8-511d-930c-1fbf03b380f7", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "membership": [ + { + "@id": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "ownedMembership": [ + { + "@id": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + "owningNamespace": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owningRelationship": { + "@id": "b304e8b5-8b4b-5df3-89b9-12e4356497c7" + }, + "owningType": null, + "qualifiedName": null, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a", + "@type": "FeatureValue", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a", + "featureWithValue": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "isDefault": null, + "isImplied": false, + "isImpliedIncluded": false, + "isInitial": null, + "isLibraryElement": null, + "memberElement": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "memberElementId": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "ownedMemberElementId": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "shortName": null, + "source": [ + { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + } + ], + "target": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "textualRepresentation": [], + "value": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "visibility": null + }, + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95", + "@type": "FeatureReferenceExpression", + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": null, + "documentation": [], + "elementId": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [], + "membership": [ + { + "@id": "94ed74ea-624f-5487-8428-0bf2bc0ae73e" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [ + { + "@id": "94ed74ea-624f-5487-8428-0bf2bc0ae73e" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "94ed74ea-624f-5487-8428-0bf2bc0ae73e" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a" + }, + "owningNamespace": { + "@id": "ba278114-75c8-511d-930c-1fbf03b380f7" + }, + "owningRelationship": { + "@id": "fc840ceb-1ac6-5f74-bd0a-c76d5c1b402a" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "referent": { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + "result": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "94ed74ea-624f-5487-8428-0bf2bc0ae73e", + "@type": "Membership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "94ed74ea-624f-5487-8428-0bf2bc0ae73e", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + }, + "memberElementId": "97792196-6134-52ec-a21b-b518697e0ae9", + "memberName": "mass2", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedRelatedElement": [], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + }, + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + } + ], + "shortName": null, + "source": [ + { + "@id": "2fd0b7b3-d1b6-57bd-ab70-9dbccc816c95" + } + ], + "target": [ + { + "@id": "97792196-6134-52ec-a21b-b518697e0ae9" + } + ], + "textualRepresentation": [], + "visibility": null + }, + { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3", + "@type": "ParameterMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "memberElementId": "f466beff-5e1e-58d4-9f60-aa8e5395989f", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "ownedMemberElementId": "f466beff-5e1e-58d4-9f60-aa8e5395989f", + "ownedMemberFeature": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "ownedMemberName": null, + "ownedMemberParameter": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owningRelationship": null, + "owningType": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "shortName": null, + "source": [ + { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + } + ], + "target": [ + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "textualRepresentation": [], + "visibility": "private" + }, + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f", + "@type": "Feature", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": "in", + "documentation": [], + "elementId": "f466beff-5e1e-58d4-9f60-aa8e5395989f", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [ + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + } + ], + "membership": [ + { + "@id": "11d8c607-cfae-537d-858a-4e3b3c1e58e1" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + } + ], + "ownedMembership": [ + { + "@id": "11d8c607-cfae-537d-858a-4e3b3c1e58e1" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "11d8c607-cfae-537d-858a-4e3b3c1e58e1" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + }, + "owningNamespace": { + "@id": "4f9afd4a-5f0a-5b53-aea9-11bf1f41765d" + }, + "owningRelationship": { + "@id": "f2400c4e-84c2-5fb1-a9fd-57e5a2755df3" + }, + "owningType": null, + "qualifiedName": null, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "11d8c607-cfae-537d-858a-4e3b3c1e58e1", + "@type": "FeatureValue", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "11d8c607-cfae-537d-858a-4e3b3c1e58e1", + "featureWithValue": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "isDefault": null, + "isImplied": false, + "isImpliedIncluded": false, + "isInitial": null, + "isLibraryElement": null, + "memberElement": { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + }, + "memberElementId": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + }, + "ownedMemberElementId": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + } + ], + "shortName": null, + "source": [ + { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + } + ], + "target": [ + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + } + ], + "textualRepresentation": [], + "value": { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + }, + "visibility": null + }, + { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b", + "@type": "LiteralInteger", + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": null, + "documentation": [], + "elementId": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "11d8c607-cfae-537d-858a-4e3b3c1e58e1" + }, + "owningNamespace": { + "@id": "f466beff-5e1e-58d4-9f60-aa8e5395989f" + }, + "owningRelationship": { + "@id": "11d8c607-cfae-537d-858a-4e3b3c1e58e1" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "result": { + "@id": "6fb2ae58-ee0d-5d2a-aae0-1160e3b7ff8b" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "value": 0 + }, + { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "eca34046-824d-57c3-a8a0-2db822304a82", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + "memberElementId": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0", + "memberName": "s", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + "ownedMemberElementId": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0", + "ownedMemberFeature": { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + "ownedMemberName": "s", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "owningType": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0", + "@type": "StateUsage", + "actionDefinition": [], + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "s", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "doAction": null, + "documentation": [], + "elementId": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0", + "endFeature": [], + "endOwningType": null, + "entryAction": null, + "exitAction": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "ad7ab666-b6f4-5e4a-844e-b24f68bcdcd0" + }, + "featuringType": [], + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": true, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isOrdered": false, + "isParallel": false, + "isPortion": null, + "isReference": false, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "s", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "eca34046-824d-57c3-a8a0-2db822304a82" + }, + "owningType": null, + "owningUsage": null, + "parameter": [], + "portionKind": null, + "qualifiedName": "Demo::Vehicle::s", + "shortName": null, + "stateDefinition": [], + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "5adae87a-b9b5-5fe6-9af7-b053274a8c24", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "5adae87a-b9b5-5fe6-9af7-b053274a8c24", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "memberElementId": "2912f365-4259-5157-b2b7-d52d94aa3274", + "memberName": "K", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "ownedMemberElementId": "2912f365-4259-5157-b2b7-d52d94aa3274", + "ownedMemberName": "K", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "shortName": null, + "source": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "target": [ + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274", + "@type": "CalculationDefinition", + "action": [], + "aliasIds": [], + "calculation": [], + "declaredName": "K", + "declaredShortName": null, + "differencingType": [], + "directedFeature": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "directedUsage": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "documentation": [], + "elementId": "2912f365-4259-5157-b2b7-d52d94aa3274", + "endFeature": [], + "expression": [], + "feature": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "featureMembership": [ + { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + } + ], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + } + ], + "intersectingType": [], + "isAbstract": false, + "isConjugated": null, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isSufficient": false, + "isVariation": false, + "member": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "membership": [ + { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + } + ], + "multiplicity": null, + "name": "K", + "output": [ + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "ownedAction": [], + "ownedAllocation": [], + "ownedAnalysisCase": [], + "ownedAnnotation": [], + "ownedAttribute": [], + "ownedCalculation": [], + "ownedCase": [], + "ownedConcern": [], + "ownedConjugator": null, + "ownedConnection": [], + "ownedConstraint": [], + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "ownedEndFeature": [], + "ownedEnumeration": [], + "ownedFeature": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "ownedFeatureMembership": [ + { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + } + ], + "ownedFlow": [], + "ownedImport": [], + "ownedInterface": [], + "ownedIntersecting": [], + "ownedItem": [], + "ownedMember": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "ownedMembership": [ + { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + } + ], + "ownedMetadata": [], + "ownedOccurrence": [], + "ownedPart": [], + "ownedPort": [], + "ownedReference": [], + "ownedRelationship": [ + { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + } + ], + "ownedRendering": [], + "ownedRequirement": [], + "ownedSpecialization": [], + "ownedState": [], + "ownedSubclassification": [], + "ownedTransition": [], + "ownedUnioning": [], + "ownedUsage": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "ownedUseCase": [], + "ownedVerificationCase": [], + "ownedView": [], + "ownedViewpoint": [], + "owner": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningMembership": { + "@id": "5adae87a-b9b5-5fe6-9af7-b053274a8c24" + }, + "owningNamespace": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "owningRelationship": { + "@id": "5adae87a-b9b5-5fe6-9af7-b053274a8c24" + }, + "parameter": [], + "qualifiedName": "Demo::Vehicle::K", + "result": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "shortName": null, + "step": [], + "textualRepresentation": [], + "unioningType": [], + "usage": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "variant": [], + "variantMembership": [] + }, + { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c", + "@type": "FeatureMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "a355397c-11f9-5058-a508-82c04de10f2c", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + "memberElementId": "4d296856-56cf-54fe-af9d-f911a1632d55", + "memberName": "x", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + "ownedMemberElementId": "4d296856-56cf-54fe-af9d-f911a1632d55", + "ownedMemberFeature": { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + "ownedMemberName": "x", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "owningRelationship": null, + "owningType": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + } + ], + "shortName": null, + "source": [ + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "target": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55", + "@type": "ReferenceUsage", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "x", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": "in", + "documentation": [], + "elementId": "4d296856-56cf-54fe-af9d-f911a1632d55", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "x", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + "owningNamespace": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "owningRelationship": { + "@id": "a355397c-11f9-5058-a508-82c04de10f2c" + }, + "owningType": null, + "owningUsage": null, + "qualifiedName": "Demo::Vehicle::K::x", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd", + "@type": "ReturnParameterMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "71413f5f-b749-5c39-b364-d36fef32d3cd", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "memberElementId": "90d04899-eacb-53cc-b8f3-cc954c5715f2", + "memberName": "y", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "ownedMemberElementId": "90d04899-eacb-53cc-b8f3-cc954c5715f2", + "ownedMemberFeature": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "ownedMemberName": "y", + "ownedMemberParameter": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "owningRelationship": null, + "owningType": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "shortName": null, + "source": [ + { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + } + ], + "target": [ + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2", + "@type": "ReferenceUsage", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "y", + "declaredShortName": null, + "definition": [], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": "out", + "documentation": [], + "elementId": "90d04899-eacb-53cc-b8f3-cc954c5715f2", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "mayTimeVary": null, + "member": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "membership": [ + { + "@id": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb" + } + ], + "multiplicity": null, + "name": "y", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "ownedMembership": [ + { + "@id": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + }, + "owningNamespace": { + "@id": "2912f365-4259-5157-b2b7-d52d94aa3274" + }, + "owningRelationship": { + "@id": "71413f5f-b749-5c39-b364-d36fef32d3cd" + }, + "owningType": null, + "owningUsage": null, + "qualifiedName": "Demo::Vehicle::K::y", + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb", + "@type": "FeatureValue", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb", + "featureWithValue": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "isDefault": false, + "isImplied": false, + "isImpliedIncluded": false, + "isInitial": false, + "isLibraryElement": null, + "memberElement": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "memberElementId": "069d6128-4cea-50ad-871e-0be8f61eab28", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "ownedMemberElementId": "069d6128-4cea-50ad-871e-0be8f61eab28", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "shortName": null, + "source": [ + { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + } + ], + "target": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "textualRepresentation": [], + "value": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "visibility": null + }, + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28", + "@type": "OperatorExpression", + "aliasIds": [], + "argument": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "direction": null, + "documentation": [], + "elementId": "069d6128-4cea-50ad-871e-0be8f61eab28", + "endFeature": [], + "endOwningType": null, + "feature": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "featureMembership": [ + { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + } + ], + "featureTarget": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "instantiatedType": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "membership": [ + { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + } + ], + "multiplicity": null, + "name": null, + "operator": "+", + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "ownedEndFeature": [], + "ownedFeature": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [ + { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + } + ], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "ownedMembership": [ + { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb" + }, + "owningNamespace": { + "@id": "90d04899-eacb-53cc-b8f3-cc954c5715f2" + }, + "owningRelationship": { + "@id": "5cec300f-0798-5eeb-ab2e-4bd12958c6fb" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "result": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217", + "@type": "ParameterMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "4b76481f-dd9f-590e-9fe6-e4dca46ff217", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "memberElementId": "b2f4906d-c847-56e8-8697-a577ca5c0f24", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "ownedMemberElementId": "b2f4906d-c847-56e8-8697-a577ca5c0f24", + "ownedMemberFeature": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "ownedMemberName": null, + "ownedMemberParameter": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "owningRelationship": null, + "owningType": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + } + ], + "shortName": null, + "source": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "target": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + } + ], + "textualRepresentation": [], + "visibility": "private" + }, + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24", + "@type": "Feature", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": "in", + "documentation": [], + "elementId": "b2f4906d-c847-56e8-8697-a577ca5c0f24", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "membership": [ + { + "@id": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "ownedMembership": [ + { + "@id": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + "owningNamespace": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "owningRelationship": { + "@id": "4b76481f-dd9f-590e-9fe6-e4dca46ff217" + }, + "owningType": null, + "qualifiedName": null, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a", + "@type": "FeatureValue", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a", + "featureWithValue": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "isDefault": null, + "isImplied": false, + "isImpliedIncluded": false, + "isInitial": null, + "isLibraryElement": null, + "memberElement": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "memberElementId": "194e4d05-8812-5619-aaa2-06d4a3680e3a", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "ownedMemberElementId": "194e4d05-8812-5619-aaa2-06d4a3680e3a", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "shortName": null, + "source": [ + { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + } + ], + "target": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "textualRepresentation": [], + "value": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "visibility": null + }, + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a", + "@type": "FeatureReferenceExpression", + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": null, + "documentation": [], + "elementId": "194e4d05-8812-5619-aaa2-06d4a3680e3a", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [], + "membership": [ + { + "@id": "0ad33a22-158c-56e2-bc96-931d9b999e86" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [ + { + "@id": "0ad33a22-158c-56e2-bc96-931d9b999e86" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "0ad33a22-158c-56e2-bc96-931d9b999e86" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a" + }, + "owningNamespace": { + "@id": "b2f4906d-c847-56e8-8697-a577ca5c0f24" + }, + "owningRelationship": { + "@id": "2fd5c8e2-d257-5bda-9e78-890f278e7b5a" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "referent": { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + "result": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "0ad33a22-158c-56e2-bc96-931d9b999e86", + "@type": "Membership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "0ad33a22-158c-56e2-bc96-931d9b999e86", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + }, + "memberElementId": "4d296856-56cf-54fe-af9d-f911a1632d55", + "memberName": "x", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedRelatedElement": [], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + }, + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + } + ], + "shortName": null, + "source": [ + { + "@id": "194e4d05-8812-5619-aaa2-06d4a3680e3a" + } + ], + "target": [ + { + "@id": "4d296856-56cf-54fe-af9d-f911a1632d55" + } + ], + "textualRepresentation": [], + "visibility": null + }, + { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919", + "@type": "ParameterMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "b4a2c714-b418-5f2f-86fc-26e2d0a68919", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "memberElementId": "145eda2a-410f-5b86-ab8b-a296ce4d56bf", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "ownedMemberElementId": "145eda2a-410f-5b86-ab8b-a296ce4d56bf", + "ownedMemberFeature": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "ownedMemberName": null, + "ownedMemberParameter": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "owningRelationship": null, + "owningType": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "shortName": null, + "source": [ + { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + } + ], + "target": [ + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "textualRepresentation": [], + "visibility": "private" + }, + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf", + "@type": "Feature", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": "in", + "documentation": [], + "elementId": "145eda2a-410f-5b86-ab8b-a296ce4d56bf", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "featuringType": [], + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [ + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + } + ], + "membership": [ + { + "@id": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8" + } + ], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [ + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + } + ], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [ + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + } + ], + "ownedMembership": [ + { + "@id": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8" + } + ], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8" + } + ], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + }, + "owningNamespace": { + "@id": "069d6128-4cea-50ad-871e-0be8f61eab28" + }, + "owningRelationship": { + "@id": "b4a2c714-b418-5f2f-86fc-26e2d0a68919" + }, + "owningType": null, + "qualifiedName": null, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [] + }, + { + "@id": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8", + "@type": "FeatureValue", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8", + "featureWithValue": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "isDefault": null, + "isImplied": false, + "isImpliedIncluded": false, + "isInitial": null, + "isLibraryElement": null, + "memberElement": { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + }, + "memberElementId": "6c377fd8-df1a-520c-b72e-1a679b73a73e", + "memberName": null, + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + }, + "ownedMemberElementId": "6c377fd8-df1a-520c-b72e-1a679b73a73e", + "ownedMemberName": null, + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + } + ], + "shortName": null, + "source": [ + { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + } + ], + "target": [ + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + } + ], + "textualRepresentation": [], + "value": { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + }, + "visibility": null + }, + { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e", + "@type": "LiteralInteger", + "aliasIds": [], + "behavior": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": null, + "declaredShortName": null, + "differencingType": [], + "directedFeature": [], + "direction": null, + "documentation": [], + "elementId": "6c377fd8-df1a-520c-b72e-1a679b73a73e", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + }, + "featuringType": [], + "function": null, + "importedMembership": [], + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": null, + "isComposite": null, + "isConjugated": null, + "isConstant": null, + "isDerived": null, + "isEnd": null, + "isImpliedIncluded": false, + "isLibraryElement": null, + "isModelLevelEvaluable": null, + "isOrdered": null, + "isPortion": null, + "isSufficient": null, + "isUnique": null, + "isVariable": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": null, + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [], + "ownedSpecialization": [], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [], + "ownedUnioning": [], + "owner": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8" + }, + "owningNamespace": { + "@id": "145eda2a-410f-5b86-ab8b-a296ce4d56bf" + }, + "owningRelationship": { + "@id": "0c9c3218-19fa-55b0-b863-e41bb8ad26f8" + }, + "owningType": null, + "parameter": [], + "qualifiedName": null, + "result": { + "@id": "6c377fd8-df1a-520c-b72e-1a679b73a73e" + }, + "shortName": null, + "textualRepresentation": [], + "type": [], + "unioningType": [], + "value": 1 + }, + { + "@id": "6c7132c6-1869-51a7-bef2-17ba0aa84e41", + "@type": "OwningMembership", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "6c7132c6-1869-51a7-bef2-17ba0aa84e41", + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "memberElement": { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + }, + "memberElementId": "e654e8fb-c916-5202-9fb8-31c07e907c29", + "memberName": "v", + "memberShortName": null, + "membershipOwningNamespace": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedMemberElement": { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + }, + "ownedMemberElementId": "e654e8fb-c916-5202-9fb8-31c07e907c29", + "ownedMemberName": "v", + "ownedMemberShortName": null, + "ownedRelatedElement": [ + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "ownedRelationship": [], + "owner": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningRelationship": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "shortName": null, + "source": [ + { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + } + ], + "target": [ + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "textualRepresentation": [], + "visibility": "public" + }, + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29", + "@type": "PartUsage", + "aliasIds": [], + "chainingFeature": [], + "crossFeature": null, + "declaredName": "v", + "declaredShortName": null, + "definition": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "differencingType": [], + "directedFeature": [], + "directedUsage": [], + "direction": null, + "documentation": [], + "elementId": "e654e8fb-c916-5202-9fb8-31c07e907c29", + "endFeature": [], + "endOwningType": null, + "feature": [], + "featureMembership": [], + "featureTarget": { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + }, + "featuringType": [], + "importedMembership": [], + "individualDefinition": null, + "inheritedFeature": [], + "inheritedMembership": [], + "input": [], + "intersectingType": [], + "isAbstract": false, + "isComposite": false, + "isConjugated": null, + "isConstant": false, + "isDerived": false, + "isEnd": false, + "isImpliedIncluded": false, + "isIndividual": null, + "isLibraryElement": null, + "isOrdered": false, + "isPortion": null, + "isReference": true, + "isSufficient": null, + "isUnique": true, + "isVariable": null, + "isVariation": false, + "itemDefinition": [], + "mayTimeVary": null, + "member": [], + "membership": [], + "multiplicity": null, + "name": "v", + "nestedAction": [], + "nestedAllocation": [], + "nestedAnalysisCase": [], + "nestedAttribute": [], + "nestedCalculation": [], + "nestedCase": [], + "nestedConcern": [], + "nestedConnection": [], + "nestedConstraint": [], + "nestedEnumeration": [], + "nestedFlow": [], + "nestedInterface": [], + "nestedItem": [], + "nestedMetadata": [], + "nestedOccurrence": [], + "nestedPart": [], + "nestedPort": [], + "nestedReference": [], + "nestedRendering": [], + "nestedRequirement": [], + "nestedState": [], + "nestedTransition": [], + "nestedUsage": [], + "nestedUseCase": [], + "nestedVerificationCase": [], + "nestedView": [], + "nestedViewpoint": [], + "occurrenceDefinition": [], + "output": [], + "ownedAnnotation": [], + "ownedConjugator": null, + "ownedCrossSubsetting": null, + "ownedDifferencing": [], + "ownedDisjoining": [], + "ownedElement": [], + "ownedEndFeature": [], + "ownedFeature": [], + "ownedFeatureChaining": [], + "ownedFeatureInverting": [], + "ownedFeatureMembership": [], + "ownedImport": [], + "ownedIntersecting": [], + "ownedMember": [], + "ownedMembership": [], + "ownedRedefinition": [], + "ownedReferenceSubsetting": null, + "ownedRelationship": [ + { + "@id": "81ac951c-13b9-5ca8-ae2f-514103df420b" + } + ], + "ownedSpecialization": [ + { + "@id": "81ac951c-13b9-5ca8-ae2f-514103df420b" + } + ], + "ownedSubsetting": [], + "ownedTypeFeaturing": [], + "ownedTyping": [ + { + "@id": "81ac951c-13b9-5ca8-ae2f-514103df420b" + } + ], + "ownedUnioning": [], + "owner": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningDefinition": null, + "owningFeatureMembership": null, + "owningMembership": { + "@id": "6c7132c6-1869-51a7-bef2-17ba0aa84e41" + }, + "owningNamespace": { + "@id": "41ba6746-fd6d-54c7-bfbc-1519ed9a00cd" + }, + "owningRelationship": { + "@id": "6c7132c6-1869-51a7-bef2-17ba0aa84e41" + }, + "owningType": null, + "owningUsage": null, + "partDefinition": [], + "portionKind": null, + "qualifiedName": "Demo::v", + "shortName": null, + "textualRepresentation": [], + "type": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "unioningType": [], + "usage": [], + "variant": [], + "variantMembership": [] + }, + { + "@id": "81ac951c-13b9-5ca8-ae2f-514103df420b", + "@type": "FeatureTyping", + "aliasIds": [], + "declaredName": null, + "declaredShortName": null, + "documentation": [], + "elementId": "81ac951c-13b9-5ca8-ae2f-514103df420b", + "general": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "isImplied": false, + "isImpliedIncluded": false, + "isLibraryElement": null, + "name": null, + "ownedAnnotation": [], + "ownedElement": [], + "ownedRelatedElement": [], + "ownedRelationship": [], + "owner": null, + "owningFeature": null, + "owningMembership": null, + "owningNamespace": null, + "owningRelatedElement": { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + }, + "owningRelationship": null, + "owningType": null, + "qualifiedName": null, + "relatedElement": [ + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + }, + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "shortName": null, + "source": [ + { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + ], + "specific": { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + }, + "target": [ + { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + } + ], + "textualRepresentation": [], + "type": { + "@id": "ad6f1824-1aac-5411-9735-6059195938de" + }, + "typedFeature": { + "@id": "e654e8fb-c916-5202-9fb8-31c07e907c29" + } + } +] diff --git a/data/bigger.sysml b/data/bigger.sysml new file mode 100644 index 0000000..a287faf --- /dev/null +++ b/data/bigger.sysml @@ -0,0 +1,14 @@ +package Demo { + part def Base { attribute mass; } + part def Vehicle :> Base { + attribute mass2; + part wheel[4]; + port p; + ref item cargo; + action a; + constraint c { mass2 > 0 } + state s; + calc def K { in x; return y = x + 1; } + } + part v : Vehicle; +} diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..aa1a94f --- /dev/null +++ b/examples/README.md @@ -0,0 +1,58 @@ +# Guides, tutorials and query examples + +Start with the guide of your language: how to install the package, the code that reads a model +through the SysML Toolkit and the code that reads a JSON export, ready to copy with your file names, +and the first queries. + +| Language | Guide | Runnable tutorial | Run from the repository root | +|---|---|---|---| +| Python | [python/README.md](python/README.md) | [tutorial.py](python/tutorial.py) | `python examples/python/tutorial.py` (SysML Toolkit), `--payload` | +| JavaScript / TypeScript | [typescript/README.md](typescript/README.md) | [tutorial.mjs](typescript/tutorial.mjs) | `node examples/typescript/tutorial.mjs` (payload), `--toolkit` | +| Java | [java/README.md](java/README.md) | [Tutorial.java](java/Tutorial.java) | see the header of `Tutorial.java` | +| C# | [csharp/README.md](csharp/README.md) | [Tutorial.cs](csharp/Tutorial.cs) | `dotnet run --project examples/csharp` (payload), `-- --toolkit` | +| C++ | [cpp/README.md](cpp/README.md) | [tutorial.cpp](cpp/tutorial.cpp) | see the header of `tutorial.cpp` | + +Each tutorial is a single runnable file with the steps numbered in comments: find an element by +qualified name, ask what it is, walk its features and their types, read its documentation, follow +a usage to its definition, and see what happens when the SysML Toolkit does not answer a member. + +The model is `vehicle.sysml`; `vehicle.full.json` is the same model exported by the SysML Toolkit +as a full-form interchange payload, which is what any SysML v2 tool can hand you. Its references +into the standard library resolve against `sysml.library.full.json`, the library as JSON that each +SDK release publishes. Neither JSON file is committed: generate both once with +`python tools/export_example.py --library `, which needs the binding library and the +standard library's directory. + +[queries/](queries/README.md) goes further: parametric queries over whole models (reachable +states, bills of materials, roll-ups, connectivity, requirement checks) in every language, each +printing the same report. + +## The two ways in, and why they differ + +Through the **SysML Toolkit** the SDK asks a live engine. It reads each property through the +SysML Toolkit's checked reader, which answers only what it can derive completely: derived members +the SysML Toolkit cannot derive yet (in this release, most of what builds on inheritance, such as +`inheritedFeature`, and a feature's `type`) raise `NotImplementedInToolkit` with the reason the +SysML Toolkit gives. The relationships they derive from are answered: the guides show how to read a +feature's types from its `ownedTyping`, and a definition's supertypes from its +`ownedSubclassification`. Specification operations are evaluated by the SysML Toolkit +(`effectiveName()`, `resolve`, ...). This path is available in all five languages through the same +binding library. + +Through a **payload** the SDK reads what the exporting tool wrote, and nothing else. This file was +written by the SysML Toolkit at the closure level, so its inherited features are there. An export +by the SysML Toolkit's command-line tool is written at the owned-side level instead: the inherited +and imported member lists are empty, and the other inheritance-aware properties list only what an +element owns. A payload also cannot say what its writer did not compute. Where the SysML Toolkit +has no value the file holds a stand-in, such as null for a feature's `isVariable`. The payload path +reads such a stand-in as the answer; only the SysML Toolkit path can say that it does not answer a +member, and the tutorials show where it does (`type`, `inheritedFeature`, `partDefinition`, ...). +Operations need the SysML Toolkit: on a payload they raise `NotImplementedInToolkit`. + +The SDK never guesses: it answers what the engine or the file says, or raises. + +## Building the SysML Toolkit path + +The SysML Toolkit paths need the binding library, and the JavaScript one its WebAssembly build: see +[abi/README.md](../abi/README.md), or use a release's packages, which carry them. The payload +paths need only the language's own toolchain. diff --git a/examples/cpp/README.md b/examples/cpp/README.md new file mode 100644 index 0000000..0c8cac2 --- /dev/null +++ b/examples/cpp/README.md @@ -0,0 +1,212 @@ +# C++ + +Read SysML v2 and KerML models from C++17, header-only. Every metaclass of the specification is a +struct over a shared model; `is_a()` follows the specification's generalizations and `as()` +converts. Properties are read through getters, `get` and the specification name +(`getOwnedFeature()`, `getQualifiedName()`, and for Booleans `getIsAbstract()`); operations keep +their specification names (`effectiveName()`). + +A model is read through one of two backends, with the same structs over both: + +- **the OpenMBEE SysML Toolkit** reads your `.sysml` and `.kerml` files, resolves names and + computes derived properties, through the binding library (a native library, loaded at run time); +- **a payload** is a model exported as full-form interchange JSON by any SysML v2 tool, read in + plain C++ (with the bundled nlohmann/json). + +## Install + +A C++17 compiler. Download from the release: + +- `sysml-sdk-cpp-0.1.0.zip`, and put its `include/` on your include path. For the SysML Toolkit, + its `lib//` holds the binding library for Windows x64, Linux x64, and macOS on Apple + silicon and on Intel: copy the one for your platform (`sysmlv2_abi.dll`, `libsysmlv2_abi.so` or + `libsysmlv2_abi.dylib`) beside your executable; +- `sysml_library-0.1.0.zip`, the standard library. Unpack it anywhere: it holds `sysml.library/` + (the library's models, for the SysML Toolkit) and `sysml.library.full.json` (the same library as + JSON, for payloads). + +```sh +g++ -std=c++17 -I sysml-sdk-cpp-0.1.0/include read_model.cpp -o read_model # add -ldl on Linux, -static with MinGW +``` + +## Read a model through the SysML Toolkit + +Copy this, and put in your file names: + + +```cpp +#include + +#include +#include +#include + +using namespace sysml; + +int main() { + Model model = Model::from_backend(ToolkitBackend::open( + {"model.sysml"}, // your model: one or more .sysml / .kerml files + {}, // or in-memory sources: {file name, text} pairs + "sysml.library")); // the standard library, from sysml_library-0.1.0.zip + + // ... your code here ... + return 0; +} +``` + +- `ToolkitBackend::open({"a.sysml", "b.sysml"})` opens files without the standard library, + `ToolkitBackend::open_sources({{"model.sysml", text}})` text you hold in memory. +- To load the binding library from elsewhere, point the environment variable `SYSMLV2_ABI` at it, + or name it in code: pass `std::make_shared(path)` as the last argument + of `open`. +- Without the standard library the model loads faster, but its references into it + (`ScalarValues::Real`, `ISQ::mass`, and the implicit ones such as `Parts::parts`) do not resolve, + and reading one throws `unresolved_reference`. + +## Read a model from a JSON export + +A payload is the full-form interchange JSON of a model: one array of elements, each an object with +its `@id`, its `@type` and its properties. The SysML Toolkit writes one with +`sysmlv2 convert model.sysml --to full-json --lib sysml.library > model.json`, and so can other SysML +v2 tools. Its references into the standard library resolve against the library JSON: + + +```cpp +#include +#include +#include + +#include +#include + +using namespace sysml; + +static std::string read_file(const std::string& path) { + std::ifstream in(path, std::ios::binary); + if (!in) throw std::runtime_error("cannot open " + path); + std::stringstream text; + text << in.rdbuf(); + return text.str(); +} + +int main() { + auto library = PayloadLibrary::parse(read_file("sysml.library.full.json")); // read once, share it + Model model = Model::from_full_json(read_file("model.json"), library); // your export + + // ... your code here ... + return 0; +} +``` + +A payload answers with what its writer wrote and nothing else. Operations need the SysML Toolkit: +on a payload they throw `not_implemented_in_toolkit`. + +## Find and read elements + +The snippets below go where `// ... your code here ...` is, with either backend. They read the +example model [`examples/vehicle.sysml`](../vehicle.sysml); put in your own qualified names. + + +```cpp +// An element by its qualified name (an empty optional when there is none), as its metaclass. +auto vehicle = model.resolve("Vehicles::Vehicle").value().as(); +std::cout << vehicle.getQualifiedName().value() << " is a " << vehicle.metaclass_name() << "\n"; // ... is a PartDefinition + +// The top-level packages. +for (const Element& root : model.roots()) + for (const Element& member : root.as().getOwnedMember()) + std::cout << "top level: " << member.getQualifiedName().value_or("(unnamed)") << "\n"; + +// Every element of a metaclass, its subclasses included. +for (const PartUsage& part : model.elements_of_type()) + std::cout << "part: " << part.getQualifiedName().value_or("(unnamed)") << " " << part.metaclass_name() << "\n"; + +// Properties keep their specification names behind get. A list property is a std::vector, a +// single one a std::optional of an element, a std::string, a bool, an integer or a double. +std::cout << vehicle.getDeclaredName().value_or("") << " abstract: " << vehicle.getIsAbstract().value_or(false) << "\n"; +for (const Documentation& doc : vehicle.getDocumentation()) std::cout << "doc: " << doc.getBody().value_or("") << "\n"; +for (const Feature& feature : vehicle.getOwnedFeature()) + std::cout << " feature: " << feature.getDeclaredName().value_or("(unnamed)") << " " << feature.metaclass_name() << "\n"; + +// The structs follow the specification's generalization hierarchy. +std::cout << vehicle.is_a() << vehicle.is_a() << vehicle.is_a() << "\n"; // 110 +``` + +## When the SysML Toolkit does not answer + +The SysML Toolkit answers a property only where it can derive it completely. Where it cannot +yet, reading the property throws `not_implemented_in_toolkit` with the SysML Toolkit's reason, +instead of returning a value that might be wrong; nothing is silently empty. Catch it where your +code can go on. + +The relationships a derived property is computed from are part of the model, and the SysML Toolkit +answers them: a feature's types are the `getType()` of its `getOwnedTyping()` relationships, a +definition's supertypes the `getSuperclassifier()` of its `getOwnedSubclassification()`s, what a +feature subsets the `getSubsettedFeature()` of its `getOwnedSubsetting()`s. + + +```cpp +auto wheels = model.resolve("Vehicles::Vehicle::wheels").value().as(); +std::vector types; +try { + types = wheels.getType(); // derived: the SysML Toolkit may refuse it +} catch (const not_implemented_in_toolkit& refusal) { + std::cout << "not answered: " << refusal.what() << "\n"; + for (const FeatureTyping& typing : wheels.getOwnedTyping()) // what the model states + types.push_back(typing.getType().value()); +} +for (const Type& t : types) std::cout << "wheels: " << t.getQualifiedName().value_or("?") << "\n"; // Vehicles::Wheel + +auto sports = model.resolve("Vehicles::SportsCar").value().as(); +for (const Subclassification& s : sports.getOwnedSubclassification()) + std::cout << "SportsCar specializes " << s.getSuperclassifier().value().getQualifiedName().value_or("?") << "\n"; +try { + for (const Feature& f : sports.getInheritedFeature()) + if (f.getIsLibraryElement() != true) std::cout << "SportsCar inherits " << f.getDeclaredName().value_or("(unnamed)") << "\n"; +} catch (const not_implemented_in_toolkit& refusal) { + std::cout << "not answered: " << refusal.what() << "\n"; +} +``` + +A reference that does not resolve throws `unresolved_reference`, and an element that is no longer +there `gone`. All derive from `sysml::sdk_error`, a `std::runtime_error`. + +## Operations + +The specification's operations are member functions under their own names, with the specification's +parameter and result types. The SysML Toolkit has a body for a part of them (`effectiveName()`, +`resolve`, `resolveGlobal`, `resolveLocal`, `visibleMemberships`, `supertypes`, `evaluate`, ...), +and answers a call only where its evidence for your model is complete; otherwise, and for the +operations it has no body for (`isCompatibleWith`, `specializes`, `allSupertypes`, ...), the call +raises `not_implemented_in_toolkit`, as a property read does. Whether `resolve` is answered, for +example, depends on the names in your model: catch the refusal where your code can go on. + + +```cpp +std::cout << vehicle.effectiveName().value_or("") << "\n"; // Vehicle +auto membership = model.resolve("Vehicles").value().as().resolve("Vehicle").value(); // Namespace::resolve +std::cout << membership.metaclass_name() << " " << membership.getMemberElement().value().getQualifiedName().value_or("?") << "\n"; +``` + +## Write a model out as JSON + +The SysML Toolkit writes the model as full-form interchange JSON, with the inherited and imported +members filled in (`full_json(false)` writes each element's own side only, as the command-line +tool does). `full_json` belongs to the backend, so keep it before handing it to the model: + + +```cpp +auto backend = ToolkitBackend::open({"model.sysml"}, {}, "sysml.library"); +std::cout << backend->full_json().size() << " bytes of JSON\n"; // write it where you need it +Model exported = Model::from_backend(std::move(backend)); // the same session, as a model +``` + +## Next + +- [tutorial.cpp](tutorial.cpp), a runnable walk through the example model with both backends; its + header has the commands. +- [../queries/](../queries/README.md): parametric queries over whole models (reachable states, + bills of materials, connectivity, requirements), the same in every language. +- The names of every class and member are the specification's; see + [Names](../../README.md#names) for the rules. +- [skills/sysml-sdk-cpp](../../skills/sysml-sdk-cpp/SKILL.md) teaches a coding agent the same. diff --git a/examples/cpp/tutorial.cpp b/examples/cpp/tutorial.cpp new file mode 100644 index 0000000..0ab5755 --- /dev/null +++ b/examples/cpp/tutorial.cpp @@ -0,0 +1,113 @@ +// SysML v2 SDK, C++: a first walk through a model. +// +// Build and run from the repository root (header-only, C++17): +// +// g++ -std=c++17 -I cpp/include -I vendor examples/cpp/tutorial.cpp -o examples/cpp/tutorial +// examples/cpp/tutorial reads examples/vehicle.full.json +// examples/cpp/tutorial --toolkit reads examples/vehicle.sysml through the SysML Toolkit +// +// (On Windows with MinGW add -static.) The payload is a full-form interchange export any SysML v2 +// tool can produce; this one came from the SysML Toolkit. Its references into the standard library +// resolve against the library as JSON, published with each SDK release. In this repository both +// are generated by `python tools/export_example.py --library `. The SysML Toolkit +// path loads the binding library at run time (build abi/ first). +// +// Everything is named as in the OMG specification. Properties are read through getters, `get` + +// the specification name: getOwnedMember(), getQualifiedName(), getIsAbstract(). Operations keep +// their specification names: effectiveName(), specializes(...). Elements are value types over a +// shared model; `is_a()` asks the metaclass question and `as()` converts, throwing +// wrong_kind if the answer is no. + +#include +#include +#include +#include + +#include +#include +#include + +using namespace sysml; + +static std::string read_file(const char* path) { + std::ifstream in(path, std::ios::binary); + if (!in) throw std::runtime_error(std::string("cannot open ") + path + " (run from the repository root)"); + std::stringstream ss; + ss << in.rdbuf(); + return ss.str(); +} + +int main(int argc, char** argv) { + const bool toolkit = argc > 1 && std::string(argv[1]) == "--toolkit"; + Model model = toolkit ? Model::from_backend(ToolkitBackend::open({"examples/vehicle.sysml"})) + : Model::from_full_json(read_file("examples/vehicle.full.json"), + PayloadLibrary::parse(read_file("examples/sysml.library.full.json"))); + + // 1. Find an element by its qualified name, and confirm what it is. + auto vehicle = model.resolve("Vehicles::Vehicle").value().as(); + std::cout << vehicle.getQualifiedName().value() << " is a " << vehicle.metaclass_name() << "\n"; + + // 2. The generated structs are the metaclass hierarchy. + auto vehicles = model.resolve("Vehicles").value().as(); + std::cout << "definitions:"; + for (const Element& m : vehicles.getOwnedMember()) + if (m.is_a()) std::cout << " " << m.as().getDeclaredName().value_or("?"); + std::cout << "\n"; + + // 3. Walk a definition's features and their declared types. + std::cout << "\nfeatures of " << vehicle.getDeclaredName().value() << ":\n"; + for (const Feature& f : vehicle.getOwnedFeature()) { + std::string types; + try { + for (const Type& t : f.getType()) types += (types.empty() ? "" : ", ") + t.getDeclaredName().value_or("?"); + if (types.empty()) types = "untyped"; + } catch (const not_implemented_in_toolkit& e) { // the SysML Toolkit cannot vouch for this value yet + types = std::string("(") + e.what() + ")"; + } + std::cout << " " << std::left << std::setw(16) << f.metaclass_name() + << std::setw(10) << f.getDeclaredName().value_or("(unnamed)") << " : " << types << "\n"; + } + + // 4. Documentation is a member like any other. + for (const Documentation& doc : vehicle.getDocumentation()) + std::cout << "\ndoc: " << doc.getBody().value_or("") << "\n"; + + // 5. A usage and the definition it is typed by. + auto my_car = model.resolve("Vehicles::myCar").value().as(); + try { + const std::string typed_by = my_car.getType().front().getQualifiedName().value(); // read before printing + std::cout << "\n" << my_car.getQualifiedName().value() << " is typed by " << typed_by << "\n"; + } catch (const not_implemented_in_toolkit& e) { + std::cout << "\n" << my_car.getQualifiedName().value() << ": " << e.what() << "\n"; + } + + // 6. Inheritance. Through the SysML Toolkit, inherited features are computed. A payload holds + // what the exporting tool wrote: this file was exported at the closure level, so it has them + // too; an export by the SysML Toolkit's command-line tool would list the owned side only. + // With the standard library, every part also inherits the library's features (`self`, + // `start`, ...); getIsLibraryElement() tells them apart. + auto sports = model.resolve("Vehicles::SportsCar").value().as(); + std::string inherited; + try { + std::size_t count = 0; + for (const Feature& f : sports.getInheritedFeature()) + if (f.getIsLibraryElement() != true) ++count; + inherited = std::to_string(count); + } catch (const not_implemented_in_toolkit& e) { + inherited = std::string("(") + e.what() + ")"; + } + std::cout << "\n" << sports.getDeclaredName().value() << " owns " << sports.getOwnedFeature().size() + << " features; inherited: " << inherited << "\n"; + + // 7. Honest refusal. Through the SysML Toolkit, a member it cannot vouch for yet says so + // instead of answering, as the reads above show where it does. Through a payload there is + // nobody to say so: the file holds what the exporting tool wrote. + try { + std::string defs; + for (const PartDefinition& d : my_car.getPartDefinition()) defs += (defs.empty() ? "" : ", ") + d.getQualifiedName().value_or("?"); + std::cout << "\npartDefinition of myCar: " << defs << "\n"; + } catch (const not_implemented_in_toolkit& e) { + std::cout << "\nnot answered by the SysML Toolkit, and it says so: " << e.what() << "\n"; + } + return 0; +} diff --git a/examples/csharp/README.md b/examples/csharp/README.md new file mode 100644 index 0000000..bd5c35b --- /dev/null +++ b/examples/csharp/README.md @@ -0,0 +1,186 @@ +# C# + +Read SysML v2 and KerML models from C# (.NET 8). Every metaclass of the specification is a C# +interface, so `is` and casts follow the specification's generalizations, and every property and +operation keeps its specification name: `ownedFeature`, `qualifiedName`, `effectiveName()`. + +A model is read through one of two backends, with the same interfaces over both: + +- **the OpenMBEE SysML Toolkit** reads your `.sysml` and `.kerml` files, resolves names and + computes derived properties, through the binding library (a native library, called with P/Invoke); +- **a payload** is a model exported as full-form interchange JSON by any SysML v2 tool, read in + plain C#. + +## Install + +.NET 8 or newer. Download from the release: + +- `OpenMBEE.SysML.0.1.0.nupkg`, and add it to your project from the folder that holds it: + `dotnet add package OpenMBEE.SysML --version 0.1.0 --source `. It carries the + binding library for Windows x64, Linux x64, and macOS on Apple silicon and on + Intel, and .NET puts the one for your platform beside your program; +- `sysml_library-0.1.0.zip`, the standard library. Unpack it anywhere: it holds `sysml.library/` + (the library's models, for the SysML Toolkit) and `sysml.library.full.json` (the same library as + JSON, for payloads). + +## Read a model through the SysML Toolkit + +Copy this into `Program.cs`, and put in your file names: + + +```csharp +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type, beside System.Type + +using var toolkit = ToolkitBackend.Open(ToolkitBackend.DefaultLibrary, // the package's binding library, or SYSMLV2_ABI's + new[] { "model.sysml" }, // your model: one or more .sysml / .kerml files + null, // or in-memory sources: file name to text + "sysml.library"); // the standard library, from sysml_library-0.1.0.zip +var model = new Model(toolkit); + +// ... your code here ... +``` + +- `ToolkitBackend.Open("a.sysml", "b.sysml")` opens files without the standard library, + `ToolkitBackend.OpenSources(new Dictionary { ["model.sysml"] = text })` text you + hold in memory. +- To use another build of the binding library, point the environment variable `SYSMLV2_ABI` at + it, or name it in code: `new ToolkitBackend.Library(path)` in place of + `ToolkitBackend.DefaultLibrary`. +- Without the standard library the model loads faster, but its references into it + (`ScalarValues::Real`, `ISQ::mass`, and the implicit ones such as `Parts::parts`) do not resolve, + and reading one throws `UnresolvedReferenceException`. + +## Read a model from a JSON export + +A payload is the full-form interchange JSON of a model: one array of elements, each an object with +its `@id`, its `@type` and its properties. The SysML Toolkit writes one with +`sysmlv2 convert model.sysml --to full-json --lib sysml.library > model.json`, and so can other SysML +v2 tools. Its references into the standard library resolve against the library JSON: + + +```csharp +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type, beside System.Type + +var library = PayloadLibrary.FromJson(File.ReadAllText("sysml.library.full.json")); // read once, share it +var model = Model.FromFullJson(File.ReadAllText("model.json"), library); // your export + +// ... your code here ... +``` + +A payload answers with what its writer wrote and nothing else. Operations need the SysML Toolkit: +on a payload they throw `NotImplementedInToolkitException`. + +The snippets assume the project's implicit usings (`System`, `System.IO`, `System.Linq`, ...), which +`dotnet new console` turns on. + +## Find and read elements + +The snippets below go where `// ... your code here ...` is, with either backend. They read the +example model [`examples/vehicle.sysml`](../vehicle.sysml); put in your own qualified names. + + +```csharp +// An element by its qualified name (null when there is none), cast to its metaclass. +var vehicle = (PartDefinition)model.Resolve("Vehicles::Vehicle")!; +Console.WriteLine($"{vehicle.qualifiedName} is a {vehicle.MetaclassName}"); // Vehicles::Vehicle is a PartDefinition + +// The top-level packages. +foreach (var root in model.Roots()) + foreach (var member in ((Namespace)root).ownedMember) Console.WriteLine($"top level: {member.qualifiedName}"); + +// Every element of a metaclass, its subclasses included. +foreach (var part in model.ElementsOfType()) + Console.WriteLine($"part: {part.qualifiedName ?? "(unnamed)"} {part.MetaclassName}"); + +// Properties keep their specification names. A list property is an IReadOnlyList, a single one an +// element, a string, a bool?, a long?, a double? or null. +Console.WriteLine($"{vehicle.declaredName} {vehicle.isAbstract} {string.Join("; ", vehicle.documentation.Select(doc => doc.body?.Trim()))}"); +foreach (var feature in vehicle.ownedFeature) Console.WriteLine($" feature: {feature.declaredName} {feature.MetaclassName}"); + +// The interfaces form the specification's generalization hierarchy. +Console.WriteLine($"{vehicle is Definition} {vehicle is SpecType} {model.Resolve("Vehicles::myCar") is Usage}"); +``` + +## When the SysML Toolkit does not answer + +The SysML Toolkit answers a property only where it can derive it completely. Where it cannot yet, +reading the property throws `NotImplementedInToolkitException` with the SysML Toolkit's reason, +instead of returning a value that might be wrong; nothing is silently empty. Catch it where your +code can go on. + +The relationships a derived property is computed from are part of the model, and the SysML Toolkit +answers them: a feature's types are the `type` of its `ownedTyping` relationships, a definition's +supertypes the `superclassifier` of its `ownedSubclassification`s, what a feature subsets the +`subsettedFeature` of its `ownedSubsetting`s. + + +```csharp +var wheels = (PartUsage)model.Resolve("Vehicles::Vehicle::wheels")!; +IEnumerable types; +try +{ + types = wheels.type.ToList(); // derived: the SysML Toolkit may refuse it +} +catch (NotImplementedInToolkitException refusal) +{ + Console.WriteLine($"not answered: {refusal.Message}"); + types = wheels.ownedTyping.Select(typing => typing.type!); // what the model states +} +Console.WriteLine($"wheels: {string.Join(", ", types.Select(t => t.qualifiedName))}"); // Vehicles::Wheel + +var sports = (PartDefinition)model.Resolve("Vehicles::SportsCar")!; +Console.WriteLine($"SportsCar specializes {string.Join(", ", sports.ownedSubclassification.Select(s => s.superclassifier!.qualifiedName))}"); +try +{ + Console.WriteLine($"SportsCar inherits {string.Join(", ", sports.inheritedFeature.Where(f => f.isLibraryElement != true).Select(f => f.declaredName))}"); +} +catch (NotImplementedInToolkitException refusal) +{ + Console.WriteLine($"not answered: {refusal.Message}"); +} +``` + +A reference that does not resolve throws `UnresolvedReferenceException`, and an element that is no +longer there `GoneException`. All three derive from `SdkException`. + +## Operations + +The specification's operations are methods under their own names, with the specification's +parameter and result types. The SysML Toolkit has a body for a part of them (`effectiveName()`, +`resolve`, `resolveGlobal`, `resolveLocal`, `visibleMemberships`, `supertypes`, `evaluate`, ...), +and answers a call only where its evidence for your model is complete; otherwise, and for the +operations it has no body for (`isCompatibleWith`, `specializes`, `allSupertypes`, ...), the call +raises `NotImplementedInToolkitException`, as a property read does. Whether `resolve` is answered, +for example, depends on the names in your model: catch the refusal where your code can go on. One +operation name is suffixed so it cannot collide with a property: `instantiatedTypeOp()`. + + +```csharp +Console.WriteLine(vehicle.effectiveName()); // Vehicle +var membership = ((Namespace)model.Resolve("Vehicles")!).resolve("Vehicle")!; // Namespace::resolve +Console.WriteLine($"{membership.MetaclassName} {membership.memberElement!.qualifiedName}"); +``` + +## Write a model out as JSON + +The SysML Toolkit writes the model as full-form interchange JSON, with the inherited and imported +members filled in (`FullJson(false)` writes each element's own side only, as the command-line +tool does): + + +```csharp +File.WriteAllText("model.full.json", toolkit.FullJson()); +``` + +## Next + +- [Tutorial.cs](Tutorial.cs), a runnable walk through the example model with both backends: + `dotnet run --project examples/csharp` (payload) or `-- --toolkit`. +- [../queries/](../queries/README.md): parametric queries over whole models (reachable states, + bills of materials, connectivity, requirements), the same in every language. +- The names of every class and member are the specification's; see + [Names](../../README.md#names) for the rules. +- [skills/sysml-sdk-csharp](../../skills/sysml-sdk-csharp/SKILL.md) teaches a coding agent the + same. diff --git a/examples/csharp/Tutorial.cs b/examples/csharp/Tutorial.cs new file mode 100644 index 0000000..2fbd542 --- /dev/null +++ b/examples/csharp/Tutorial.cs @@ -0,0 +1,103 @@ +// SysML v2 SDK, C#: a first walk through a model. +// +// Run from the repository root: +// +// dotnet run --project examples/csharp reads examples/vehicle.full.json +// dotnet run --project examples/csharp -- --toolkit reads examples/vehicle.sysml through the SysML Toolkit +// +// The payload is a full-form interchange export any SysML v2 tool can produce; this one came +// from the SysML Toolkit. Its references into the standard library resolve against the library +// as JSON, published with each SDK release. In this repository both are generated by +// `python tools/export_example.py --library `. The SysML Toolkit path loads the +// binding library (build abi/ first). +// +// Everything is spelled as in the OMG specification: ownedMember, ownedFeature, qualifiedName, +// type. The generated interfaces form the real metaclass hierarchy, so `is` and casts work. + +using System; +using System.IO; +using System.Linq; +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type shadows System.Type + +var root = FindRepoRoot(); +var model = args.Contains("--toolkit") + ? new Model(ToolkitBackend.Open(Path.Combine(root, "examples", "vehicle.sysml"))) + : Model.FromFullJson(File.ReadAllText(Path.Combine(root, "examples", "vehicle.full.json")), + PayloadLibrary.FromJson(File.ReadAllText(Path.Combine(root, "examples", "sysml.library.full.json")))); + +// 1. Find an element by its qualified name, and confirm what it is. +var vehicle = (PartDefinition)model.Resolve("Vehicles::Vehicle")!; +Console.WriteLine($"{vehicle.qualifiedName} is a {vehicle.MetaclassName}"); + +// 2. The generated interfaces are the metaclass hierarchy. +var vehicles = (Namespace)model.Resolve("Vehicles")!; +Console.WriteLine("definitions: " + string.Join(", ", + vehicles.ownedMember.OfType().Select(d => d.declaredName))); + +// 3. Walk a definition's features and their declared types. +Console.WriteLine($"\nfeatures of {vehicle.declaredName}:"); +foreach (var f in vehicle.ownedFeature) +{ + string types; + try + { + var names = string.Join(", ", f.type.Select(t => t.declaredName)); + types = names.Length == 0 ? "untyped" : names; + } + catch (NotImplementedInToolkitException e) // the SysML Toolkit cannot vouch for this value yet + { + types = $"({e.Message})"; + } + Console.WriteLine($" {f.MetaclassName,-16} {f.declaredName ?? "(unnamed)",-10} : {types}"); +} + +// 4. Documentation is a member like any other. +foreach (var doc in vehicle.documentation) Console.WriteLine($"\ndoc: {doc.body?.Trim()}"); + +// 5. A usage and the definition it is typed by. +var myCar = (PartUsage)model.Resolve("Vehicles::myCar")!; +try +{ + Console.WriteLine($"\n{myCar.qualifiedName} is typed by {myCar.type.First().qualifiedName}"); +} +catch (NotImplementedInToolkitException e) +{ + Console.WriteLine($"\n{myCar.qualifiedName}: {e.Message}"); +} + +// 6. Inheritance. Through the SysML Toolkit, inherited features are computed. A payload holds what +// the exporting tool wrote: this file was exported at the closure level, so it has them too; an +// export by the SysML Toolkit's command-line tool would list the owned side only. With the +// standard library, every part also inherits the library's features (`self`, `start`, ...); +// isLibraryElement tells them apart. +var sports = (PartDefinition)model.Resolve("Vehicles::SportsCar")!; +string inherited; +try +{ + inherited = sports.inheritedFeature.Count(f => f.isLibraryElement != true).ToString(System.Globalization.CultureInfo.InvariantCulture); +} +catch (NotImplementedInToolkitException e) +{ + inherited = $"({e.Message})"; +} +Console.WriteLine($"\n{sports.declaredName} owns {sports.ownedFeature.Count} features; inherited: {inherited}"); + +// 7. Honest refusal. Through the SysML Toolkit, a member it cannot vouch for yet says so instead of +// answering, as the reads above show where it does. Through a payload there is nobody to say so: +// the file holds what the exporting tool wrote. +try +{ + Console.WriteLine($"\npartDefinition of myCar: {string.Join(", ", myCar.partDefinition.Select(d => d.qualifiedName))}"); +} +catch (NotImplementedInToolkitException e) +{ + Console.WriteLine($"\nnot answered by the SysML Toolkit, and it says so: {e.Message}"); +} + +static string FindRepoRoot() +{ + var d = new DirectoryInfo(AppContext.BaseDirectory); + while (d != null && !File.Exists(Path.Combine(d.FullName, "metamodel.json"))) d = d.Parent; + return d?.FullName ?? throw new InvalidOperationException("run from inside the sysml-sdk repository"); +} diff --git a/examples/csharp/Tutorial.csproj b/examples/csharp/Tutorial.csproj new file mode 100644 index 0000000..31448e6 --- /dev/null +++ b/examples/csharp/Tutorial.csproj @@ -0,0 +1,12 @@ + + + Exe + net8.0 + enable + disable + + + + + + diff --git a/examples/java/README.md b/examples/java/README.md new file mode 100644 index 0000000..3a080bd --- /dev/null +++ b/examples/java/README.md @@ -0,0 +1,213 @@ +# Java + +Read SysML v2 and KerML models from Java. Every metaclass of the specification is a Java +interface, so `instanceof` follows the specification's generalizations. Properties are read through +getters, `get` and the specification name (`getOwnedFeature()`, `getQualifiedName()`, and for +Booleans `getIsAbstract()`); operations keep their specification names (`effectiveName()`). + +A model is read through one of two backends, with the same interfaces over both: + +- **the OpenMBEE SysML Toolkit** reads your `.sysml` and `.kerml` files, resolves names and + computes derived properties, through the binding library (a native library, called with the + foreign function API); +- **a payload** is a model exported as full-form interchange JSON by any SysML v2 tool, read in + plain Java. + +## Install + +JDK 21 or newer; the jar has no dependencies. Download from the release: + +- `sysml-sdk-0.1.0.jar`, to put on the class path. It carries the binding library + for Windows x64, Linux x64, and macOS on Apple silicon and on Intel, and copies the one for your + platform into the temporary directory on first use; +- `sysml_library-0.1.0.zip`, the standard library. Unpack it anywhere: it holds `sysml.library/` + (the library's models, for the SysML Toolkit) and `sysml.library.full.json` (the same library as + JSON, for payloads). + +Compile and run against the jar. On JDK 21 the foreign function API is a preview, so add +`--enable-preview` (and `--release 21` to `javac`); from JDK 22 on, leave both out. +`--enable-native-access=ALL-UNNAMED` silences the JDK's warning about native access. + +```sh +javac --enable-preview --release 21 -cp sysml-sdk-0.1.0.jar ReadModel.java +java --enable-preview --enable-native-access=ALL-UNNAMED -cp sysml-sdk-0.1.0.jar:. ReadModel # ; instead of : on Windows +``` + +## Read a model through the SysML Toolkit + +Copy this, and put in your file names: + + +```java +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import org.openmbee.sysml.*; +import org.openmbee.sysml.classes.*; + +public class ReadModel { + public static void main(String[] args) throws Exception { + try (ToolkitBackend toolkit = ToolkitBackend.open(ToolkitBackend.library(), // the jar's binding library, or SYSMLV2_ABI's + List.of("model.sysml"), // your model: one or more .sysml / .kerml files + null, // or in-memory sources: a Map from file name to text + "sysml.library")) { // the standard library, from sysml_library-0.1.0.zip + Model model = new Model(toolkit); + + // ... your code here ... + } + } +} +``` + +- `ToolkitBackend.open(List.of("a.sysml", "b.sysml"))` opens files without the standard library, + `ToolkitBackend.openSources(Map.of("model.sysml", text))` text you hold in memory. +- To use another build of the binding library, point the environment variable `SYSMLV2_ABI` at + it, or name it in code: `new ToolkitBackend.Library(Path.of(...))` in place of + `ToolkitBackend.library()`. +- Without the standard library the model loads faster, but its references into it + (`ScalarValues::Real`, `ISQ::mass`, and the implicit ones such as `Parts::parts`) do not resolve, + and reading one throws `UnresolvedReferenceException`. + +## Read a model from a JSON export + +A payload is the full-form interchange JSON of a model: one array of elements, each an object with +its `@id`, its `@type` and its properties. The SysML Toolkit writes one with +`sysmlv2 convert model.sysml --to full-json --lib sysml.library > model.json`, and so can other SysML +v2 tools. Its references into the standard library resolve against the library JSON: + + +```java +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import org.openmbee.sysml.*; +import org.openmbee.sysml.classes.*; + +public class ReadExport { + public static void main(String[] args) throws Exception { + PayloadLibrary library = PayloadLibrary.fromJson(Files.readString(Path.of("sysml.library.full.json"))); // read once, share it + Model model = Model.fromFullJson(Files.readString(Path.of("model.json")), library); // your export + + // ... your code here ... + } +} +``` + +A payload answers with what its writer wrote and nothing else. Operations need the SysML Toolkit: +on a payload they throw `NotImplementedInToolkitException`. + +`org.openmbee.sysml.classes` has a `Class` and a `Package`, as `java.lang` does: to use +the metaclasses, import them by name (`import org.openmbee.sysml.classes.Package;`), +which takes precedence over `java.lang`. + +## Find and read elements + +The snippets below go where `// ... your code here ...` is, with either backend. They read the +example model [`examples/vehicle.sysml`](../vehicle.sysml); put in your own qualified names. + + +```java +// An element by its qualified name (null when there is none), cast to its metaclass. +PartDefinition vehicle = (PartDefinition) model.resolve("Vehicles::Vehicle"); +System.out.println(vehicle.getQualifiedName() + " is a " + vehicle.$metaclass()); // Vehicles::Vehicle is a PartDefinition + +// The top-level packages. +for (Element root : model.roots()) { + for (Element member : ((Namespace) root).getOwnedMember()) System.out.println("top level: " + member.getQualifiedName()); +} + +// Every element of a metaclass, its subclasses included. +for (PartUsage part : model.elementsOfType(PartUsage.class)) { + System.out.println("part: " + part.getQualifiedName() + " " + part.$metaclass()); +} + +// Properties keep their specification names behind get. A list property is a List, a single one +// an element, a String, a Boolean, a Long, a Double or null. +System.out.println(vehicle.getDeclaredName() + " " + vehicle.getIsAbstract() + + " " + vehicle.getDocumentation().stream().map(doc -> doc.getBody().trim()).toList()); +for (Feature feature : vehicle.getOwnedFeature()) { + System.out.println(" feature: " + feature.getDeclaredName() + " " + feature.$metaclass()); +} + +// The interfaces form the specification's generalization hierarchy. +System.out.println((vehicle instanceof Definition) + " " + (vehicle instanceof Type) + " " + (model.resolve("Vehicles::myCar") instanceof Usage)); +``` + +## When the SysML Toolkit does not answer + +The SysML Toolkit answers a property only where it can derive it completely. Where it cannot yet, +reading the property throws `NotImplementedInToolkitException` with the SysML Toolkit's reason, +instead of returning a value that might be wrong; nothing is silently empty. Catch it where your +code can go on. + +The relationships a derived property is computed from are part of the model, and the SysML Toolkit +answers them: a feature's types are the `getType()` of its `getOwnedTyping()` relationships, a +definition's supertypes the `getSuperclassifier()` of its `getOwnedSubclassification()`s, what a +feature subsets the `getSubsettedFeature()` of its `getOwnedSubsetting()`s. + + +```java +PartUsage wheels = (PartUsage) model.resolve("Vehicles::Vehicle::wheels"); +List types; +try { + types = wheels.getType(); // derived: the SysML Toolkit may refuse it +} catch (NotImplementedInToolkitException refusal) { + System.out.println("not answered: " + refusal.getMessage()); + types = wheels.getOwnedTyping().stream().map(FeatureTyping::getType).toList(); // what the model states +} +System.out.println("wheels: " + types.stream().map(Type::getQualifiedName).toList()); // [Vehicles::Wheel] + +PartDefinition sports = (PartDefinition) model.resolve("Vehicles::SportsCar"); +System.out.println("SportsCar specializes " + + sports.getOwnedSubclassification().stream().map(s -> s.getSuperclassifier().getQualifiedName()).toList()); +try { + System.out.println("SportsCar inherits " + sports.getInheritedFeature().stream() + .filter(f -> !Boolean.TRUE.equals(f.getIsLibraryElement())).map(Feature::getDeclaredName).toList()); +} catch (NotImplementedInToolkitException refusal) { + System.out.println("not answered: " + refusal.getMessage()); +} +``` + +A reference that does not resolve throws `UnresolvedReferenceException`, and an element that is no +longer there `GoneException`. All three derive from `SdkException`, an unchecked exception. + +## Operations + +The specification's operations are methods under their own names, with the specification's +parameter and result types. The SysML Toolkit has a body for a part of them (`effectiveName()`, +`resolve`, `resolveGlobal`, `resolveLocal`, `visibleMemberships`, `supertypes`, `evaluate`, ...), +and answers a call only where its evidence for your model is complete; otherwise, and for the +operations it has no body for (`isCompatibleWith`, `specializes`, `allSupertypes`, ...), the call +raises `NotImplementedInToolkitException`, as a property read does. Whether `resolve` is answered, +for example, depends on the names in your model: catch the refusal where your code can go on. + + +```java +System.out.println(vehicle.effectiveName()); // Vehicle +Membership membership = ((Namespace) model.resolve("Vehicles")).resolve("Vehicle"); // Namespace::resolve +System.out.println(membership.$metaclass() + " " + membership.getMemberElement().getQualifiedName()); +``` + +## Write a model out as JSON + +The SysML Toolkit writes the model as full-form interchange JSON, with the inherited and imported +members filled in (`fullJson(false)` writes each element's own side only, as the command-line +tool does): + + +```java +Files.writeString(Path.of("model.full.json"), toolkit.fullJson()); +``` + +## Next + +- [Tutorial.java](Tutorial.java), a runnable walk through the example model with both backends; its + header has the commands. +- [../queries/](../queries/README.md): parametric queries over whole models (reachable states, + bills of materials, connectivity, requirements), the same in every language. +- The names of every class and member are the specification's; see + [Names](../../README.md#names) for the rules. +- [skills/sysml-sdk-java](../../skills/sysml-sdk-java/SKILL.md) teaches a coding agent the + same. diff --git a/examples/java/Tutorial.java b/examples/java/Tutorial.java new file mode 100644 index 0000000..62cb13e --- /dev/null +++ b/examples/java/Tutorial.java @@ -0,0 +1,113 @@ +// SysML v2 SDK, Java: a first walk through a model. +// +// Compile and run from the repository root (JDK 21 or newer, no build tool needed): +// +// javac --enable-preview --release 21 -d java/out $(find java/src -name '*.java') +// javac --enable-preview --release 21 -cp java/out -d examples/java/out examples/java/Tutorial.java +// java --enable-preview -cp java/out:examples/java/out Tutorial (; instead of : on Windows) +// java --enable-preview -cp java/out:examples/java/out Tutorial --toolkit reads vehicle.sysml through the SysML Toolkit +// +// Without --toolkit this reads examples/vehicle.full.json, a full-form interchange payload, whose +// references into the standard library resolve against the library as JSON, published with each +// SDK release. In this repository both are generated by +// `python tools/export_example.py --library `. With --toolkit, the SysML Toolkit +// answers directly through the binding library (build abi/ first). The preview flags are for +// JDK 21; on JDK 22 or newer the foreign function API is final and they go away. +// +// Everything is named as in the OMG specification. Properties are read through getters, `get` + +// the specification name: getOwnedMember(), getQualifiedName(), getIsAbstract(). Operations keep +// their specification names: effectiveName(), specializes(...). The generated interfaces form the +// real metaclass hierarchy, so instanceof works. + +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import org.openmbee.sysml.Element; +import org.openmbee.sysml.ToolkitBackend; +import org.openmbee.sysml.Model; +import org.openmbee.sysml.NotImplementedInToolkitException; +import org.openmbee.sysml.PayloadLibrary; +import org.openmbee.sysml.classes.Definition; +import org.openmbee.sysml.classes.Documentation; +import org.openmbee.sysml.classes.Feature; +import org.openmbee.sysml.classes.Namespace; +import org.openmbee.sysml.classes.PartDefinition; +import org.openmbee.sysml.classes.PartUsage; +import org.openmbee.sysml.classes.Type; + +public class Tutorial { + public static void main(String[] args) throws Exception { + boolean toolkit = args.length > 0 && args[0].equals("--toolkit"); + Model model = toolkit + ? new Model(ToolkitBackend.open(List.of(Path.of("examples", "vehicle.sysml").toString()))) + : Model.fromFullJson(Files.readString(Path.of("examples", "vehicle.full.json")), + PayloadLibrary.fromJson(Files.readString(Path.of("examples", "sysml.library.full.json")))); + + // 1. Find an element by its qualified name, and confirm what it is. + PartDefinition vehicle = (PartDefinition) model.resolve("Vehicles::Vehicle"); + System.out.println(vehicle.getQualifiedName() + " is a " + vehicle.$metaclass()); + + // 2. The generated interfaces are the metaclass hierarchy. + Namespace vehicles = (Namespace) model.resolve("Vehicles"); + StringBuilder defs = new StringBuilder(); + for (Element m : vehicles.getOwnedMember()) { + if (m instanceof Definition d) defs.append(defs.length() == 0 ? "" : ", ").append(d.getDeclaredName()); + } + System.out.println("definitions: " + defs); + + // 3. Walk a definition's features and their declared types. + System.out.println("\nfeatures of " + vehicle.getDeclaredName() + ":"); + for (Feature f : vehicle.getOwnedFeature()) { + String types; + try { + StringBuilder names = new StringBuilder(); + for (Type t : f.getType()) names.append(names.length() == 0 ? "" : ", ").append(t.getDeclaredName()); + types = names.length() == 0 ? "untyped" : names.toString(); + } catch (NotImplementedInToolkitException e) { // the SysML Toolkit cannot vouch for this value yet + types = "(" + e.getMessage() + ")"; + } + String name = f.getDeclaredName() == null ? "(unnamed)" : f.getDeclaredName(); + System.out.printf(" %-16s %-10s : %s%n", f.$metaclass(), name, types); + } + + // 4. Documentation is a member like any other. + for (Documentation doc : vehicle.getDocumentation()) System.out.println("\ndoc: " + doc.getBody().trim()); + + // 5. A usage and the definition it is typed by. + PartUsage myCar = (PartUsage) model.resolve("Vehicles::myCar"); + try { + List typedBy = myCar.getType(); + System.out.println("\n" + myCar.getQualifiedName() + " is typed by " + typedBy.get(0).getQualifiedName()); + } catch (NotImplementedInToolkitException e) { + System.out.println("\n" + myCar.getQualifiedName() + ": " + e.getMessage()); + } + + // 6. Inheritance. Through the SysML Toolkit, inherited features are computed. A payload + // holds what the exporting tool wrote: this file was exported at the closure level, so + // it has them too; an export by the SysML Toolkit's command-line tool would list the + // owned side only. With the standard library, every part also inherits the library's + // features (`self`, `start`, ...); getIsLibraryElement() tells them apart. + PartDefinition sports = (PartDefinition) model.resolve("Vehicles::SportsCar"); + String inherited; + try { + inherited = String.valueOf(sports.getInheritedFeature().stream() + .filter(f -> !Boolean.TRUE.equals(f.getIsLibraryElement())).count()); + } catch (NotImplementedInToolkitException e) { + inherited = "(" + e.getMessage() + ")"; + } + System.out.println("\n" + sports.getDeclaredName() + " owns " + sports.getOwnedFeature().size() + + " features; inherited: " + inherited); + + // 7. Honest refusal. Through the SysML Toolkit, a member it cannot vouch for yet says so + // instead of answering, as the reads above show where it does. Through a payload there + // is nobody to say so: the file holds what the exporting tool wrote. + try { + StringBuilder defs7 = new StringBuilder(); + for (Element d : myCar.getPartDefinition()) defs7.append(defs7.length() == 0 ? "" : ", ").append(d.getQualifiedName()); + System.out.println("\npartDefinition of myCar: " + defs7); + } catch (NotImplementedInToolkitException e) { + System.out.println("\nnot answered by the SysML Toolkit, and it says so: " + e.getMessage()); + } + } +} diff --git a/examples/python/README.md b/examples/python/README.md new file mode 100644 index 0000000..8281a15 --- /dev/null +++ b/examples/python/README.md @@ -0,0 +1,182 @@ +# Python + +Read SysML v2 and KerML models from Python. Every metaclass of the specification is a Python +class, and every property and operation keeps its specification name: `ownedFeature`, +`qualifiedName`, `effectiveName()`. + +A model is read through one of two backends, with the same classes over both: + +- **the OpenMBEE SysML Toolkit** reads your `.sysml` and `.kerml` files, resolves names and + computes derived properties; +- **a payload** is a model exported as full-form interchange JSON by any SysML v2 tool, read in + pure Python. + +## Install + +Python 3.10 or newer. Download the wheel for your platform from the release and install it: + +```sh +pip install sysml-0.1.0-py3-none-win_amd64.whl # or linux_x86_64, macosx_11_0_arm64, macosx_10_12_x86_64 +``` + +The wheel carries the binding library; nothing else is needed. The same release has +`sysml_library-0.1.0.zip`, the standard library. Unpack it anywhere: it holds `sysml.library/` +(the library's models, for the SysML Toolkit) and `sysml.library.full.json` (the same library as +JSON, for payloads). + +## Read a model through the SysML Toolkit + +Copy this, and put in your file names: + + +```python +from sysml import Model, NotImplementedInToolkit, UnresolvedReference +from sysml.classes import * + +model = Model.from_toolkit( + "model.sysml", # your model: one or more .sysml / .kerml files + library_dir="sysml.library", # the standard library, from sysml_library-0.1.0.zip +) + +# ... your code here ... +``` + +- A model in several files: pass them all, `Model.from_toolkit("a.sysml", "b.sysml")`. +- Text you already hold in memory: `Model.from_toolkit(sources={"model.sysml": text}, library_dir=...)`. +- Without `library_dir` the model loads faster, but its references into the standard library + (`ScalarValues::Real`, `ISQ::mass`, and the implicit ones such as `Parts::parts`) do not resolve, + and reading one raises `UnresolvedReference`. +- `SYSMLV2_ABI=` makes the SDK use another build of the binding + library than the wheel's. + +## Read a model from a JSON export + +A payload is the full-form interchange JSON of a model: one array of elements, each an object with +its `@id`, its `@type` and its properties. The SysML Toolkit writes one with +`sysmlv2 convert model.sysml --to full-json --lib sysml.library > model.json`, and so can other SysML +v2 tools. Its references into the standard library resolve against the library JSON: + + +```python +import json + +from sysml import Model, NotImplementedInToolkit, PayloadLibrary, UnresolvedReference +from sysml.classes import * + +with open("sysml.library.full.json", encoding="utf-8") as f: + library = PayloadLibrary(json.load(f)) # from sysml_library-0.1.0.zip; read once, share it +with open("model.json", encoding="utf-8") as f: + model = Model.from_full_json(json.load(f), library=library) # your export + +# ... your code here ... +``` + +A payload answers with what its writer wrote and nothing else. Operations need the SysML Toolkit: +on a payload they raise `NotImplementedInToolkit`. + +## Find and read elements + +The snippets below go where `# ... your code here ...` is, with either backend. They read the +example model [`examples/vehicle.sysml`](../vehicle.sysml); put in your own qualified names. + + +```python +# An element by its qualified name (None when there is none). +vehicle = model.resolve("Vehicles::Vehicle") +print(vehicle.qualifiedName, "is a", type(vehicle).__name__) # Vehicles::Vehicle is a PartDefinition + +# The top-level packages. +for root in model.roots: + for member in root.ownedMember: + print("top level:", member.qualifiedName) + +# Every element of a metaclass, its subclasses included (exact=True for that metaclass only). +for part in model.elements_of_type(PartUsage): + print("part:", part.qualifiedName or "(unnamed)", type(part).__name__) + +# Properties keep their specification names. A list property is a Python list, a single one an +# element, a str, a bool, a number or None. +print(vehicle.declaredName, vehicle.isAbstract, [doc.body.strip() for doc in vehicle.documentation]) +for feature in vehicle.ownedFeature: + print(" feature:", feature.declaredName, type(feature).__name__) + +# The classes form the specification's generalization hierarchy. +print(isinstance(vehicle, Definition), isinstance(vehicle, Type), isinstance(vehicle, Usage)) +``` + +## When the SysML Toolkit does not answer + +The SysML Toolkit answers a property only where it can derive it completely. Where it cannot +yet, reading the property raises `NotImplementedInToolkit` with the SysML Toolkit's reason, +instead of returning a value that might be wrong; nothing is silently empty. Catch it where your +code can go on. + +The relationships a derived property is computed from are part of the model, and the SysML Toolkit +answers them: a feature's types are the `type` of its `ownedTyping` relationships, a definition's +supertypes the `superclassifier` of its `ownedSubclassification`s, what a feature subsets the +`subsettedFeature` of its `ownedSubsetting`s. + + +```python +wheels = model.resolve("Vehicles::Vehicle::wheels") +try: + types = wheels.type # derived: the SysML Toolkit may refuse it +except NotImplementedInToolkit as refusal: + print("not answered:", refusal) + types = [typing.type for typing in wheels.ownedTyping] # what the model states +print("wheels:", [t.qualifiedName for t in types]) # ['Vehicles::Wheel'] + +sports = model.resolve("Vehicles::SportsCar") +print("SportsCar specializes", [s.superclassifier.qualifiedName for s in sports.ownedSubclassification]) +try: + print("SportsCar inherits", [f.declaredName for f in sports.inheritedFeature if not f.isLibraryElement]) +except NotImplementedInToolkit as refusal: + print("not answered:", refusal) +``` + +A reference that does not resolve raises `UnresolvedReference`, and an element that is no longer +there `Gone`. All three errors derive from `sysml.SdkError`. + +## Operations + +The specification's operations are methods under their own names, with the specification's +parameters. The SysML Toolkit has a body for a part of them (`effectiveName()`, `resolve`, +`resolveGlobal`, `resolveLocal`, `visibleMemberships`, `supertypes`, `evaluate`, ...), and answers +a call only where its evidence for your model is complete; otherwise, and for the operations it +has no body for (`isCompatibleWith`, `specializes`, `allSupertypes`, ...), the call raises +`NotImplementedInToolkit`, as a property read does. Whether `resolve` is answered, for example, +depends on the names in your model: catch the refusal where your code can go on. + + +```python +print(vehicle.effectiveName()) # Vehicle +membership = model.resolve("Vehicles").resolve("Vehicle") # Namespace::resolve: a Membership +print(type(membership).__name__, membership.memberElement.qualifiedName) +``` + +## Write a model out as JSON + +The SysML Toolkit writes the model as full-form interchange JSON, with the inherited and imported +members filled in (`closures=False` writes each element's own side only, as the command-line +tool does): + + +```python +from sysml.toolkit import ToolkitBackend + +backend = ToolkitBackend.open(["model.sysml"], library_dir="sysml.library") +with open("model.full.json", "w", encoding="utf-8") as f: + f.write(backend.full_json()) +exported = Model(backend) # the same session, as a model +``` + +## Next + +- [tutorial.py](tutorial.py), a runnable walk through the example model with both backends: + `python examples/python/tutorial.py` (SysML Toolkit) or `--payload`. +- [../queries/](../queries/README.md): parametric queries over whole models (reachable states, + bills of materials, connectivity, requirements), the same in every language. +- The names of every class and member are the specification's; see + [Names](../../README.md#names) for the rules. +- [skills/sysml-sdk-python](../../skills/sysml-sdk-python/SKILL.md) teaches a coding agent the + same. diff --git a/examples/python/tutorial.py b/examples/python/tutorial.py new file mode 100644 index 0000000..1e97095 --- /dev/null +++ b/examples/python/tutorial.py @@ -0,0 +1,111 @@ +"""SysML v2 SDK, Python: a first walk through a model. + +Run from the repository root: + + python examples/python/tutorial.py # reads examples/vehicle.sysml through the SysML Toolkit + python examples/python/tutorial.py --payload # reads examples/vehicle.full.json instead + +The SysML Toolkit path needs the binding library built (see abi/README.md). The payload path needs +nothing but Python and two JSON files: a full-form export of the model, from any SysML v2 tool, and +the standard library as JSON, published with each SDK release. In this repository both are +generated by `python tools/export_example.py --library `. + +Everything you can navigate is spelled exactly as in the OMG specification: `ownedMember`, +`ownedFeature`, `qualifiedName`, `type`, `multiplicity`. If a member is not implemented by the +SysML Toolkit yet, reading it raises `NotImplementedInToolkit` naming the member; nothing is +silently empty. +""" + +import json +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +sys.path.insert(0, str(ROOT / "python")) # not needed once the package is installed + +from sysml import Model, NotImplementedInToolkit, PayloadLibrary # noqa: E402 +from sysml.classes import Definition, PartDefinition, PartUsage, Usage # noqa: E402 + + +def load() -> Model: + if "--payload" in sys.argv: + # The model's references into the standard library resolve against the library JSON. + library = PayloadLibrary(json.loads((ROOT / "examples" / "sysml.library.full.json").read_text(encoding="utf-8"))) + payload = json.loads((ROOT / "examples" / "vehicle.full.json").read_text(encoding="utf-8")) + return Model.from_full_json(payload, library=library) + return Model.from_toolkit(str(ROOT / "examples" / "vehicle.sysml")) + + +def main() -> None: + model = load() + + # 1. Start at the top. A model has root namespaces; a package is what you wrote. + for root in model.roots: + for member in root.ownedMember: + print(f"package {member.declaredName}") + + # 2. Find an element by its qualified name, exactly as it would be spelled in a model. + vehicles = model.resolve("Vehicles") + vehicle = model.resolve("Vehicles::Vehicle") + print(f"\n{vehicle.qualifiedName} is a {type(vehicle).__name__}") + + # 3. The generated classes form the real metaclass hierarchy, so isinstance works. + definitions = [m for m in vehicles.ownedMember if isinstance(m, Definition)] + print("definitions:", ", ".join(d.declaredName for d in definitions)) + + # 4. Walk a definition's features. Each usage knows its declared type. + print(f"\nfeatures of {vehicle.declaredName}:") + for feature in vehicle.ownedFeature: + try: + types = ", ".join(t.declaredName for t in feature.type) or "untyped" + except NotImplementedInToolkit as e: # the SysML Toolkit cannot vouch for this value yet + types = f"({e})" + name = feature.declaredName or "(unnamed)" # a connector end has no name of its own + print(f" {type(feature).__name__:16s} {name:10s} : {types}") + + # 5. Documentation is a member like any other: Documentation elements with a body. + for doc in vehicle.documentation: + print(f"\ndoc: {doc.body.strip()}") + + # 6. Inheritance. Through the SysML Toolkit, inherited features are computed. A payload holds + # what the exporting tool wrote: this file was exported at the closure level, so it has them + # too; an export by the SysML Toolkit's command-line tool would list the owned side only. + # With the standard library, every part also inherits the library's features (`self`, + # `start`, ...); `isLibraryElement` tells them apart. + sports = model.resolve("Vehicles::SportsCar") + print(f"\n{sports.declaredName} owns: ", [f.declaredName for f in sports.ownedFeature]) + try: + print(f"{sports.declaredName} inherits: ", + [f.declaredName for f in sports.inheritedFeature if not f.isLibraryElement]) + except NotImplementedInToolkit as e: + print("inheritedFeature:", e) + + # 7. Operations from the specification, on the SysML Toolkit path. A property and an + # operation are separate members: `name` is a property, `effectiveName()` the operation + # that derives it. + try: + inherited = sports.inheritedMemberships([], [], False) + print(f"\n{sports.effectiveName()} inherits the memberships of", [m.memberName for m in inherited]) + except NotImplementedInToolkit as e: + print(f"\n(operations need the SysML Toolkit path) {e}") + + # 8. A usage, and the definition it is typed by. + my_car = model.resolve("Vehicles::myCar") + assert isinstance(my_car, PartUsage) + try: + print(f"\n{my_car.qualifiedName} is typed by {[t.qualifiedName for t in my_car.type]}") + except NotImplementedInToolkit as e: + print(f"\n{my_car.qualifiedName}: {e}") + + # 9. Honest refusal. Through the SysML Toolkit, a member it cannot vouch for yet says so + # instead of answering, as the reads above show where it does. Through a payload there is + # nobody to say so: the file holds what the exporting tool wrote. + print() + try: + print("partDefinition of myCar:", [d.qualifiedName for d in my_car.partDefinition]) + except NotImplementedInToolkit as e: + print("not answered by the SysML Toolkit, and it says so:", e) + + +if __name__ == "__main__": + main() diff --git a/examples/queries/README.md b/examples/queries/README.md new file mode 100644 index 0000000..6c57866 --- /dev/null +++ b/examples/queries/README.md @@ -0,0 +1,137 @@ +# Queries + +Parametric queries over SysML v2 models, written against the SDK in all five languages. Each +language has the same query functions and a demo program that prints the same report, byte for +byte: [expected/report.txt](expected/report.txt), and [expected/annex-a.txt](expected/annex-a.txt) +for the vehicle model of the SysML specification's Annex A. + +The tutorials in `examples/` show how to read one element. These show what it takes to answer a +question about a whole model: walking a state machine, a part tree, connections, and requirements, +and evaluating the model's own expressions along the way. + +## The models + +- [models/pumps.sysml](models/pumps.sysml): a pump controller whose behavior is a hierarchical + state machine: composite states with their own initial states (`first start then idle;`), + transitions that leave a composite state from any of its substates, guards over attributes, and a + state that nothing leads to. One guard reads a limit with a default value + (`maxTemperature default 80.0`), which a scenario may replace; a value bound with `=` could not + be. +- [models/drones.sysml](models/drones.sysml): a family of drones. `Multicopter` leaves open how many + rotors a drone has and how many cells its battery has (`rotors : Rotor[rotorCount]`, + `cells : Cell[cellCount]`); `Quadcopter`, `Hexacopter` and `CargoHexacopter` specialize it side by + side, each fixing both counts, and the cargo drone adds a payload bay. They are siblings because + none of them is a kind of another: a hexacopter with an eight-cell battery is not a hexacopter + whose battery has six. Around that: attribute values redefined along the part tree, connections + and flows between nested parts, and requirements with constraints, satisfied by two drones. + +`models/*.full.json` are the same models exported by the SysML Toolkit with the standard library +loaded, so every demo can run without the SysML Toolkit too: their references into the library +resolve against the library as JSON (`examples/sysml.library.full.json`). None of these files is +committed; generate them once with `python tools/export_example.py --library `. + +## The queries + +| Query | Question | Parameters | +|---|---|---| +| `explore` | Which states can the machine reach, and what is a shortest sequence of triggers to each? | which triggers can occur; values of the attributes its guards read | +| `bill_of_materials` | How many parts of each definition does a definition consist of, at every depth? | the root definition | +| `rollup` | What is the total of an attribute over the part tree? | the root, the attribute | +| `reachable_parts` | Which parts does a part reach through connections and flows? | the source part; optionally an item definition, to follow only flows of it | +| `check_satisfactions` | Does every satisfied requirement hold for the part that satisfies it? | how to compute the attributes the model leaves to computation (a total mass is a roll-up) | + +Guards, multiplicity bounds, attribute values and constraints are the model's own expressions, +evaluated by one small evaluator (`evaluate`) in three-valued logic: a value that the model does not +determine and the caller did not bind is unknown, and a guard that is unknown may hold. So +`selfTestPassed = false` makes the operating states unreachable, while leaving `selfTestPassed` +unbound keeps them reachable. On Annex A, "which states can the vehicle reach if the brake pedal is +never depressed?" is `explore(vehicleStates, bindings={"brakePedalDepressed": False})`: the guard +`ignitionCmd.ignitionOnOff == IgnitionOnOff::on and brakePedalDepressed` is false whatever the +ignition command says, so `starting` and `on` drop out. + +The queries use specification properties only: `nestedState`, `ownedFeature`, `entryAction`, +`triggerAction`, `guardExpression`, `usage`, `multiplicity`, `ownedSubsetting`, `ownedRedefinition`, +`sourceFeature`, `targetFeature`, `featureMembership`, and the like. Three rules show up everywhere: + +- **A value holds in a context.** A feature's value is the one given by the feature that stands for + it in the element at hand: among the element's features, owned or inherited, the one that is the + feature or redefines it (`feature_in`). That is how `Hexacopter` gets six rotors from a + multiplicity declared in `Multicopter`, and how the cargo drone's battery, with eight cells, weighs + more than the others. +- **A usage without a multiplicity takes the one it subsets.** `multiplicity_of` follows SysML's + rule: a usage's own multiplicity; else that of the usages it subsets or redefines explicitly + (`part :>> battery` has the multiplicity of `Multicopter::battery`); else `[1..1]` for an + attribute, item, part or port usage owned by a definition or usage; else nothing constrains it. + Implied subsettings, such as every part's subsetting of the library's `parts`, do not count. +- **Library features are not model features.** With the standard library loaded, `usage` also lists + what every part inherits from the library (`self`, `start`, `subparts`, ...); `isLibraryElement` + tells them apart. + +A state's initial states are the targets of the successions it owns (`first start then off;`), as +SysML writes them. `explore` also follows the older form that Annex A uses: an entry action with a +transition from it (`entry action initial; transition initial then off;`). + +### What the queries simplify, on purpose + +- A bound value holds for a whole exploration. Guard inputs such as a temperature vary over time in + SysML; binding one asks "what if it always had this value", and leaving it unbound lets every + guard over it go either way, independently of the others. +- The regions of a parallel state are explored independently of each other. +- A state that no transition or initial succession leads to is unreachable. That is the + conventional reading; the library's semantics do not state it formally. +- A requirement is checked by its required constraints. Its assumptions (`assume constraint`) and + its nested requirements are not considered. +- Connections and flows are followed where the model declares them; reaching a part means it may be + reached, at the level of the usages, not that every instance is. +- The totals the requirements read (`totalMass`, `totalCost`) are declared in the model without a + value; `check_satisfactions` computes them by roll-up and hands them to the constraint, so a + violation is the query's conclusion. A model could define the totals itself, with an expression + over the subparts; then a satisfied requirement that fails makes the model inconsistent rather + than reporting a violation, and the evaluator would need collection operations such as `sum`. + +## Running + +From the repository root. Each program takes `--payload` to read the JSON exports, with the library +JSON, instead of the SysML Toolkit; `--library DIR` to load the standard library with the models; +and `--annex-a FILE --library DIR` to report on the Annex A vehicle instead (the model and the +library are in the SysML v2 release repository). + +| Language | Build | Run | +|---|---|---| +| Python | | `python examples/queries/python/demo.py` | +| JavaScript | | `node examples/queries/typescript/demo.mjs` | +| Java | `javac --enable-preview --release 21 -cp java/out -d examples/queries/java/out examples/queries/java/*.java` (after compiling the SDK into `java/out`) | `java --enable-preview -cp java/out:examples/queries/java/out QueriesDemo` (`;` on Windows) | +| C# | | `dotnet run --project examples/queries/csharp` (arguments after `--`) | +| C++ | `g++ -std=c++17 -I cpp/include -I vendor examples/queries/cpp/demo.cpp -o queries_demo` (`-ldl` on Linux, `-static` with MinGW) | `./queries_demo` | + +Compare with the expected report: +`python examples/queries/python/demo.py | diff --strip-trailing-cr - examples/queries/expected/report.txt`. +The Python tests (`python/tests/test_queries.py`) check the answers, worked out by hand from the +models, and the report. + +In JavaScript the SysML Toolkit runs in the WebAssembly build, which reads no files itself: the +demo's `--library` passes `libraryDir`, which reads the library's files in Node; a browser passes +them as `librarySources`. + +## What the models work around + +The SysML Toolkit does not yet pass unnamed members on to specializations, so the requirement +definitions name their constraints (`require constraint massBound { ... }`): the requirement usages +reach them by inheritance, through `featureMembership`. The derived `requiredConstraint` holds a +requirement's owned constraints only, as the specification defines it. + +By the specification, a connection's own ends redefine the ends of the library's association, so +`connectorEnd` lists the connection's own ends. With the library loaded, the SysML Toolkit lists the +library's ends too; `links` reads `sourceFeature` and `targetFeature` instead, which are right +either way. + +## With and without the standard library + +The models resolve completely only with the standard library: `first start then off;` names the +library's `start` of a state (`States::StateAction::start`), and the models type their attributes +with `ScalarValues`. The JSON exports are made with the library loaded and read with the library +JSON, so there those references resolve. Without `--library`, the runs through the SysML Toolkit +load no library, and the references stay unresolved. The queries do not depend on them: +`initial_states` reads only the target of a succession, and attribute values are read from their expressions, so +every run gives the same report. Units are left out: quantities from the library's `ISQ` +(`mass = 0.045 [kg]`) would need unit arithmetic in the evaluator. diff --git a/examples/queries/cpp/demo.cpp b/examples/queries/cpp/demo.cpp new file mode 100644 index 0000000..3cc2baa --- /dev/null +++ b/examples/queries/cpp/demo.cpp @@ -0,0 +1,239 @@ +// Parametric queries over two example models, and optionally over the vehicle model of SysML +// Annex A, printed as a report. The program in every language prints the same report, which is +// kept in examples/queries/expected/. +// +// Build and run from the repository root (header-only, C++17): +// +// g++ -std=c++17 -I cpp/include -I vendor examples/queries/cpp/demo.cpp -o queries_demo +// ./queries_demo reads the models through the SysML Toolkit +// ./queries_demo --payload reads their JSON exports instead, with the standard +// library as JSON +// ./queries_demo --library DIR loads the standard library with them +// ./queries_demo --annex-a FILE --library DIR +// reports on the Annex A vehicle instead +// +// (On Windows with MinGW add -static; on Linux add -ldl.) The JSON exports and the library JSON +// are generated, not committed: python tools/export_example.py. The queries themselves are in +// queries.hpp; this file loads the models and asks the questions. + +#include +#include +#include +#include + +#include + +#include "queries.hpp" + +using namespace sysml; +namespace q = queries; + +static const std::string MODELS = "examples/queries/models/"; + +static std::string read_file(const std::string& path) { + std::ifstream in(path, std::ios::binary); + if (!in) throw std::runtime_error("cannot open " + path + " (run from the repository root)"); + std::stringstream ss; + ss << in.rdbuf(); + return ss.str(); +} + +/// The standard library as JSON, read once and shared by every payload model. +static std::shared_ptr payload_library() { + static std::shared_ptr library = + PayloadLibrary::parse(read_file("examples/sysml.library.full.json")); + return library; +} + +/// A model from examples/queries/models: `name`.sysml through the SysML Toolkit, or +/// `name`.full.json with the library JSON. +static Model load(const std::string& name, bool payload, const std::string& library) { + if (payload) return Model::from_full_json(read_file(MODELS + name + ".full.json"), payload_library()); + return Model::from_backend(ToolkitBackend::open({}, {{name + ".sysml", read_file(MODELS + name + ".sysml")}}, library)); +} + +static void heading(const std::string& title) { std::cout << "== " << title << " ==\n"; } + +/// Run one report. Where the SysML Toolkit cannot vouch for a value yet it refuses the read +/// (not_implemented_in_toolkit); the report stops there, says so, and the next one runs. +static void section(const std::function& report) { + try { + report(); + } catch (const not_implemented_in_toolkit& e) { + std::cout << " report stopped: " << e.what() << "\n"; + } +} + +using Bindings = std::vector>; + +/// A scenario: its title, the triggers that can occur (nullopt for all), and the values bound. +struct Scenario { + std::string title; + std::optional> triggers; + Bindings bindings; +}; + +static std::map as_map(const Bindings& bindings) { return {bindings.begin(), bindings.end()}; } + +/// A scenario in words: the triggers that can occur and the values bound. +static std::string describe(const Scenario& scenario) { + std::vector parts; + if (scenario.triggers) parts.push_back("only " + q::join(*scenario.triggers, ", ")); + if (!scenario.bindings.empty()) { + std::vector values; + for (const auto& [name, value] : scenario.bindings) values.push_back(name + " = " + q::fmt(value)); + parts.push_back(q::join(values, ", ")); + } + return parts.empty() ? "nothing bound, every trigger" : q::join(parts, "; "); +} + +// ---------------------------------------------------------------- the reports + +/// Reachable states of `machine` under each scenario, then the shortest trigger sequences under the +/// scenario `paths_for`. +static void report_states(const StateUsage& machine, const std::vector& scenarios, const Scenario& paths_for) { + heading("Reachable states: " + machine.getQualifiedName().value_or("")); + std::vector states = q::states_of(machine); + std::vector transitions = q::transitions_of(machine); + std::cout << states.size() << " states, " << transitions.size() << " transitions:\n"; + std::vector with_machine{machine}; + with_machine.insert(with_machine.end(), states.begin(), states.end()); + for (const StateUsage& state : with_machine) + for (const StateUsage& initial : q::initial_states(state)) + std::cout << " " << q::describe_initial(state, initial, machine) << "\n"; + for (const TransitionUsage& transition : transitions) std::cout << " " << q::describe_transition(transition, machine) << "\n"; + for (const Scenario& scenario : scenarios) { + q::Paths reached = q::explore(machine, scenario.triggers, as_map(scenario.bindings)); + std::cout << scenario.title << ": " << describe(scenario) << "\n"; + std::vector reachable, unreachable; + for (const StateUsage& state : states) + (reached.count(state.element_id()) ? reachable : unreachable).push_back(q::path_below(state, machine)); + std::cout << " reachable (" << reachable.size() << "): " << q::join(reachable, ", ") << "\n"; + std::cout << " unreachable (" << unreachable.size() << "): " << (unreachable.empty() ? "-" : q::join(unreachable, ", ")) << "\n"; + } + q::Paths reached = q::explore(machine, paths_for.triggers, as_map(paths_for.bindings)); + std::cout << "shortest trigger sequences (" << describe(paths_for) << "):\n"; + std::size_t width = 0; + for (const StateUsage& state : states) width = std::max(width, q::path_below(state, machine).size()); + for (const StateUsage& state : states) { + auto path = reached.find(state.element_id()); + std::string text = path == reached.end() ? "unreachable" : path->second.empty() ? "(no trigger)" : q::join(path->second, ", "); + std::string name = q::path_below(state, machine); + std::cout << " " << name << std::string(width - name.size(), ' ') << " " << text << "\n"; + } +} + +static void report_structure(const std::vector& roots, const std::vector& attributes) { + heading("Structure: bills of materials and roll-ups"); + for (const Type& root : roots) { + std::cout << root.getQualifiedName().value_or("") << "\n"; + std::vector parts, totals; + for (const auto& [name, count] : q::bill_of_materials(root)) parts.push_back(name + " " + std::to_string(count)); + std::cout << " parts: " << q::join(parts, ", ") << "\n"; + for (const Feature& attribute : attributes) totals.push_back(q::name_of(attribute) + " " + q::fmt(q::rollup(root, attribute))); + std::cout << " " << q::join(totals, ", ") << "\n"; + } +} + +static void report_connectivity(const Type& root, const std::vector>>& questions) { + heading("Connectivity: " + root.getQualifiedName().value_or("")); + for (const q::Link& link : q::links(root)) std::cout << " " << link.describe() << "\n"; + for (const auto& [source, item] : questions) { + std::string via = item ? ", through " + *item + " flows only" : ""; + std::vector reached = q::reachable_parts(root, source, item); + std::cout << "from " << source << via << ": " << (reached.empty() ? "-" : q::join(reached, ", ")) << "\n"; + } +} + +static void report_requirements(const Model& model, const std::map>& derived) { + heading("Requirements"); + for (const q::Verdict& v : q::check_satisfactions(model, derived)) { + std::optional definition = v.requirement.getRequirementDefinition(); + std::string kind = definition ? " : " + q::name_of(*definition) : ""; + std::string verb = v.negated ? "not satisfied" : "satisfied"; + Expression expr = q::result_expression(v.constraint).value(); + std::string op = expr.is_a() ? expr.as().getOperator().value_or("") : ""; + std::vector values; + for (const q::Value& operand : v.operands) values.push_back(q::fmt(operand)); + std::string by = v.satisfied_by ? q::name_of(*v.satisfied_by) : "(nothing)"; + std::cout << q::name_of(v.requirement) << kind << ", " << verb << " by " << by << "\n"; + std::cout << " " << q::name_of(v.constraint) << ": " << q::render(expr) << " [" << q::join(values, " " + op + " ") + << "] " << v.outcome() << "\n"; + } +} + +// ---------------------------------------------------------------- the questions + +static void examples(bool payload, const std::string& library) { + const Bindings temperate{{"selfTestPassed", true}, {"temperature", 25.0}}; + Bindings hot_limit = temperate; + hot_limit.emplace_back("maxTemperature", 20.0); + Model pumps = load("pumps", payload, library); + section([&] { + report_states(pumps.resolve("Pumps::PumpController::modes").value().as(), + { + {"A", std::nullopt, {}}, + {"B", std::nullopt, temperate}, + {"C", std::nullopt, {{"selfTestPassed", false}}}, + {"D", std::nullopt, {{"selfTestPassed", true}, {"temperature", 95.0}}}, + {"E", std::nullopt, hot_limit}, + {"F", std::vector{"PowerOn", "SelfTestDone", "Start"}, temperate}, + }, + {"", std::nullopt, temperate}); + }); + std::cout << "\n"; + + Model drones = load("drones", payload, library); + Feature mass = drones.resolve("Drones::Component::mass").value().as(); + Feature cost = drones.resolve("Drones::Component::cost").value().as(); + std::vector roots; + for (const char* name : {"Quadcopter", "Hexacopter", "CargoHexacopter"}) + roots.push_back(drones.resolve(std::string("Drones::") + name).value().as()); + section([&] { report_structure(roots, {mass, cost}); }); + std::cout << "\n"; + section([&] { + report_connectivity(drones.resolve("Drones::Quadcopter").value().as(), + {{"battery", std::nullopt}, {"battery", "Power"}, {"controller", std::nullopt}, + {"controller", "Command"}, {"rotors.propeller", std::nullopt}}); + }); + std::cout << "\n"; + section([&] { + report_requirements(drones, { + {"totalMass", [&](const Type& part) { return q::Value(q::rollup(part, mass)); }}, + {"totalCost", [&](const Type& part) { return q::Value(q::rollup(part, cost)); }}, + }); + }); +} + +static void annex_a(const std::string& path, const std::string& library) { + const std::string name = path.substr(path.find_last_of("/\\") + 1); + Model vehicle = Model::from_backend(ToolkitBackend::open({}, {{name, read_file(path)}}, library)); + auto machine = vehicle.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates").value().as(); + section([&] { + std::vector keys; + for (const TransitionUsage& transition : q::transitions_of(machine)) { + std::optional trigger = q::trigger_of(transition); + if (trigger && trigger->key != "at" && std::find(keys.begin(), keys.end(), trigger->key) == keys.end()) + keys.push_back(trigger->key); + } + report_states(machine, + { + {"A", std::nullopt, {}}, + {"B", std::nullopt, {{"brakePedalDepressed", false}}}, + {"C", keys, {}}, + }, + {"", std::nullopt, {}}); + }); +} + +int main(int argc, char** argv) { + std::vector args(argv + 1, argv + argc); + auto option = [&](const std::string& name) { + auto it = std::find(args.begin(), args.end(), name); + return it != args.end() && it + 1 != args.end() ? *(it + 1) : std::string(); + }; + const std::string library = option("--library"), annex = option("--annex-a"); + if (!annex.empty()) annex_a(annex, library); + else examples(std::find(args.begin(), args.end(), "--payload") != args.end(), library); + return 0; +} diff --git a/examples/queries/cpp/queries.hpp b/examples/queries/cpp/queries.hpp new file mode 100644 index 0000000..1bb7bb1 --- /dev/null +++ b/examples/queries/cpp/queries.hpp @@ -0,0 +1,821 @@ +// Parametric queries over SysML v2 models, written against the SDK. +// +// Four families of queries, each a function of model elements and parameters: +// +// - state machines: which states a machine can reach, and the shortest sequence of triggers to +// each, given which triggers can occur and what is known of the values its guards read; +// - structure: a bill of materials and the roll-up of an attribute over the part tree, with +// multiplicities evaluated in context, redefined values, and inherited parts; +// - connectivity: the parts a source part reaches through connections and flows, optionally +// through flows of one item definition only; +// - requirements: whether the constraints of each satisfied requirement hold for the part that +// satisfies it. +// +// The queries read specification properties only (nestedState, usage, multiplicity, +// featureMembership, ...), so they run unchanged on either backend. Guards, multiplicity bounds, +// attribute values and constraints are the model's own expressions, evaluated by evaluate() in +// three-valued logic: a value that the model does not determine and the caller did not bind is +// unknown, and a guard that is unknown may hold. +// +// What the queries simplify, on purpose: +// +// - A bound value holds for a whole exploration. Guard inputs such as a temperature vary over time +// in SysML; binding one asks "what if it always had this value", and leaving it unbound lets every +// guard over it go either way, independently of the others. +// - The regions of a parallel state are explored independently of each other. +// - A state that no transition or initial succession leads to is unreachable. That is the +// conventional reading; the library's semantics do not state it formally. +// - A requirement is checked by its required constraints. Its assumptions (`assume constraint`) and +// its nested requirements are not considered. +// - Connections and flows are followed where the model declares them; reaching a part means it may +// be reached, at the level of the usages, not that every instance is. +// +// The same queries exist for every language of the SDK, function for function. Elements are +// values; the sets and maps here are keyed by element_id(), the identity elements compare by. +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace queries { + +using namespace sysml; + +/// The model does not give a query what it needs: a value, or an expression it can evaluate. +class QueryError : public std::runtime_error { +public: + using std::runtime_error::runtime_error; +}; + +// ---------------------------------------------------------------- names + +/// The element's name. A redefinition declared without a name has the name of the feature it +/// redefines: `attribute :>> mass` is named `mass`. +inline std::string name_of(const Element& element) { + std::optional name = element.getName(); + return name && !name->empty() ? *name : "(unnamed)"; +} + +/// The names of `element` and its owners up to `top` (not included), outermost first: +/// `operating::pumping::high` for a state two levels below the machine `top`. +inline std::string path_below(const Element& element, const Element& top) { + std::vector names; + for (std::optional e = element; e && *e != top; e = e->getOwner()) names.push_back(name_of(*e)); + std::string path; + for (auto it = names.rbegin(); it != names.rend(); ++it) path += (path.empty() ? "" : "::") + *it; + return path; +} + +inline std::string join(const std::vector& parts, const std::string& separator) { + std::string out; + for (std::size_t i = 0; i < parts.size(); ++i) out += (i ? separator : "") + parts[i]; + return out; +} + +// ---------------------------------------------------------------- features and their values + +/// The usages of a definition or usage, owned and inherited, without those the standard library +/// contributes (a part inherits `self`, `start`, `subparts`, ... from the library's `Part`). +inline std::vector model_usages(const Type& element) { + std::vector usages; + if (element.is_a()) usages = element.as().getUsage(); + else if (element.is_a()) usages = element.as().getUsage(); + std::vector out; + for (const Usage& u : usages) + if (u.getIsLibraryElement() != true) out.push_back(u); + return out; +} + +/// The parts of a definition or usage, owned and inherited. A connection is a part too in SysML; +/// it is not a component, so it is left out. +inline std::vector part_usages(const Type& element) { + std::vector parts; + for (const Usage& u : model_usages(element)) + if (u.is_a() && !u.is_a()) parts.push_back(u.as()); + return parts; +} + +/// Whether `feature` redefines `other`, directly or through a chain of redefinitions. +inline bool redefines(const Feature& feature, const Feature& other) { + std::unordered_set seen; + std::vector todo{feature}; + while (!todo.empty()) { + Feature current = todo.back(); + todo.pop_back(); + for (const Redefinition& redefinition : current.getOwnedRedefinition()) { + std::optional redefined = redefinition.getRedefinedFeature(); + if (redefined && *redefined == other) return true; + if (redefined && seen.insert(redefined->element_id()).second) todo.push_back(*redefined); + } + } + return false; +} + +/// The feature that stands for `feature` in `context`: among the context's features, owned or +/// inherited, the one that is `feature` or redefines it. A type inherits only the most specific +/// redefinition, so this is the one whose value holds in the context. +inline Feature feature_in(const Type& context, const Feature& feature) { + for (const Feature& candidate : context.getFeature()) + if (candidate == feature || redefines(candidate, feature)) return candidate; + return feature; +} + +/// Whether a feature is one of the values an enumeration definition enumerates (`on` in +/// `enum def IgnitionOnOff { on; off; }`). Those are owned through variant memberships, so they +/// have an owning namespace but no owning type. +inline bool is_enumeration_literal(const Element& feature) { + if (!feature.is_a()) return false; + std::optional owner = feature.as().getOwningNamespace(); + return owner && owner->is_a(); +} + +/// The expression a feature is bound to by its declaration (`= 0.045`), if any. +inline std::optional value_expression(const Feature& feature) { + for (const Membership& membership : feature.getOwnedMembership()) + if (membership.is_a()) return membership.as().getValue(); + return std::nullopt; +} + +// ---------------------------------------------------------------- expressions + +/// A value that neither the model nor the caller determines. +struct Unknown { + friend bool operator==(Unknown, Unknown) { return true; } + friend bool operator!=(Unknown, Unknown) { return false; } +}; + +/// A value of an expression: unknown, a Boolean, a number, a string, or an element. +using Value = std::variant; + +inline bool is_unknown(const Value& v) { return std::holds_alternative(v); } +inline bool is_number(const Value& v) { return std::holds_alternative(v); } +inline Value element_value(const Element& e) { return Value(std::in_place_type, e); } + +/// What an expression is evaluated against. +struct Scope { + /// The element whose features give values: a referenced feature has the value of the feature + /// that stands for it in the context (feature_in). + std::optional context; + /// Values by feature name, which take precedence over the model's own. + std::map bindings; + /// Attributes the caller computes, by name: a function of the element that has the attribute + /// (`vehicle.totalMass` is derived["totalMass"](vehicle)). + std::map> derived; + + Scope within(const Type& element) const { + Scope s = *this; + s.context = element; + return s; + } +}; + +inline std::string fmt(const Value& value); +inline Value evaluate(const Expression& expr, const Scope& scope); + +/// The value of a referenced feature: a binding of its name; an enumeration literal, which is its +/// own value; else the value the model gives the feature that stands for it in the scope's +/// context; else unknown. +inline Value value_of(const Feature& feature, const Scope& scope) { + // The second operand of `and`, `or` and `implies` is a reference to an expression, evaluated + // only when the operator needs it. + if (feature.is_a()) return evaluate(feature.as(), scope); + auto bound = scope.bindings.find(name_of(feature)); + if (bound != scope.bindings.end()) return bound->second; + if (is_enumeration_literal(feature)) return element_value(feature); + Feature standing = scope.context ? feature_in(*scope.context, feature) : feature; + std::optional expr = value_expression(standing); + return expr ? evaluate(*expr, scope) : Value(Unknown{}); +} + +/// `source.feature`: a derived attribute that the caller computes, else the value of the feature +/// in the context of `source`. +inline Value value_in(const Value& source, const Feature& feature, const Scope& scope) { + if (is_unknown(source)) return Unknown{}; + const Element* element = std::get_if(&source); + if (!element || !element->is_a()) throw QueryError(fmt(source) + " has no feature " + name_of(feature)); + Type context = element->as(); + auto derive = scope.derived.find(name_of(feature)); + if (derive != scope.derived.end()) return derive->second(context); + return value_of(feature, scope.within(context)); +} + +inline Value truth(const Value& value, const std::string& op) { + if (is_unknown(value) || std::holds_alternative(value)) return value; + throw QueryError("'" + op + "' needs a Boolean, not " + fmt(value)); +} + +inline double number(const Value& value, const std::string& op) { + if (const double* d = std::get_if(&value)) return *d; + throw QueryError("'" + op + "' needs a number, not " + fmt(value)); +} + +/// Equality within a kind of value: numbers by value, elements by identity. +inline bool same(const Value& a, const Value& b) { + if (a.index() != b.index()) return false; + if (auto x = std::get_if(&a)) return *x == std::get(b); + if (auto x = std::get_if(&a)) return *x == std::get(b); + if (auto x = std::get_if(&a)) return *x == std::get(b); + if (auto x = std::get_if(&a)) return *x == std::get(b); + return false; +} + +inline Value conditional(const std::string& op, const std::vector& args, const Scope& scope) { + Value left = truth(evaluate(args.at(0), scope), op); + const bool* l = std::get_if(&left); + if ((op == "and" && l && !*l) || (op == "or" && l && *l)) return left; + if (op == "implies" && l && !*l) return true; + Value right = truth(evaluate(args.at(1), scope), op); + const bool* r = std::get_if(&right); + const bool unknown = is_unknown(left) || is_unknown(right); + if (op == "and") return r && !*r ? Value(false) : unknown ? Value(Unknown{}) : Value(true); + return r && *r ? Value(true) : unknown ? Value(Unknown{}) : Value(false); // or, implies +} + +/// An operator over its argument expressions. `and`, `or` and `implies` evaluate their second +/// operand only when the first does not decide, as SysML's conditional operators do; all the +/// logical operators follow three-valued logic. Any other operator on an unknown is unknown. +inline Value apply_operator(const std::string& op, const std::vector& args, const Scope& scope) { + if (op == "and" || op == "or" || op == "implies") return conditional(op, args, scope); + std::vector values; + for (const Expression& arg : args) values.push_back(evaluate(arg, scope)); + if (op == "not" && values.size() == 1) { + Value v = truth(values[0], op); + return is_unknown(v) ? v : Value(!std::get(v)); + } + if (op == "xor" && values.size() == 2) { + Value a = truth(values[0], op), b = truth(values[1], op); + return is_unknown(a) || is_unknown(b) ? Value(Unknown{}) : Value(std::get(a) != std::get(b)); + } + for (const Value& v : values) + if (is_unknown(v)) return Unknown{}; + if ((op == "==" || op == "!=") && values.size() == 2) { + const bool equal = same(values[0], values[1]); + return op == "==" ? equal : !equal; + } + std::vector numbers; + for (const Value& v : values) numbers.push_back(number(v, op)); + if (numbers.size() == 1 && (op == "-" || op == "+")) return op == "-" ? -numbers[0] : numbers[0]; + if (numbers.size() == 2) { + const double a = numbers[0], b = numbers[1]; + if (op == "<") return a < b; + if (op == "<=") return a <= b; + if (op == ">") return a > b; + if (op == ">=") return a >= b; + if (op == "+") return a + b; + if (op == "-") return a - b; + if (op == "*") return a * b; + if (op == "/") return a / b; + } + throw QueryError("operator '" + op + "' on " + std::to_string(args.size()) + " operand(s) is not supported"); +} + +/// The value of `expr`: a number, a Boolean, a string, an element, or unknown. +inline Value evaluate(const Expression& expr, const Scope& scope) { + if (expr.is_a()) return static_cast(expr.as().getValue().value()); + if (expr.is_a()) return expr.as().getValue().value(); + if (expr.is_a()) return expr.as().getValue().value(); + if (expr.is_a()) return Value(std::in_place_type, expr.as().getValue().value()); + if (expr.is_a()) return std::numeric_limits::infinity(); + if (expr.is_a()) { // before OperatorExpression, which it specializes + auto chain = expr.as(); + return value_in(evaluate(chain.getArgument().at(0), scope), chain.getTargetFeature().value(), scope); + } + if (expr.is_a()) + return value_of(expr.as().getReferent().value(), scope); + if (expr.is_a()) { + auto operation = expr.as(); + return apply_operator(operation.getOperator().value_or(""), operation.getArgument(), scope); + } + throw QueryError("cannot evaluate a " + expr.metaclass_name()); +} + +/// A value for a report: numbers with at most three decimals, elements by name. +inline std::string fmt(const Value& value) { + if (is_unknown(value)) return "unknown"; + if (auto b = std::get_if(&value)) return *b ? "true" : "false"; + if (auto d = std::get_if(&value)) { + if (std::isinf(*d)) return "*"; + char buffer[64]; + std::snprintf(buffer, sizeof buffer, "%.3f", *d); + std::string text = buffer; + text.erase(text.find_last_not_of('0') + 1); + if (!text.empty() && text.back() == '.') text.pop_back(); + return text == "-0" ? "0" : text; + } + if (auto s = std::get_if(&value)) return "\"" + *s + "\""; + return name_of(std::get(value)); +} + +inline std::string render(const Expression& expr); + +inline std::string operand(Expression expr) { + if (expr.is_a()) { + std::optional referent = expr.as().getReferent(); + if (referent && referent->is_a()) expr = referent->as(); + } + std::string text = render(expr); + const bool nested = expr.is_a() && !expr.is_a(); + return nested ? "(" + text + ")" : text; +} + +/// An expression in SysML notation, with every nested operation in parentheses. +inline std::string render(const Expression& expr) { + if (expr.is_a()) return fmt(static_cast(expr.as().getValue().value())); + if (expr.is_a()) return fmt(expr.as().getValue().value()); + if (expr.is_a()) return expr.as().getValue().value() ? "true" : "false"; + if (expr.is_a()) return "\"" + expr.as().getValue().value() + "\""; + if (expr.is_a()) return "*"; + if (expr.is_a()) { + auto chain = expr.as(); + return render(chain.getArgument().at(0)) + "." + name_of(chain.getTargetFeature().value()); + } + if (expr.is_a()) { + Feature referent = expr.as().getReferent().value(); + if (referent.is_a()) return render(referent.as()); + if (is_enumeration_literal(referent)) return name_of(referent.getOwningNamespace().value()) + "::" + name_of(referent); + return name_of(referent); + } + if (expr.is_a()) { + auto trigger = expr.as(); + return trigger.getKind().value_or("") + " " + render(trigger.getArgument().at(0)); + } + if (expr.is_a()) { + auto operation = expr.as(); + std::vector operands; + for (const Expression& arg : operation.getArgument()) operands.push_back(operand(arg)); + const std::string op = operation.getOperator().value_or(""); + if (operands.size() == 1) { + const bool word = std::all_of(op.begin(), op.end(), [](unsigned char c) { return std::isalpha(c) != 0; }); + return word ? op + " " + operands[0] : op + operands[0]; + } + return join(operands, " " + op + " "); + } + return "<" + expr.metaclass_name() + ">"; +} + +// ---------------------------------------------------------------- state machines + +/// Every state nested in `machine` at any depth, in the order the model declares them, each state +/// before its substates. +inline std::vector states_of(const StateUsage& machine) { + std::vector states; + for (const StateUsage& state : machine.getNestedState()) { + states.push_back(state); + for (const StateUsage& nested : states_of(state)) states.push_back(nested); + } + return states; +} + +/// Every transition declared in `machine` or in a state nested in it. +inline std::vector transitions_of(const StateUsage& machine) { + std::vector states{machine}; + for (const StateUsage& s : states_of(machine)) states.push_back(s); + std::vector transitions; + for (const StateUsage& state : states) + for (const TransitionUsage& t : state.getNestedTransition()) transitions.push_back(t); + return transitions; +} + +/// The states `state` starts in: the targets of the successions it owns (`first start then off;`); +/// a transition is not a succession of this kind. Only the target is read: the source, the start of +/// the state, is a feature of the standard library, which a model loaded without the library, or +/// read from a payload, cannot resolve. +inline std::vector initial_states(const StateUsage& state) { + std::vector initial; + for (const Feature& feature : state.getOwnedFeature()) + if (feature.is_a()) + for (const Feature& target : feature.as().getTargetFeature()) + if (target.is_a()) initial.push_back(target.as()); + return initial; +} + +/// A transition's trigger. The key is what must occur, as explore() selects triggers by it: the +/// name of the accepted signal's definition, or `at`, `after` or `when` for a time or change +/// event. The label says it in full (`at maintenanceTime`). +struct Trigger { + std::string key; + std::string label; +}; + +/// The transition's trigger, if it has one. +inline std::optional trigger_of(const TransitionUsage& transition) { + for (const AcceptActionUsage& accept : transition.getTriggerAction()) { + std::optional argument = accept.getPayloadArgument(); + if (argument && argument->is_a()) + return Trigger{argument->as().getKind().value_or(""), render(*argument)}; + std::optional payload = accept.getPayloadParameter(); + std::vector types = payload ? payload->getType() : std::vector{}; + std::string name = types.empty() ? "any" : name_of(types.front()); + return Trigger{name, name}; + } + return std::nullopt; +} + +/// Whether the transition's guards hold: true if it has none, false if one is known to be false, +/// else true or unknown. +inline Value guard_of(const TransitionUsage& transition, const Scope& scope) { + Value result = true; + for (const Expression& guard : transition.getGuardExpression()) { + Value value = truth(evaluate(guard, scope), "if"); + if (value == Value(false)) return false; + if (is_unknown(value)) result = Unknown{}; + } + return result; +} + +/// `starting -> operating on SelfTestDone if selfTestPassed and (temperature < maxTemperature)` +inline std::string describe_transition(const TransitionUsage& transition, const StateUsage& machine) { + std::string text = path_below(transition.getSource().value(), machine) + " -> " + + path_below(transition.getTarget().value(), machine); + if (auto trigger = trigger_of(transition)) text += " on " + trigger->label; + std::vector guards; + for (const Expression& guard : transition.getGuardExpression()) guards.push_back(render(guard)); + if (!guards.empty()) text += " if " + join(guards, " and "); + return text; +} + +/// `initial state in operating: operating::idle` +inline std::string describe_initial(const StateUsage& state, const StateUsage& initial, const StateUsage& machine) { + std::string where = state != machine ? " in " + path_below(state, machine) : ""; + return "initial state" + where + ": " + path_below(initial, machine); +} + +/// The states that enclose `state`, innermost first, below `machine`. +inline std::vector enclosing_states(const StateUsage& state, const StateUsage& machine) { + std::vector out; + for (std::optional owner = state.getOwner(); owner && *owner != machine && owner->is_a(); + owner = owner->getOwner()) + out.push_back(owner->as()); + return out; +} + +/// The trigger labels of a shortest path to each reachable state, by the state's element id. +using Paths = std::unordered_map>; + +/// The states of `machine` reachable from its initial state, each mapped (by element id) to a +/// shortest list of trigger labels that reaches it (empty for a state entered without any +/// trigger). +/// +/// `triggers`: the trigger keys that can occur (see trigger_of); nullopt for every trigger. +/// `bindings`: values of the features the guards read, by name. A guard that is not known to be +/// false may hold. +/// +/// Entering a state enters every region of a parallel state, or else its initial states +/// (initial_states) and the targets of the transitions from its entry action (the form +/// `entry action initial; transition initial then off;`), and so on down. A transition from a state +/// is taken from any of its substates too, and entering a nested target makes the states enclosing +/// it active. Regions of a parallel state are explored independently of each other. +/// +/// This is a 0-1 breadth-first search: a triggered transition costs one and goes to the back of +/// the queue, entering costs nothing and goes to the front. Where several shortest sequences exist, +/// the queue's order decides which one is reported, and every language keeps that order. +inline Paths explore(const StateUsage& machine, const std::optional>& triggers, + const std::map& bindings) { + Scope scope; + scope.bindings = bindings; + std::unordered_map> outgoing; // by the source's element id + for (const TransitionUsage& transition : transitions_of(machine)) + outgoing[transition.getSource().value().element_id()].push_back(transition); + + struct Visit { + StateUsage state; + std::vector path; + bool enter; + }; + Paths paths; // state -> the shortest trigger labels that reach it + std::unordered_set entered; // states whose initial substates have been entered + std::deque queue{Visit{machine, {}, true}}; + + auto follow = [&](const TransitionUsage& transition, const std::vector& path) { + std::optional trigger = trigger_of(transition); + if (trigger && triggers && std::find(triggers->begin(), triggers->end(), trigger->key) == triggers->end()) return; + if (guard_of(transition, scope) == Value(false)) return; + std::optional target = transition.getTarget(); + if (!target || !target->is_a()) throw QueryError(name_of(transition) + " does not lead to a state"); + std::vector arrivals{Visit{target->as(), path, true}}; + for (const StateUsage& enclosing : enclosing_states(target->as(), machine)) + arrivals.push_back(Visit{enclosing, path, false}); + for (Visit& arrival : arrivals) { + if (!trigger) { + queue.push_front(arrival); + } else { + arrival.path.push_back(trigger->label); + queue.push_back(arrival); + } + } + }; + + while (!queue.empty()) { + Visit visit = queue.front(); + queue.pop_front(); + const std::string id = visit.state.element_id(); + if (paths.count(id) == 0) { + paths[id] = visit.path; + for (const TransitionUsage& transition : outgoing[id]) follow(transition, visit.path); + } + if (visit.enter && entered.insert(id).second) { + if (visit.state.getIsParallel() == true) { + for (const StateUsage& region : visit.state.getNestedState()) + queue.push_front(Visit{region, visit.path, true}); + } else { + for (const StateUsage& initial : initial_states(visit.state)) + queue.push_front(Visit{initial, visit.path, true}); + if (std::optional entry = visit.state.getEntryAction()) + for (const TransitionUsage& transition : outgoing[entry->element_id()]) follow(transition, visit.path); + } + } + } + paths.erase(machine.element_id()); + return paths; +} + +// ---------------------------------------------------------------- structure + +/// The multiplicity SysML implies for a usage that declares none (see multiplicity_of). +struct DefaultOne {}; + +/// What multiplicity_of finds: nothing (std::monostate: [0..*]), the default [1..1], or a +/// multiplicity the model declares. +using FoundMultiplicity = std::variant; + +/// The features that `feature` subsets or redefines by a relationship written in the model, not an +/// implied one (a part's implied subsetting of the library's `parts`). +inline std::vector explicit_subsettings(const Feature& feature) { + std::vector subsetted; + for (const Subsetting& subsetting : feature.getOwnedSubsetting()) { + std::optional subsetted_feature = subsetting.getSubsettedFeature(); + if (subsetting.getIsImplied() != true && subsetted_feature) subsetted.push_back(*subsetted_feature); + } + return subsetted; +} + +/// Whether SysML gives `usage` the default multiplicity [1..1] when it declares none and subsets or +/// redefines nothing explicitly: an attribute, item, part or port usage (not a connection) owned by +/// a definition or usage. +inline bool has_default_multiplicity(const Feature& usage) { + const bool kind = (usage.is_a() || usage.is_a() || usage.is_a()) && + !usage.is_a(); + std::optional owner = usage.getOwningType(); + return kind && owner && (owner->is_a() || owner->is_a()); +} + +/// What says how many instances a usage stands for, by SysML's rule for usages: its own +/// multiplicity; else that of the usages it explicitly subsets or redefines, nearest first (in a +/// valid model a redefinition only narrows what it redefines, so the nearest is the tightest); else +/// DefaultOne, for a usage that has the default [1..1]; else nothing: nothing constrains it ([0..*]). +inline FoundMultiplicity multiplicity_of(const Feature& usage) { + std::unordered_set seen{usage.element_id()}; + std::deque todo{usage}; + while (!todo.empty()) { + Feature current = todo.front(); + todo.pop_front(); + if (std::optional multiplicity = current.getMultiplicity()) return *multiplicity; + std::vector subsetted = explicit_subsettings(current); + if (subsetted.empty()) { + if (has_default_multiplicity(current)) return DefaultOne{}; + return std::monostate{}; + } + for (const Feature& feature : subsetted) + if (seen.insert(feature.element_id()).second) todo.push_back(feature); + } + return std::monostate{}; +} + +/// How many instances `usage` stands for in `context`. Its multiplicity's bounds, evaluated in the +/// context (a bound may be an expression: `Rotor[rotorCount]`), must be one whole number. +inline long instance_count(const Feature& usage, const Type& context) { + FoundMultiplicity found = multiplicity_of(usage); + if (std::holds_alternative(found)) return 1; + if (std::holds_alternative(found)) + throw QueryError(name_of(usage) + " in " + name_of(context) + " has no fixed number of instances: [0..*]"); + const Multiplicity& multiplicity = std::get(found); + if (!multiplicity.is_a()) + throw QueryError(name_of(usage) + ": a " + multiplicity.metaclass_name() + " is not a range"); + auto range = multiplicity.as(); + Scope scope; + scope.context = context; + std::optional upper_bound = range.getUpperBound(), lower_bound = range.getLowerBound(); + Value upper = upper_bound ? evaluate(*upper_bound, scope) : Value(Unknown{}); + Value lower = lower_bound ? evaluate(*lower_bound, scope) : upper; + const double* u = std::get_if(&upper); + const double* l = std::get_if(&lower); + if (!(u && l && *l == *u && std::isfinite(*u) && *u == std::floor(*u))) + throw QueryError(name_of(usage) + " in " + name_of(context) + " has no fixed number of instances: " + + fmt(lower) + ".." + fmt(upper)); + return static_cast(*u); +} + +/// The names of a part's definitions. +inline std::string definition_name(const PartUsage& part) { + std::vector names; + for (const PartDefinition& definition : part.getPartDefinition()) names.push_back(name_of(definition)); + return names.empty() ? "(untyped)" : join(names, ", "); +} + +inline void count_parts(const Type& node, long factor, std::map& counts) { + for (const PartUsage& part : part_usages(node)) { + const long count = factor * instance_count(part, node); + counts[definition_name(part)] += count; + count_parts(part, count, counts); + } +} + +/// How many parts of each definition `root` consists of, at every depth, by definition name in +/// alphabetical order. A part occurs as often as its instance count times its owner's. +inline std::map bill_of_materials(const Type& root) { + std::map counts; + count_parts(root, 1, counts); + return counts; +} + +/// The sum of `attribute` over `node` and every part in it at any depth, each part counted as often +/// as it occurs, each value the one that holds in its part's context (the most specific +/// redefinition). +inline double rollup(const Type& node, const Feature& attribute) { + Scope scope; + scope.context = node; + Value own = value_of(attribute, scope); + if (!is_number(own)) throw QueryError(name_of(node) + " has no value for " + name_of(attribute)); + double parts = 0; + for (const PartUsage& part : part_usages(node)) + parts += static_cast(instance_count(part, node)) * rollup(part, attribute); + return std::get(own) + parts; +} + +// ---------------------------------------------------------------- connectivity + +/// A connection or flow between two parts, by their paths below the root (`rotors.motor`). +struct Link { + std::string source; + std::string target; + std::string kind; // "connection" or "flow" + std::string name; + std::optional item; // what a flow carries: its payload's definition + + std::string describe() const { + const std::string arrow = kind == "flow" ? "->" : "--"; + const std::string carries = item ? " of " + *item : ""; + return source + " " + arrow + " " + target + " (" + kind + " " + name + carries + ")"; + } +}; + +/// The part that a connector's related feature designates, as names relative to the connector's +/// owner. The feature is a feature or a feature chain (`rotors.motor`, `battery.powerOut`); a port +/// at the end of the chain belongs to the part before it. +inline std::vector part_path(const Feature& feature) { + std::vector chain = feature.getChainingFeature(); + if (chain.empty()) chain.push_back(feature); + while (chain.size() > 1 && chain.back().is_a()) chain.pop_back(); + std::vector names; + for (const Feature& f : chain) names.push_back(name_of(f)); + return names; +} + +inline std::string joined_path(std::vector prefix, const std::vector& path) { + prefix.insert(prefix.end(), path.begin(), path.end()); + return join(prefix, "."); +} + +inline void collect_links(const Type& node, const std::vector& prefix, std::vector& found) { + for (const Usage& usage : model_usages(node)) { + if (!usage.is_a()) continue; + auto connector = usage.as(); + std::optional source_feature = connector.getSourceFeature(); + if (!source_feature) continue; + const std::string source = joined_path(prefix, part_path(*source_feature)); + for (const Feature& feature : connector.getTargetFeature()) { + const std::string target = joined_path(prefix, part_path(feature)); + if (connector.is_a()) { + std::vector items; + for (const Classifier& type : connector.as().getPayloadType()) items.push_back(name_of(type)); + std::optional item; + if (!items.empty()) item = join(items, ", "); + found.push_back(Link{source, target, "flow", name_of(connector), item}); + } else { + found.push_back(Link{source, target, "connection", name_of(connector), std::nullopt}); + } + } + } + for (const PartUsage& part : part_usages(node)) { + std::vector longer = prefix; + longer.push_back(name_of(part)); + collect_links(part, longer, found); + } +} + +/// Every connection and flow of `root` and of the parts nested in it, owned or inherited, from each +/// connector's source feature to each of its target features. +inline std::vector links(const Type& root) { + std::vector found; + collect_links(root, {}, found); + return found; +} + +/// The parts that the part at path `source` reaches through the links of `root`, in alphabetical +/// order: along a flow from its source to its target, along a connection either way. With `item`, +/// through the flows of that item definition only. +inline std::vector reachable_parts(const Type& root, const std::string& source, + const std::optional& item = std::nullopt) { + std::map> adjacent; + for (const Link& link : links(root)) { + if (item && (link.kind != "flow" || link.item != item)) continue; + adjacent[link.source].push_back(link.target); + if (link.kind == "connection") adjacent[link.target].push_back(link.source); + } + std::set seen{source}; + std::vector todo{source}; + while (!todo.empty()) { + std::string current = todo.back(); + todo.pop_back(); + for (const std::string& next : adjacent[current]) + if (seen.insert(next).second) todo.push_back(next); + } + seen.erase(source); + return {seen.begin(), seen.end()}; +} + +// ---------------------------------------------------------------- requirements + +/// One required constraint of a satisfied requirement, evaluated for the satisfying feature. +struct Verdict { + RequirementUsage requirement; + std::optional satisfied_by; + ConstraintUsage constraint; + Value value; // true, false or unknown + std::vector operands; // the values of the constraint's operands, for the report + bool negated; // `not satisfy`: the constraint is expected not to hold + + std::string outcome() const { + if (is_unknown(value)) return "unknown"; + return value != Value(negated) ? "holds" : "VIOLATED"; + } +}; + +/// The constraints a requirement requires, its own and the ones it inherits: those of its +/// requirement constraint memberships of kind `requirement` (`require constraint`, as opposed to +/// `assume constraint`). The derived property requiredConstraint has the owned ones only. +inline std::vector required_constraints(const RequirementUsage& requirement) { + std::vector constraints; + for (const FeatureMembership& membership : requirement.getFeatureMembership()) { + if (!membership.is_a()) continue; + auto required = membership.as(); + if (required.getKind() == std::optional("requirement")) + constraints.push_back(required.getOwnedConstraint().value()); + } + return constraints; +} + +/// The expression whose value is the constraint's result, if any. +inline std::optional result_expression(const ConstraintUsage& constraint) { + for (const Membership& membership : constraint.getOwnedMembership()) + if (membership.is_a()) + return membership.as().getOwnedResultExpression(); + return std::nullopt; +} + +/// Every required constraint of every satisfied requirement in the model (not in the standard +/// library), evaluated for the feature that satisfies it: the requirement's subject is that +/// feature, the requirement's other features have the values the requirement gives them, and +/// `derived` computes the attributes the model leaves to computation (a total mass is a roll-up). +inline std::vector check_satisfactions(const Model& model, + const std::map>& derived) { + std::vector verdicts; + for (const SatisfyRequirementUsage& satisfy : model.elements_of_type()) { + if (satisfy.getIsLibraryElement() == true) continue; + RequirementUsage requirement = satisfy.getSatisfiedRequirement().value(); + std::optional by = satisfy.getSatisfyingFeature(); + Scope scope; + scope.context = requirement; + scope.derived = derived; + if (std::optional subject = requirement.getSubjectParameter()) + scope.bindings[name_of(*subject)] = by ? element_value(*by) : Value(Unknown{}); + for (const ConstraintUsage& constraint : required_constraints(requirement)) { + std::optional expr = result_expression(constraint); + if (!expr) throw QueryError(name_of(constraint) + " has no result expression"); + Value value = evaluate(*expr, scope); + std::vector operands; + if (expr->is_a()) + for (const Expression& arg : expr->as().getArgument()) operands.push_back(evaluate(arg, scope)); + verdicts.push_back(Verdict{requirement, by, constraint, value, operands, satisfy.getIsNegated() == true}); + } + } + return verdicts; +} + +} // namespace queries diff --git a/examples/queries/csharp/Program.cs b/examples/queries/csharp/Program.cs new file mode 100644 index 0000000..c23c5d0 --- /dev/null +++ b/examples/queries/csharp/Program.cs @@ -0,0 +1,221 @@ +// Parametric queries over two example models, and optionally over the vehicle model of SysML +// Annex A, printed as a report. The program in every language prints the same report, which is +// kept in examples/queries/expected/. +// +// Run from the repository root: +// +// dotnet run --project examples/queries/csharp reads the models through the SysML Toolkit +// dotnet run --project examples/queries/csharp -- --payload reads their JSON exports instead, +// with the standard library as JSON +// dotnet run --project examples/queries/csharp -- --library DIR loads the standard library with them +// dotnet run --project examples/queries/csharp -- --annex-a FILE --library DIR +// reports on the Annex A vehicle instead +// +// The JSON exports and the library JSON are generated, not committed: python tools/export_example.py. +// The queries themselves are in Queries.cs; this file loads the models and asks the questions. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using OpenMBEE.SysML; +using QueryExamples; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type shadows System.Type + +var models = Path.Combine(FindRepoRoot(), "examples", "queries", "models"); +var libraryJson = Path.Combine(FindRepoRoot(), "examples", "sysml.library.full.json"); +PayloadLibrary? payloadLibrary = null; +var library = Option("--library"); +var annex = Option("--annex-a"); +if (annex != null) AnnexA(annex); +else Examples(args.Contains("--payload")); + +// A model from examples/queries/models: `name`.sysml through the SysML Toolkit, or +// `name`.full.json with the library JSON, read once and shared by every payload model. +Model Load(string name, bool payload) +{ + if (payload) + { + payloadLibrary ??= PayloadLibrary.FromJson(File.ReadAllText(libraryJson)); + return Model.FromFullJson(File.ReadAllText(Path.Combine(models, $"{name}.full.json")), payloadLibrary); + } + var sources = new Dictionary { [$"{name}.sysml"] = File.ReadAllText(Path.Combine(models, $"{name}.sysml")) }; + return new Model(ToolkitBackend.Open(ToolkitBackend.DefaultLibrary, Array.Empty(), sources, library)); +} + +void Heading(string title) => Console.WriteLine($"== {title} =="); + +// Run one report. Where the SysML Toolkit cannot vouch for a value yet it refuses the read +// (NotImplementedInToolkitException); the report stops there, says so, and the next one runs. +void Section(Action report) +{ + try + { + report(); + } + catch (NotImplementedInToolkitException e) + { + Console.WriteLine($" report stopped: {e.Message}"); + } +} + +// A scenario in words: the triggers that can occur and the values bound. +string Describe(IReadOnlyList? triggers, IReadOnlyList<(string Name, object Value)> bindings) +{ + var parts = new List(); + if (triggers != null) parts.Add("only " + string.Join(", ", triggers)); + if (bindings.Count > 0) parts.Add(string.Join(", ", bindings.Select(b => $"{b.Name} = {Queries.Fmt(b.Value)}"))); + return parts.Count > 0 ? string.Join("; ", parts) : "nothing bound, every trigger"; +} + +Dictionary AsBindings(IReadOnlyList<(string Name, object Value)> bindings) => + bindings.ToDictionary(b => b.Name, b => (object?)b.Value); + +// ---------------------------------------------------------------- the reports + +// Reachable states of `machine` under each scenario, then the shortest trigger sequences under the +// scenario `pathsFor`. +void ReportStates(StateUsage machine, IReadOnlyList scenarios, Scenario pathsFor) +{ + Heading($"Reachable states: {machine.qualifiedName}"); + var states = Queries.StatesOf(machine); + var transitions = Queries.TransitionsOf(machine); + Console.WriteLine($"{states.Count} states, {transitions.Count} transitions:"); + foreach (var state in new[] { machine }.Concat(states)) + foreach (var initial in Queries.InitialStates(state)) + Console.WriteLine($" {Queries.DescribeInitial(state, initial, machine)}"); + foreach (var transition in transitions) Console.WriteLine($" {Queries.DescribeTransition(transition, machine)}"); + foreach (var scenario in scenarios) + { + var reached = Queries.Explore(machine, scenario.Triggers, AsBindings(scenario.Bindings)); + Console.WriteLine($"{scenario.Title}: {Describe(scenario.Triggers, scenario.Bindings)}"); + var reachable = states.Where(s => reached.ContainsKey(s)).Select(s => Queries.PathBelow(s, machine)).ToList(); + var unreachable = states.Where(s => !reached.ContainsKey(s)).Select(s => Queries.PathBelow(s, machine)).ToList(); + Console.WriteLine($" reachable ({reachable.Count}): {string.Join(", ", reachable)}"); + Console.WriteLine($" unreachable ({unreachable.Count}): {(unreachable.Count > 0 ? string.Join(", ", unreachable) : "-")}"); + } + var paths = Queries.Explore(machine, pathsFor.Triggers, AsBindings(pathsFor.Bindings)); + Console.WriteLine($"shortest trigger sequences ({Describe(pathsFor.Triggers, pathsFor.Bindings)}):"); + var width = states.Max(s => Queries.PathBelow(s, machine).Length); + foreach (var state in states) + { + var text = !paths.TryGetValue(state, out var path) ? "unreachable" + : path.Count == 0 ? "(no trigger)" : string.Join(", ", path); + Console.WriteLine($" {Queries.PathBelow(state, machine).PadRight(width)} {text}"); + } +} + +void ReportStructure(IEnumerable roots, IReadOnlyList attributes) +{ + Heading("Structure: bills of materials and roll-ups"); + foreach (var root in roots) + { + Console.WriteLine(root.qualifiedName); + Console.WriteLine(" parts: " + string.Join(", ", Queries.BillOfMaterials(root).Select(e => $"{e.Key} {e.Value}"))); + Console.WriteLine(" " + string.Join(", ", attributes.Select(a => $"{Queries.NameOf(a)} {Queries.Fmt(Queries.Rollup(root, a))}"))); + } +} + +void ReportConnectivity(SpecType root, IReadOnlyList<(string Source, string? Item)> questions) +{ + Heading($"Connectivity: {root.qualifiedName}"); + foreach (var link in Queries.Links(root)) Console.WriteLine($" {link.Describe()}"); + foreach (var (source, item) in questions) + { + var via = item != null ? $", through {item} flows only" : ""; + var reached = Queries.ReachableParts(root, source, item); + Console.WriteLine($"from {source}{via}: {(reached.Count > 0 ? string.Join(", ", reached) : "-")}"); + } +} + +void ReportRequirements(Model model, IReadOnlyDictionary> derived) +{ + Heading("Requirements"); + foreach (var v in Queries.CheckSatisfactions(model, derived)) + { + var definition = v.Requirement.requirementDefinition; + var kind = definition != null ? $" : {Queries.NameOf(definition)}" : ""; + var verb = v.Negated ? "not satisfied" : "satisfied"; + var expr = Queries.ResultExpression(v.Constraint)!; + var op = expr is OperatorExpression operation ? operation.@operator : ""; + var values = string.Join($" {op} ", v.Operands.Select(Queries.Fmt)); + var by = v.SatisfiedBy != null ? Queries.NameOf(v.SatisfiedBy) : "(nothing)"; + Console.WriteLine($"{Queries.NameOf(v.Requirement)}{kind}, {verb} by {by}"); + Console.WriteLine($" {Queries.NameOf(v.Constraint)}: {Queries.Render(expr)} [{values}] {v.Outcome}"); + } +} + +// ---------------------------------------------------------------- the questions + +void Examples(bool payload) +{ + var temperate = new List<(string, object)> { ("selfTestPassed", true), ("temperature", 25.0) }; + var pumps = Load("pumps", payload); + Section(() => ReportStates((StateUsage)pumps.Resolve("Pumps::PumpController::modes")!, new List + { + new("A", null, new List<(string, object)>()), + new("B", null, temperate), + new("C", null, new List<(string, object)> { ("selfTestPassed", false) }), + new("D", null, new List<(string, object)> { ("selfTestPassed", true), ("temperature", 95.0) }), + new("E", null, temperate.Append(("maxTemperature", 20.0)).ToList()), + new("F", new[] { "PowerOn", "SelfTestDone", "Start" }, temperate), + }, new Scenario("", null, temperate))); + Console.WriteLine(); + + var drones = Load("drones", payload); + var mass = (Feature)drones.Resolve("Drones::Component::mass")!; + var cost = (Feature)drones.Resolve("Drones::Component::cost")!; + Section(() => ReportStructure(new[] { "Quadcopter", "Hexacopter", "CargoHexacopter" }.Select(d => (SpecType)drones.Resolve($"Drones::{d}")!), + new[] { mass, cost })); + Console.WriteLine(); + Section(() => ReportConnectivity((SpecType)drones.Resolve("Drones::Quadcopter")!, new List<(string, string?)> + { + ("battery", null), ("battery", "Power"), ("controller", null), ("controller", "Command"), ("rotors.propeller", null), + })); + Console.WriteLine(); + Section(() => ReportRequirements(drones, new Dictionary> + { + ["totalMass"] = part => Queries.Rollup(part, mass), + ["totalCost"] = part => Queries.Rollup(part, cost), + })); +} + +void AnnexA(string path) +{ + var sources = new Dictionary { [Path.GetFileName(path)] = File.ReadAllText(path) }; + var vehicle = new Model(ToolkitBackend.Open(ToolkitBackend.DefaultLibrary, Array.Empty(), sources, library)); + var machine = (StateUsage)vehicle.Resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates")!; + Section(() => + { + var keys = new List(); + foreach (var transition in Queries.TransitionsOf(machine)) + { + var trigger = Queries.TriggerOf(transition); + if (trigger != null && trigger.Key != "at" && !keys.Contains(trigger.Key)) keys.Add(trigger.Key); + } + var none = new List<(string, object)>(); + ReportStates(machine, new List + { + new("A", null, none), + new("B", null, new List<(string, object)> { ("brakePedalDepressed", false) }), + new("C", keys, none), + }, new Scenario("", null, none)); + }); +} + +string? Option(string name) +{ + var i = Array.IndexOf(args, name); + return i >= 0 && i + 1 < args.Length ? args[i + 1] : null; +} + +static string FindRepoRoot() +{ + var d = new DirectoryInfo(AppContext.BaseDirectory); + while (d != null && !File.Exists(Path.Combine(d.FullName, "metamodel.json"))) d = d.Parent; + return d?.FullName ?? throw new InvalidOperationException("run from inside the sysml-sdk repository"); +} + +/// A scenario: its title, the triggers that can occur (null for all), and the values bound, in +/// order. +record Scenario(string Title, IReadOnlyList? Triggers, IReadOnlyList<(string Name, object Value)> Bindings); diff --git a/examples/queries/csharp/Queries.cs b/examples/queries/csharp/Queries.cs new file mode 100644 index 0000000..9a51a09 --- /dev/null +++ b/examples/queries/csharp/Queries.cs @@ -0,0 +1,728 @@ +// Parametric queries over SysML v2 models, written against the SDK. +// +// Four families of queries, each a function of model elements and parameters: +// +// - state machines: which states a machine can reach, and the shortest sequence of triggers to +// each, given which triggers can occur and what is known of the values its guards read; +// - structure: a bill of materials and the roll-up of an attribute over the part tree, with +// multiplicities evaluated in context, redefined values, and inherited parts; +// - connectivity: the parts a source part reaches through connections and flows, optionally +// through flows of one item definition only; +// - requirements: whether the constraints of each satisfied requirement hold for the part that +// satisfies it. +// +// The queries read specification properties only (nestedState, usage, multiplicity, +// featureMembership, ...), so they run unchanged on either backend. Guards, multiplicity bounds, +// attribute values and constraints are the model's own expressions, evaluated by Evaluate() in +// three-valued logic: a value that the model does not determine and the caller did not bind is +// Unknown, and a guard that is Unknown may hold. +// +// What the queries simplify, on purpose: +// +// - A bound value holds for a whole exploration. Guard inputs such as a temperature vary over time +// in SysML; binding one asks "what if it always had this value", and leaving it unbound lets every +// guard over it go either way, independently of the others. +// - The regions of a parallel state are explored independently of each other. +// - A state that no transition or initial succession leads to is unreachable. That is the +// conventional reading; the library's semantics do not state it formally. +// - A requirement is checked by its required constraints. Its assumptions (`assume constraint`) and +// its nested requirements are not considered. +// - Connections and flows are followed where the model declares them; reaching a part means it may +// be reached, at the level of the usages, not that every instance is. +// +// The same queries exist for every language of the SDK, function for function. Values are double, +// bool, string, an element, or Unknown. + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type shadows System.Type + +namespace QueryExamples; + +/// The model does not give a query what it needs: a value, or an expression it can +/// evaluate. +public sealed class QueryError : Exception +{ + public QueryError(string message) : base(message) { } +} + +/// A value that neither the model nor the caller determines. +public sealed class Unknown +{ + public static readonly Unknown Value = new(); + private Unknown() { } + public override string ToString() => "unknown"; +} + +/// What an expression is evaluated against. +/// The element whose features give values: a referenced feature has the value +/// of the feature that stands for it in the context (FeatureIn). +/// Values by feature name, which take precedence over the model's own. +/// Attributes the caller computes, by name: a function of the element that has +/// the attribute (`vehicle.totalMass` is Derived["totalMass"](vehicle)). +public sealed record Scope(SpecType? Context, IReadOnlyDictionary Bindings, + IReadOnlyDictionary> Derived) +{ + public Scope(SpecType? context) + : this(context, new Dictionary(), new Dictionary>()) { } + + public Scope Within(SpecType context) => this with { Context = context }; +} + +/// A transition's trigger. The key is what must occur, as Explore selects triggers by it: +/// the name of the accepted signal's definition, or `at`, `after` or `when` for a time or change +/// event. The label says it in full (`at maintenanceTime`). +public sealed record Trigger(string Key, string Label); + +/// A connection or flow between two parts, by their paths below the root +/// (`rotors.motor`). Kind is "connection" or "flow"; Item is what a flow carries, its payload's +/// definition, and null for a connection. +public sealed record Link(string Source, string Target, string Kind, string Name, string? Item) +{ + public string Describe() + { + var arrow = Kind == "flow" ? "->" : "--"; + var carries = Item != null ? $" of {Item}" : ""; + return $"{Source} {arrow} {Target} ({Kind} {Name}{carries})"; + } +} + +/// One required constraint of a satisfied requirement, evaluated for the satisfying +/// feature. Value is true, false or Unknown; Operands are the values of the constraint's operands, +/// for the report; Negated is `not satisfy`: the constraint is expected not to hold. +public sealed record Verdict(RequirementUsage Requirement, Feature? SatisfiedBy, ConstraintUsage Constraint, + object? Value, IReadOnlyList Operands, bool Negated) +{ + public string Outcome => Value is Unknown ? "unknown" : !Equals(Value, Negated) ? "holds" : "VIOLATED"; +} + +public static class Queries +{ + // ---------------------------------------------------------------- names + + /// The element's name. A redefinition declared without a name has the name of the + /// feature it redefines: `attribute :>> mass` is named `mass`. + public static string NameOf(IElement element) => + string.IsNullOrEmpty(element.name) ? "(unnamed)" : element.name; + + /// The names of `element` and its owners up to `top` (not included), outermost first: + /// `operating::pumping::high` for a state two levels below the machine `top`. + public static string PathBelow(IElement? element, IElement top) + { + var names = new List(); + while (element != null && !element.Equals(top)) + { + names.Add(NameOf(element)); + element = element.owner; + } + names.Reverse(); + return string.Join("::", names); + } + + // ---------------------------------------------------------------- features and their values + + /// The usages of a definition or usage, owned and inherited, without those the + /// standard library contributes (a part inherits `self`, `start`, `subparts`, ... from the + /// library's `Part`). + public static List ModelUsages(SpecType element) + { + IReadOnlyList usages = element switch + { + Definition d => d.usage, + Usage u => u.usage, + _ => Array.Empty(), + }; + return usages.Where(u => u.isLibraryElement != true).ToList(); + } + + /// The parts of a definition or usage, owned and inherited. A connection is a part too + /// in SysML; it is not a component, so it is left out. + public static List PartUsages(SpecType element) => + ModelUsages(element).OfType().Where(u => u is not ConnectionUsage).ToList(); + + /// Whether `feature` redefines `other`, directly or through a chain of + /// redefinitions. + public static bool Redefines(Feature feature, Feature other) + { + var seen = new HashSet(); + var todo = new Stack(new[] { feature }); + while (todo.Count > 0) + { + foreach (var redefinition in todo.Pop().ownedRedefinition) + { + var redefined = redefinition.redefinedFeature; + if (redefined != null && redefined.Equals(other)) return true; + if (redefined != null && seen.Add(redefined)) todo.Push(redefined); + } + } + return false; + } + + /// The feature that stands for `feature` in `context`: among the context's features, + /// owned or inherited, the one that is `feature` or redefines it. A type inherits only the most + /// specific redefinition, so this is the one whose value holds in the context. + public static Feature FeatureIn(SpecType context, Feature feature) => + context.feature.FirstOrDefault(c => c.Equals(feature) || Redefines(c, feature)) ?? feature; + + /// Whether a feature is one of the values an enumeration definition enumerates (`on` in + /// `enum def IgnitionOnOff { on; off; }`). Those are owned through variant memberships, so they + /// have an owning namespace but no owning type. + public static bool IsEnumerationLiteral(IElement feature) => + feature is EnumerationUsage literal && literal.owningNamespace is EnumerationDefinition; + + /// The expression a feature is bound to by its declaration (`= 0.045`), or null. + public static Expression? ValueExpression(Feature feature) => + feature.ownedMembership.OfType().FirstOrDefault()?.value; + + // ---------------------------------------------------------------- expressions + + /// The value of `expr`: a double, a bool, a string, an element, or Unknown. + public static object? Evaluate(Expression expr, Scope scope) => expr switch + { + LiteralInteger literal => (double?)literal.value, + LiteralRational literal => literal.value, + LiteralBoolean literal => literal.value, + LiteralString literal => literal.value, + LiteralInfinity => double.PositiveInfinity, + // before OperatorExpression, which it specializes + FeatureChainExpression chain => ValueIn(Evaluate(chain.argument[0], scope), chain.targetFeature!, scope), + FeatureReferenceExpression reference => ValueOf(reference.referent!, scope), + OperatorExpression operation => ApplyOperator(operation.@operator!, operation.argument, scope), + _ => throw new QueryError($"cannot evaluate a {expr.MetaclassName}"), + }; + + /// The value of a referenced feature: a binding of its name; an enumeration literal, + /// which is its own value; else the value the model gives the feature that stands for it in the + /// scope's context; else Unknown. + public static object? ValueOf(Feature feature, Scope scope) + { + // The second operand of `and`, `or` and `implies` is a reference to an expression, + // evaluated only when the operator needs it. + if (feature is Expression expression) return Evaluate(expression, scope); + var name = NameOf(feature); + if (scope.Bindings.TryGetValue(name, out var bound)) return bound; + if (IsEnumerationLiteral(feature)) return feature; + if (scope.Context != null) feature = FeatureIn(scope.Context, feature); + var expr = ValueExpression(feature); + return expr == null ? Unknown.Value : Evaluate(expr, scope); + } + + /// `source.feature`: a derived attribute that the caller computes, else the value of the + /// feature in the context of `source`. + public static object? ValueIn(object? source, Feature feature, Scope scope) + { + if (source is Unknown) return Unknown.Value; + if (source is not SpecType context) throw new QueryError($"{Fmt(source)} has no feature {NameOf(feature)}"); + if (scope.Derived.TryGetValue(NameOf(feature), out var derive)) return derive(context); + return ValueOf(feature, scope.Within(context)); + } + + /// An operator over its argument expressions. `and`, `or` and `implies` evaluate their + /// second operand only when the first does not decide, as SysML's conditional operators do; all + /// the logical operators follow three-valued logic. Any other operator on an Unknown is + /// Unknown. + public static object? ApplyOperator(string op, IReadOnlyList args, Scope scope) + { + if (op is "and" or "or" or "implies") return Conditional(op, args, scope); + var values = args.Select(a => Evaluate(a, scope)).ToList(); + if (op == "not" && values.Count == 1) + { + var v = Truth(values[0], op); + return v is Unknown ? Unknown.Value : !(bool)v!; + } + if (op == "xor" && values.Count == 2) + { + var a = Truth(values[0], op); + var b = Truth(values[1], op); + return a is Unknown || b is Unknown ? Unknown.Value : !Equals(a, b); + } + if (values.Any(v => v is Unknown)) return Unknown.Value; + if (op is "==" or "!=" && values.Count == 2) + { + var equal = Same(values[0], values[1]); + return op == "==" ? equal : !equal; + } + var numbers = values.Select(v => Number(v, op)).ToList(); + if (numbers.Count == 1 && op is "-" or "+") return op == "-" ? -numbers[0] : numbers[0]; + if (numbers.Count == 2) + { + double x = numbers[0], y = numbers[1]; + object? result = op switch + { + "<" => x < y, "<=" => x <= y, ">" => x > y, ">=" => x >= y, + "+" => x + y, "-" => x - y, "*" => x * y, "/" => x / y, + _ => null, + }; + if (result != null) return result; + } + throw new QueryError($"operator '{op}' on {args.Count} operand(s) is not supported"); + } + + private static object? Conditional(string op, IReadOnlyList args, Scope scope) + { + var left = Truth(Evaluate(args[0], scope), op); + if ((op == "and" && left is false) || (op == "or" && left is true)) return left; + if (op == "implies" && left is false) return true; + var right = Truth(Evaluate(args[1], scope), op); + var unknown = left is Unknown || right is Unknown; + if (op == "and") return right is false ? false : unknown ? Unknown.Value : true; + return right is true ? true : unknown ? Unknown.Value : false; // or, implies + } + + private static object? Truth(object? value, string op) => + value is Unknown or bool ? value : throw new QueryError($"'{op}' needs a Boolean, not {Fmt(value)}"); + + private static double Number(object? value, string op) => + IsNumber(value) ? Convert.ToDouble(value, CultureInfo.InvariantCulture) + : throw new QueryError($"'{op}' needs a number, not {Fmt(value)}"); + + /// Equality within a kind of value: numbers by value, elements by identity. + private static bool Same(object? a, object? b) + { + if (IsNumber(a) && IsNumber(b)) return Number(a, "==") == Number(b, "=="); + return !IsNumber(a) && !IsNumber(b) && Equals(a, b); + } + + public static bool IsNumber(object? value) => value is double or float or long or int; + + /// A value for a report: numbers with at most three decimals, elements by name. + public static string Fmt(object? value) + { + switch (value) + { + case Unknown: return "unknown"; + case bool b: return b ? "true" : "false"; + case var n when IsNumber(n): + var d = Number(n, ""); + if (double.IsInfinity(d)) return "*"; + var text = d.ToString("F3", CultureInfo.InvariantCulture).TrimEnd('0').TrimEnd('.'); + return text == "-0" ? "0" : text; + case string s: return $"\"{s}\""; + case IElement element: return NameOf(element); + default: return "null"; + } + } + + /// An expression in SysML notation, with every nested operation in parentheses. + public static string Render(Expression expr) + { + switch (expr) + { + case LiteralInteger literal: return Fmt((double?)literal.value); + case LiteralRational literal: return Fmt(literal.value); + case LiteralBoolean literal: return literal.value == true ? "true" : "false"; + case LiteralString literal: return $"\"{literal.value}\""; + case LiteralInfinity: return "*"; + case FeatureChainExpression chain: return $"{Render(chain.argument[0])}.{NameOf(chain.targetFeature!)}"; + case FeatureReferenceExpression reference: + var referent = reference.referent!; + if (referent is Expression expression) return Render(expression); + if (IsEnumerationLiteral(referent)) return $"{NameOf(referent.owningNamespace!)}::{NameOf(referent)}"; + return NameOf(referent); + case TriggerInvocationExpression trigger: return $"{trigger.kind} {Render(trigger.argument[0])}"; + case OperatorExpression operation: + var operands = operation.argument.Select(Operand).ToList(); + var op = operation.@operator!; + if (operands.Count == 1) return op.All(char.IsLetter) ? $"{op} {operands[0]}" : $"{op}{operands[0]}"; + return string.Join($" {op} ", operands); + default: return $"<{expr.MetaclassName}>"; + } + } + + private static string Operand(Expression expr) + { + if (expr is FeatureReferenceExpression { referent: Expression referent }) expr = referent; + var text = Render(expr); + var nested = expr is OperatorExpression and not FeatureChainExpression; + return nested ? $"({text})" : text; + } + + // ---------------------------------------------------------------- state machines + + /// Every state nested in `machine` at any depth, in the order the model declares them, + /// each state before its substates. + public static List StatesOf(StateUsage machine) + { + var states = new List(); + foreach (var state in machine.nestedState) + { + states.Add(state); + states.AddRange(StatesOf(state)); + } + return states; + } + + /// Every transition declared in `machine` or in a state nested in it. + public static List TransitionsOf(StateUsage machine) => + new[] { machine }.Concat(StatesOf(machine)).SelectMany(s => s.nestedTransition).ToList(); + + /// The states `state` starts in: the targets of the successions it owns + /// (`first start then off;`); a transition is not a succession of this kind. Only the target is + /// read: the source, the start of the state, is a feature of the standard library, which a model + /// loaded without the library, or read from a payload, cannot resolve. + public static List InitialStates(StateUsage state) => + state.ownedFeature.OfType() + .SelectMany(succession => succession.targetFeature.OfType()).ToList(); + + /// The transition's trigger, or null for a transition without one. + public static Trigger? TriggerOf(TransitionUsage transition) + { + foreach (var accept in transition.triggerAction) + { + if (accept.payloadArgument is TriggerInvocationExpression argument) + return new Trigger(argument.kind!, Render(argument)); + var types = accept.payloadParameter?.type ?? Array.Empty(); + var name = types.Count > 0 ? NameOf(types[0]) : "any"; + return new Trigger(name, name); + } + return null; + } + + /// Whether the transition's guards hold: true if it has none, false if one is known to + /// be false, else true or Unknown. + public static object GuardOf(TransitionUsage transition, Scope scope) + { + object result = true; + foreach (var guard in transition.guardExpression) + { + var value = Truth(Evaluate(guard, scope), "if"); + if (value is false) return false; + if (value is Unknown) result = Unknown.Value; + } + return result; + } + + /// `starting -> operating on SelfTestDone if selfTestPassed and (temperature < + /// maxTemperature)` + public static string DescribeTransition(TransitionUsage transition, StateUsage machine) + { + var text = $"{PathBelow(transition.source, machine)} -> {PathBelow(transition.target, machine)}"; + var trigger = TriggerOf(transition); + if (trigger != null) text += $" on {trigger.Label}"; + var guards = transition.guardExpression.Select(Render).ToList(); + if (guards.Count > 0) text += " if " + string.Join(" and ", guards); + return text; + } + + /// `initial state in operating: operating::idle` + public static string DescribeInitial(StateUsage state, StateUsage initial, StateUsage machine) + { + var where = !state.Equals(machine) ? $" in {PathBelow(state, machine)}" : ""; + return $"initial state{where}: {PathBelow(initial, machine)}"; + } + + /// The states that enclose `state`, innermost first, below `machine`. + public static List EnclosingStates(StateUsage state, StateUsage machine) + { + var result = new List(); + var owner = state.owner; + while (owner != null && !owner.Equals(machine) && owner is StateUsage enclosing) + { + result.Add(enclosing); + owner = enclosing.owner; + } + return result; + } + + private sealed record Visit(StateUsage State, IReadOnlyList Path, bool Enter); + + /// + /// The states of `machine` reachable from its initial state, each mapped to a shortest list of + /// trigger labels that reaches it (empty for a state entered without any trigger). + /// + /// `triggers`: the trigger keys that can occur (see TriggerOf); null for every trigger. + /// `bindings`: values of the features the guards read, by name. A guard that is not known to be + /// false may hold. + /// + /// Entering a state enters every region of a parallel state, or else its initial states + /// (InitialStates) and the targets of the transitions from its entry action (the form + /// `entry action initial; transition initial then off;`), and so on down. A transition from a + /// state is taken from any of its substates too, and entering a nested target makes the states + /// enclosing it active. Regions of a parallel state are explored independently of each other. + /// + /// This is a 0-1 breadth-first search: a triggered transition costs one and goes to the back of + /// the queue, entering costs nothing and goes to the front. Where several shortest sequences + /// exist, the queue's order decides which one is reported, and every language keeps that order. + /// + public static Dictionary> Explore(StateUsage machine, + IReadOnlyCollection? triggers = null, IReadOnlyDictionary? bindings = null) + { + var scope = new Scope(null, bindings ?? new Dictionary(), new Dictionary>()); + var outgoing = new Dictionary>(); + foreach (var transition in TransitionsOf(machine)) + { + var source = transition.source!; + if (!outgoing.TryGetValue(source, out var list)) outgoing[source] = list = new List(); + list.Add(transition); + } + + var paths = new Dictionary>(); // state -> the shortest trigger labels + var entered = new HashSet(); // states whose initial substates have been entered + var queue = new LinkedList(); + queue.AddLast(new Visit(machine, Array.Empty(), true)); + + void Follow(TransitionUsage transition, IReadOnlyList path) + { + var trigger = TriggerOf(transition); + if (trigger != null && triggers != null && !triggers.Contains(trigger.Key)) return; + if (GuardOf(transition, scope) is false) return; + if (transition.target is not StateUsage target) throw new QueryError($"{NameOf(transition)} does not lead to a state"); + var arrivals = new List<(StateUsage State, bool Enter)> { (target, true) }; + arrivals.AddRange(EnclosingStates(target, machine).Select(s => (s, false))); + foreach (var (state, enter) in arrivals) + { + if (trigger == null) queue.AddFirst(new Visit(state, path, enter)); + else queue.AddLast(new Visit(state, path.Append(trigger.Label).ToList(), enter)); + } + } + + while (queue.Count > 0) + { + var visit = queue.First!.Value; + queue.RemoveFirst(); + var state = visit.State; + if (!paths.ContainsKey(state)) + { + paths[state] = visit.Path; + foreach (var transition in outgoing.GetValueOrDefault(state) ?? new List()) + Follow(transition, visit.Path); + } + if (visit.Enter && entered.Add(state)) + { + if (state.isParallel == true) + { + foreach (var region in state.nestedState) queue.AddFirst(new Visit(region, visit.Path, true)); + } + else + { + foreach (var initial in InitialStates(state)) queue.AddFirst(new Visit(initial, visit.Path, true)); + if (state.entryAction is { } entry) + foreach (var transition in outgoing.GetValueOrDefault(entry) ?? new List()) + Follow(transition, visit.Path); + } + } + } + paths.Remove(machine); + return paths; + } + + // ---------------------------------------------------------------- structure + + private sealed class DefaultOneMarker + { + public override string ToString() => "[1..1]"; + } + + /// The multiplicity SysML implies for a usage that declares none (see + /// MultiplicityOf). + public static readonly object DefaultOne = new DefaultOneMarker(); + + /// The features that `feature` subsets or redefines by a relationship written in the + /// model, not an implied one (a part's implied subsetting of the library's `parts`). + public static List ExplicitSubsettings(Feature feature) => + feature.ownedSubsetting.Where(s => s.isImplied != true && s.subsettedFeature != null) + .Select(s => s.subsettedFeature!).ToList(); + + /// Whether SysML gives `usage` the default multiplicity [1..1] when it declares none and + /// subsets or redefines nothing explicitly: an attribute, item, part or port usage (not a + /// connection) owned by a definition or usage. + public static bool HasDefaultMultiplicity(Feature usage) + { + var kind = (usage is AttributeUsage or ItemUsage or PortUsage) && usage is not ConnectionUsage; + return kind && usage.owningType is Definition or Usage; + } + + /// What says how many instances a usage stands for, by SysML's rule for usages: its own + /// multiplicity; else that of the usages it explicitly subsets or redefines, nearest first (in a + /// valid model a redefinition only narrows what it redefines, so the nearest is the tightest); + /// else DefaultOne, for a usage that has the default [1..1]; else null: nothing constrains it + /// ([0..*]). The result is a Multiplicity, DefaultOne or null. + public static object? MultiplicityOf(Feature usage) + { + var seen = new HashSet { usage }; + var todo = new Queue(new[] { usage }); + while (todo.Count > 0) + { + var current = todo.Dequeue(); + if (current.multiplicity != null) return current.multiplicity; + var subsetted = ExplicitSubsettings(current); + if (subsetted.Count == 0) return HasDefaultMultiplicity(current) ? DefaultOne : null; + foreach (var feature in subsetted) + if (seen.Add(feature)) todo.Enqueue(feature); + } + return null; + } + + /// How many instances `usage` stands for in `context`. Its multiplicity's bounds, + /// evaluated in the context (a bound may be an expression: `Rotor[rotorCount]`), must be one + /// whole number. + public static int InstanceCount(Feature usage, SpecType context) + { + var multiplicity = MultiplicityOf(usage); + if (ReferenceEquals(multiplicity, DefaultOne)) return 1; + if (multiplicity == null) + throw new QueryError($"{NameOf(usage)} in {NameOf(context)} has no fixed number of instances: [0..*]"); + if (multiplicity is not MultiplicityRange range) + throw new QueryError($"{NameOf(usage)}: a {((IElement)multiplicity).MetaclassName} is not a range"); + var scope = new Scope(context); + var upper = range.upperBound != null ? Evaluate(range.upperBound, scope) : Unknown.Value; + var lower = range.lowerBound != null ? Evaluate(range.lowerBound, scope) : upper; + if (!(upper is double u && lower is double l && l == u && !double.IsInfinity(u) && u == Math.Round(u))) + throw new QueryError($"{NameOf(usage)} in {NameOf(context)} has no fixed number of instances: {Fmt(lower)}..{Fmt(upper)}"); + return (int)u; + } + + /// The names of a part's definitions. + public static string DefinitionName(PartUsage part) + { + var names = part.partDefinition.Select(d => NameOf(d)).ToList(); + return names.Count > 0 ? string.Join(", ", names) : "(untyped)"; + } + + /// How many parts of each definition `root` consists of, at every depth, by definition + /// name in alphabetical order. A part occurs as often as its instance count times its + /// owner's. + public static SortedDictionary BillOfMaterials(SpecType root) + { + var counts = new SortedDictionary(StringComparer.Ordinal); + void Walk(SpecType node, int factor) + { + foreach (var part in PartUsages(node)) + { + var count = factor * InstanceCount(part, node); + var key = DefinitionName(part); + counts[key] = counts.GetValueOrDefault(key) + count; + Walk(part, count); + } + } + Walk(root, 1); + return counts; + } + + /// The sum of `attribute` over `node` and every part in it at any depth, each part + /// counted as often as it occurs, each value the one that holds in its part's context (the most + /// specific redefinition). + public static double Rollup(SpecType node, Feature attribute) + { + var own = ValueOf(attribute, new Scope(node)); + if (!IsNumber(own)) throw new QueryError($"{NameOf(node)} has no value for {NameOf(attribute)}"); + double parts = 0; + foreach (var part in PartUsages(node)) parts += InstanceCount(part, node) * Rollup(part, attribute); + return Number(own, "+") + parts; + } + + // ---------------------------------------------------------------- connectivity + + /// The part that a connector's related feature designates, as names relative to the + /// connector's owner. The feature is a feature or a feature chain (`rotors.motor`, + /// `battery.powerOut`); a port at the end of the chain belongs to the part before it. + public static List PartPath(Feature feature) + { + var chain = feature.chainingFeature.Count > 0 ? feature.chainingFeature.ToList() : new List { feature }; + while (chain.Count > 1 && chain[^1] is PortUsage) chain.RemoveAt(chain.Count - 1); + return chain.Select(f => NameOf(f)).ToList(); + } + + /// Every connection and flow of `root` and of the parts nested in it, owned or + /// inherited, from each connector's source feature to each of its target features. + public static List Links(SpecType root) + { + var found = new List(); + void Walk(SpecType node, List prefix) + { + foreach (var connector in ModelUsages(node).OfType()) + { + if (connector.sourceFeature is not { } sourceFeature) continue; + var source = string.Join(".", prefix.Concat(PartPath(sourceFeature))); + foreach (var feature in connector.targetFeature) + { + var target = string.Join(".", prefix.Concat(PartPath(feature))); + if (connector is FlowUsage flow) + { + var item = string.Join(", ", flow.payloadType.Select(t => NameOf(t))); + found.Add(new Link(source, target, "flow", NameOf(flow), item.Length > 0 ? item : null)); + } + else + { + found.Add(new Link(source, target, "connection", NameOf(connector), null)); + } + } + } + foreach (var part in PartUsages(node)) Walk(part, prefix.Append(NameOf(part)).ToList()); + } + Walk(root, new List()); + return found; + } + + /// The parts that the part at path `source` reaches through the links of `root`, in + /// alphabetical order: along a flow from its source to its target, along a connection either + /// way. With `item`, through the flows of that item definition only. + public static List ReachableParts(SpecType root, string source, string? item = null) + { + var adjacent = new Dictionary>(); + void Add(string from, string to) + { + if (!adjacent.TryGetValue(from, out var list)) adjacent[from] = list = new List(); + list.Add(to); + } + foreach (var link in Links(root)) + { + if (item != null && (link.Kind != "flow" || link.Item != item)) continue; + Add(link.Source, link.Target); + if (link.Kind == "connection") Add(link.Target, link.Source); + } + var seen = new HashSet { source }; + var todo = new Stack(new[] { source }); + while (todo.Count > 0) + foreach (var next in adjacent.GetValueOrDefault(todo.Pop()) ?? new List()) + if (seen.Add(next)) todo.Push(next); + seen.Remove(source); + return seen.OrderBy(s => s, StringComparer.Ordinal).ToList(); + } + + // ---------------------------------------------------------------- requirements + + /// The constraints a requirement requires, its own and the ones it inherits: those of + /// its requirement constraint memberships of kind `requirement` (`require constraint`, as + /// opposed to `assume constraint`). The derived property requiredConstraint has the owned ones + /// only. + public static List RequiredConstraints(RequirementUsage requirement) => + requirement.featureMembership.OfType() + .Where(m => m.kind == "requirement").Select(m => m.ownedConstraint!).ToList(); + + /// The expression whose value is the constraint's result, or null. + public static Expression? ResultExpression(ConstraintUsage constraint) => + constraint.ownedMembership.OfType().FirstOrDefault()?.ownedResultExpression; + + /// Every required constraint of every satisfied requirement in the model (not in the + /// standard library), evaluated for the feature that satisfies it: the requirement's subject is + /// that feature, the requirement's other features have the values the requirement gives them, + /// and `derived` computes the attributes the model leaves to computation (a total mass is a + /// roll-up). + public static List CheckSatisfactions(Model model, IReadOnlyDictionary> derived) + { + var verdicts = new List(); + foreach (var satisfy in model.ElementsOfType()) + { + if (satisfy.isLibraryElement == true) continue; + var requirement = satisfy.satisfiedRequirement!; + var by = satisfy.satisfyingFeature; + var bindings = new Dictionary(); + if (requirement.subjectParameter is { } subject) bindings[NameOf(subject)] = by; + var scope = new Scope(requirement, bindings, derived); + foreach (var constraint in RequiredConstraints(requirement)) + { + var expr = ResultExpression(constraint) ?? throw new QueryError($"{NameOf(constraint)} has no result expression"); + var value = Evaluate(expr, scope); + var operands = expr is OperatorExpression operation + ? operation.argument.Select(a => Evaluate(a, scope)).ToList() + : new List(); + verdicts.Add(new Verdict(requirement, by, constraint, value, operands, satisfy.isNegated == true)); + } + } + return verdicts; + } +} diff --git a/examples/queries/csharp/Queries.csproj b/examples/queries/csharp/Queries.csproj new file mode 100644 index 0000000..8c98c3a --- /dev/null +++ b/examples/queries/csharp/Queries.csproj @@ -0,0 +1,13 @@ + + + Exe + net8.0 + enable + disable + QueryExamples + + + + + + diff --git a/examples/queries/expected/annex-a.txt b/examples/queries/expected/annex-a.txt new file mode 100644 index 0000000..fff7630 --- /dev/null +++ b/examples/queries/expected/annex-a.txt @@ -0,0 +1,29 @@ +== Reachable states: SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates == +8 states, 9 transitions: + operatingStates::initial -> operatingStates::off + operatingStates::off -> operatingStates::starting on IgnitionCmd if (ignitionCmd.ignitionOnOff == IgnitionOnOff::on) and brakePedalDepressed + operatingStates::starting -> operatingStates::on on VehicleOnSignal + operatingStates::on -> operatingStates::off on VehicleOffSignal + healthStates::initial -> healthStates::normal + healthStates::normal -> healthStates::maintenance on at maintenanceTime + healthStates::normal -> healthStates::degraded on when senseTemperature.temp > Tmax + healthStates::maintenance -> healthStates::normal on ReturnToNormal + healthStates::degraded -> healthStates::normal on ReturnToNormal +A: nothing bound, every trigger + reachable (8): operatingStates, operatingStates::off, operatingStates::starting, operatingStates::on, healthStates, healthStates::normal, healthStates::maintenance, healthStates::degraded + unreachable (0): - +B: brakePedalDepressed = false + reachable (6): operatingStates, operatingStates::off, healthStates, healthStates::normal, healthStates::maintenance, healthStates::degraded + unreachable (2): operatingStates::starting, operatingStates::on +C: only IgnitionCmd, VehicleOnSignal, VehicleOffSignal, when, ReturnToNormal + reachable (7): operatingStates, operatingStates::off, operatingStates::starting, operatingStates::on, healthStates, healthStates::normal, healthStates::degraded + unreachable (1): healthStates::maintenance +shortest trigger sequences (nothing bound, every trigger): + operatingStates (no trigger) + operatingStates::off (no trigger) + operatingStates::starting IgnitionCmd + operatingStates::on IgnitionCmd, VehicleOnSignal + healthStates (no trigger) + healthStates::normal (no trigger) + healthStates::maintenance at maintenanceTime + healthStates::degraded when senseTemperature.temp > Tmax diff --git a/examples/queries/expected/report.txt b/examples/queries/expected/report.txt new file mode 100644 index 0000000..ff859b6 --- /dev/null +++ b/examples/queries/expected/report.txt @@ -0,0 +1,73 @@ +== Reachable states: Pumps::PumpController::modes == +9 states, 10 transitions: + initial state: off + initial state in operating: operating::idle + initial state in operating::pumping: operating::pumping::low + off -> starting on PowerOn + starting -> operating on SelfTestDone if selfTestPassed and (temperature < maxTemperature) + starting -> fault on SelfTestDone if not selfTestPassed + operating -> off on PowerOff + operating -> fault on Overheat + fault -> off on Reset + operating::idle -> operating::pumping on Start + operating::pumping -> operating::idle on Stop + operating::pumping::low -> operating::pumping::high on Boost + operating::pumping::high -> operating::pumping::low on Relax +A: nothing bound, every trigger + reachable (8): off, starting, operating, operating::idle, operating::pumping, operating::pumping::low, operating::pumping::high, fault + unreachable (1): calibration +B: selfTestPassed = true, temperature = 25 + reachable (8): off, starting, operating, operating::idle, operating::pumping, operating::pumping::low, operating::pumping::high, fault + unreachable (1): calibration +C: selfTestPassed = false + reachable (3): off, starting, fault + unreachable (6): operating, operating::idle, operating::pumping, operating::pumping::low, operating::pumping::high, calibration +D: selfTestPassed = true, temperature = 95 + reachable (2): off, starting + unreachable (7): operating, operating::idle, operating::pumping, operating::pumping::low, operating::pumping::high, fault, calibration +E: selfTestPassed = true, temperature = 25, maxTemperature = 20 + reachable (2): off, starting + unreachable (7): operating, operating::idle, operating::pumping, operating::pumping::low, operating::pumping::high, fault, calibration +F: only PowerOn, SelfTestDone, Start; selfTestPassed = true, temperature = 25 + reachable (6): off, starting, operating, operating::idle, operating::pumping, operating::pumping::low + unreachable (3): operating::pumping::high, fault, calibration +shortest trigger sequences (selfTestPassed = true, temperature = 25): + off (no trigger) + starting PowerOn + operating PowerOn, SelfTestDone + operating::idle PowerOn, SelfTestDone + operating::pumping PowerOn, SelfTestDone, Start + operating::pumping::low PowerOn, SelfTestDone, Start + operating::pumping::high PowerOn, SelfTestDone, Start, Boost + fault PowerOn, SelfTestDone, Overheat + calibration unreachable + +== Structure: bills of materials and roll-ups == +Drones::Quadcopter + parts: Battery 1, Cell 6, FlightController 1, Frame 1, Motor 4, Propeller 4, Rotor 4 + mass 0.595, cost 143 +Drones::Hexacopter + parts: Battery 1, Cell 6, FlightController 1, Frame 1, Motor 6, Propeller 6, Rotor 6 + mass 0.675, cost 171 +Drones::CargoHexacopter + parts: Battery 1, Cell 8, FlightController 1, Frame 1, Motor 6, PayloadBay 1, Propeller 6, Rotor 6 + mass 0.815, cost 185 + +== Connectivity: Drones::Quadcopter == + battery -- controller (connection supply) + battery -> rotors.motor (flow powerFeed of Power) + controller -> rotors.motor (flow commands of Command) + rotors.motor -- rotors.propeller (connection drive) +from battery: controller, rotors.motor, rotors.propeller +from battery, through Power flows only: rotors.motor +from controller: battery, rotors.motor, rotors.propeller +from controller, through Command flows only: rotors.motor +from rotors.propeller: rotors.motor + +== Requirements == +scoutMass : MassLimit, satisfied by scout + massBound: vehicle.totalMass <= limit [0.595 <= 0.6] holds +haulerMass : MassLimit, satisfied by hauler + massBound: vehicle.totalMass <= limit [0.815 <= 0.9] holds +haulerCost : CostLimit, satisfied by hauler + costBound: vehicle.totalCost <= budget [185 <= 150] VIOLATED diff --git a/examples/queries/java/Queries.java b/examples/queries/java/Queries.java new file mode 100644 index 0000000..6a2ceae --- /dev/null +++ b/examples/queries/java/Queries.java @@ -0,0 +1,831 @@ +// Parametric queries over SysML v2 models, written against the SDK. +// +// Four families of queries, each a function of model elements and parameters: +// +// - state machines: which states a machine can reach, and the shortest sequence of triggers to +// each, given which triggers can occur and what is known of the values its guards read; +// - structure: a bill of materials and the roll-up of an attribute over the part tree, with +// multiplicities evaluated in context, redefined values, and inherited parts; +// - connectivity: the parts a source part reaches through connections and flows, optionally +// through flows of one item definition only; +// - requirements: whether the constraints of each satisfied requirement hold for the part that +// satisfies it. +// +// The queries read specification properties only (nestedState, usage, multiplicity, +// featureMembership, ...), so they run unchanged on either backend. Guards, multiplicity bounds, +// attribute values and constraints are the model's own expressions, evaluated by evaluate() in +// three-valued logic: a value that the model does not determine and the caller did not bind is +// UNKNOWN, and a guard that is UNKNOWN may hold. +// +// What the queries simplify, on purpose: +// +// - A bound value holds for a whole exploration. Guard inputs such as a temperature vary over time +// in SysML; binding one asks "what if it always had this value", and leaving it unbound lets every +// guard over it go either way, independently of the others. +// - The regions of a parallel state are explored independently of each other. +// - A state that no transition or initial succession leads to is unreachable. That is the +// conventional reading; the library's semantics do not state it formally. +// - A requirement is checked by its required constraints. Its assumptions (`assume constraint`) and +// its nested requirements are not considered. +// - Connections and flows are followed where the model declares them; reaching a part means it may +// be reached, at the level of the usages, not that every instance is. +// +// The same queries exist for every language of the SDK, function for function. Values are Double, +// Boolean, String, an element, or UNKNOWN. + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Deque; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.function.Function; + +import org.openmbee.sysml.Element; +import org.openmbee.sysml.Model; +import org.openmbee.sysml.classes.*; + +public final class Queries { + private Queries() { + } + + /** The model does not give a query what it needs: a value, or an expression it can evaluate. */ + public static final class QueryError extends RuntimeException { + private static final long serialVersionUID = 1L; + + public QueryError(String message) { + super(message); + } + } + + // ---------------------------------------------------------------- names + + /** The element's name. A redefinition declared without a name has the name of the feature it + * redefines: `attribute :>> mass` is named `mass`. */ + public static String nameOf(Element element) { + String name = element.getName(); + return name == null || name.isEmpty() ? "(unnamed)" : name; + } + + /** The names of `element` and its owners up to `top` (not included), outermost first: + * `operating::pumping::high` for a state two levels below the machine `top`. */ + public static String pathBelow(Element element, Element top) { + List names = new ArrayList<>(); + while (element != null && !element.equals(top)) { + names.add(nameOf(element)); + element = element.getOwner(); + } + Collections.reverse(names); + return String.join("::", names); + } + + // ---------------------------------------------------------------- features and their values + + /** The usages of a definition or usage, owned and inherited, without those the standard library + * contributes (a part inherits `self`, `start`, `subparts`, ... from the library's `Part`). */ + public static List modelUsages(Type element) { + List usages = switch (element) { + case Definition d -> d.getUsage(); + case Usage u -> u.getUsage(); + default -> List.of(); + }; + List out = new ArrayList<>(); + for (Usage u : usages) + if (!Boolean.TRUE.equals(u.getIsLibraryElement())) + out.add(u); + return out; + } + + /** The parts of a definition or usage, owned and inherited. A connection is a part too in SysML; + * it is not a component, so it is left out. */ + public static List partUsages(Type element) { + List parts = new ArrayList<>(); + for (Usage u : modelUsages(element)) + if (u instanceof PartUsage part && !(u instanceof ConnectionUsage)) + parts.add(part); + return parts; + } + + /** Whether `feature` redefines `other`, directly or through a chain of redefinitions. */ + public static boolean redefines(Feature feature, Feature other) { + Set seen = new HashSet<>(); + Deque todo = new ArrayDeque<>(List.of(feature)); + while (!todo.isEmpty()) { + for (Redefinition redefinition : todo.pop().getOwnedRedefinition()) { + Feature redefined = redefinition.getRedefinedFeature(); + if (redefined != null && redefined.equals(other)) + return true; + if (redefined != null && seen.add(redefined)) + todo.push(redefined); + } + } + return false; + } + + /** The feature that stands for `feature` in `context`: among the context's features, owned or + * inherited, the one that is `feature` or redefines it. A type inherits only the most specific + * redefinition, so this is the one whose value holds in the context. */ + public static Feature featureIn(Type context, Feature feature) { + for (Feature candidate : context.getFeature()) + if (candidate.equals(feature) || redefines(candidate, feature)) + return candidate; + return feature; + } + + /** Whether a feature is one of the values an enumeration definition enumerates (`on` in + * `enum def IgnitionOnOff { on; off; }`). Those are owned through variant memberships, so they + * have an owning namespace but no owning type. */ + public static boolean isEnumerationLiteral(Element feature) { + return feature instanceof EnumerationUsage literal + && literal.getOwningNamespace() instanceof EnumerationDefinition; + } + + /** The expression a feature is bound to by its declaration (`= 0.045`), or null. */ + public static Expression valueExpression(Feature feature) { + for (Membership membership : feature.getOwnedMembership()) + if (membership instanceof FeatureValue value) + return value.getValue(); + return null; + } + + // ---------------------------------------------------------------- expressions + + /** A value that neither the model nor the caller determines. */ + public static final Object UNKNOWN = new Object() { + @Override + public String toString() { + return "unknown"; + } + }; + + /** + * What an expression is evaluated against. + * + * @param context the element whose features give values: a referenced feature has the value of + * the feature that stands for it in the context (featureIn) + * @param bindings values by feature name, which take precedence over the model's own + * @param derived attributes the caller computes, by name: a function of the element that has + * the attribute (`vehicle.totalMass` is derived.get("totalMass").apply(vehicle)) + */ + public record Scope(Type context, Map bindings, Map> derived) { + public Scope(Type context) { + this(context, Map.of(), Map.of()); + } + + public Scope within(Type context) { + return new Scope(context, bindings, derived); + } + } + + /** The value of `expr`: a Double, a Boolean, a String, an element, or UNKNOWN. */ + public static Object evaluate(Expression expr, Scope scope) { + if (expr instanceof LiteralInteger literal) + return literal.getValue().doubleValue(); + if (expr instanceof LiteralRational literal) + return literal.getValue(); + if (expr instanceof LiteralBoolean literal) + return literal.getValue(); + if (expr instanceof LiteralString literal) + return literal.getValue(); + if (expr instanceof LiteralInfinity) + return Double.POSITIVE_INFINITY; + if (expr instanceof FeatureChainExpression chain) // before OperatorExpression, which it specializes + return valueIn(evaluate(chain.getArgument().get(0), scope), chain.getTargetFeature(), scope); + if (expr instanceof FeatureReferenceExpression reference) + return valueOf(reference.getReferent(), scope); + if (expr instanceof OperatorExpression operation) + return applyOperator(operation.getOperator(), operation.getArgument(), scope); + throw new QueryError("cannot evaluate a " + expr.$metaclass()); + } + + /** The value of a referenced feature: a binding of its name; an enumeration literal, which is its + * own value; else the value the model gives the feature that stands for it in the scope's + * context; else UNKNOWN. */ + public static Object valueOf(Feature feature, Scope scope) { + // The second operand of `and`, `or` and `implies` is a reference to an expression, evaluated + // only when the operator needs it. + if (feature instanceof Expression expression) + return evaluate(expression, scope); + String name = nameOf(feature); + if (scope.bindings().containsKey(name)) + return scope.bindings().get(name); + if (isEnumerationLiteral(feature)) + return feature; + if (scope.context() != null) + feature = featureIn(scope.context(), feature); + Expression expr = valueExpression(feature); + return expr == null ? UNKNOWN : evaluate(expr, scope); + } + + /** `source.feature`: a derived attribute that the caller computes, else the value of the feature + * in the context of `source`. */ + public static Object valueIn(Object source, Feature feature, Scope scope) { + if (source == UNKNOWN) + return UNKNOWN; + if (!(source instanceof Type context)) + throw new QueryError(fmt(source) + " has no feature " + nameOf(feature)); + Function derive = scope.derived().get(nameOf(feature)); + if (derive != null) + return derive.apply(context); + return valueOf(feature, scope.within(context)); + } + + /** An operator over its argument expressions. `and`, `or` and `implies` evaluate their second + * operand only when the first does not decide, as SysML's conditional operators do; all the + * logical operators follow three-valued logic. Any other operator on an UNKNOWN is UNKNOWN. */ + public static Object applyOperator(String op, List args, Scope scope) { + if (op.equals("and") || op.equals("or") || op.equals("implies")) + return conditional(op, args, scope); + List values = new ArrayList<>(); + for (Expression arg : args) + values.add(evaluate(arg, scope)); + if (op.equals("not") && values.size() == 1) { + Object v = truth(values.get(0), op); + return v == UNKNOWN ? UNKNOWN : !(Boolean) v; + } + if (op.equals("xor") && values.size() == 2) { + Object a = truth(values.get(0), op), b = truth(values.get(1), op); + return a == UNKNOWN || b == UNKNOWN ? UNKNOWN : !a.equals(b); + } + if (values.contains(UNKNOWN)) + return UNKNOWN; + if ((op.equals("==") || op.equals("!=")) && values.size() == 2) { + boolean equal = same(values.get(0), values.get(1)); + return op.equals("==") ? equal : !equal; + } + List numbers = new ArrayList<>(); + for (Object v : values) + numbers.add(number(v, op)); + if (numbers.size() == 1 && (op.equals("-") || op.equals("+"))) + return op.equals("-") ? -numbers.get(0) : numbers.get(0); + if (numbers.size() == 2) { + double a = numbers.get(0), b = numbers.get(1); + switch (op) { + case "<": return a < b; + case "<=": return a <= b; + case ">": return a > b; + case ">=": return a >= b; + case "+": return a + b; + case "-": return a - b; + case "*": return a * b; + case "/": return a / b; + default: break; + } + } + throw new QueryError("operator '" + op + "' on " + args.size() + " operand(s) is not supported"); + } + + private static Object conditional(String op, List args, Scope scope) { + Object left = truth(evaluate(args.get(0), scope), op); + if ((op.equals("and") && Boolean.FALSE.equals(left)) || (op.equals("or") && Boolean.TRUE.equals(left))) + return left; + if (op.equals("implies") && Boolean.FALSE.equals(left)) + return true; + Object right = truth(evaluate(args.get(1), scope), op); + boolean unknown = left == UNKNOWN || right == UNKNOWN; + if (op.equals("and")) + return Boolean.FALSE.equals(right) ? (Object) false : unknown ? UNKNOWN : true; + return Boolean.TRUE.equals(right) ? (Object) true : unknown ? UNKNOWN : false; // or, implies + } + + private static Object truth(Object value, String op) { + if (value == UNKNOWN || value instanceof Boolean) + return value; + throw new QueryError("'" + op + "' needs a Boolean, not " + fmt(value)); + } + + private static double number(Object value, String op) { + if (value instanceof Number n) + return n.doubleValue(); + throw new QueryError("'" + op + "' needs a number, not " + fmt(value)); + } + + /** Equality within a kind of value: numbers by value, elements by identity. */ + private static boolean same(Object a, Object b) { + if (a instanceof Number x && b instanceof Number y) + return x.doubleValue() == y.doubleValue(); + return !(a instanceof Number) && !(b instanceof Number) && a.equals(b); + } + + public static boolean isNumber(Object value) { + return value instanceof Number; + } + + /** A value for a report: numbers with at most three decimals, elements by name. */ + public static String fmt(Object value) { + if (value == UNKNOWN) + return "unknown"; + if (value instanceof Boolean b) + return b ? "true" : "false"; + if (value instanceof Number n) { + double d = n.doubleValue(); + if (Double.isInfinite(d)) + return "*"; + // Rounded from the exact binary value, as printf does; String.format would round the + // shortest decimal form instead. + String text = new BigDecimal(d).setScale(3, RoundingMode.HALF_EVEN).toPlainString() + .replaceAll("0+$", "").replaceAll("\\.$", ""); + return text.equals("-0") ? "0" : text; + } + if (value instanceof String s) + return "\"" + s + "\""; + return nameOf((Element) value); + } + + /** An expression in SysML notation, with every nested operation in parentheses. */ + public static String render(Expression expr) { + if (expr instanceof LiteralInteger literal) + return fmt(literal.getValue().doubleValue()); + if (expr instanceof LiteralRational literal) + return fmt(literal.getValue()); + if (expr instanceof LiteralBoolean literal) + return literal.getValue() ? "true" : "false"; + if (expr instanceof LiteralString literal) + return "\"" + literal.getValue() + "\""; + if (expr instanceof LiteralInfinity) + return "*"; + if (expr instanceof FeatureChainExpression chain) + return render(chain.getArgument().get(0)) + "." + nameOf(chain.getTargetFeature()); + if (expr instanceof FeatureReferenceExpression reference) { + Feature referent = reference.getReferent(); + if (referent instanceof Expression expression) + return render(expression); + if (isEnumerationLiteral(referent)) + return nameOf(referent.getOwningNamespace()) + "::" + nameOf(referent); + return nameOf(referent); + } + if (expr instanceof TriggerInvocationExpression trigger) + return trigger.getKind() + " " + render(trigger.getArgument().get(0)); + if (expr instanceof OperatorExpression operation) { + List operands = new ArrayList<>(); + for (Expression arg : operation.getArgument()) + operands.add(operand(arg)); + String op = operation.getOperator(); + if (operands.size() == 1) + return op.chars().allMatch(Character::isLetter) ? op + " " + operands.get(0) : op + operands.get(0); + return String.join(" " + op + " ", operands); + } + return "<" + expr.$metaclass() + ">"; + } + + private static String operand(Expression expr) { + if (expr instanceof FeatureReferenceExpression reference && reference.getReferent() instanceof Expression referent) + expr = referent; + String text = render(expr); + boolean nested = expr instanceof OperatorExpression && !(expr instanceof FeatureChainExpression); + return nested ? "(" + text + ")" : text; + } + + // ---------------------------------------------------------------- state machines + + /** Every state nested in `machine` at any depth, in the order the model declares them, each state + * before its substates. */ + public static List statesOf(StateUsage machine) { + List states = new ArrayList<>(); + for (StateUsage state : machine.getNestedState()) { + states.add(state); + states.addAll(statesOf(state)); + } + return states; + } + + /** Every transition declared in `machine` or in a state nested in it. */ + public static List transitionsOf(StateUsage machine) { + List states = new ArrayList<>(List.of(machine)); + states.addAll(statesOf(machine)); + List transitions = new ArrayList<>(); + for (StateUsage state : states) + transitions.addAll(state.getNestedTransition()); + return transitions; + } + + /** The states `state` starts in: the targets of the successions it owns (`first start then off;`); + * a transition is not a succession of this kind. Only the target is read: the source, the start + * of the state, is a feature of the standard library, which a model loaded without the library, + * or read from a payload, cannot resolve. */ + public static List initialStates(StateUsage state) { + List initial = new ArrayList<>(); + for (Feature feature : state.getOwnedFeature()) + if (feature instanceof SuccessionAsUsage succession) + for (Feature target : succession.getTargetFeature()) + if (target instanceof StateUsage targetState) + initial.add(targetState); + return initial; + } + + /** A transition's trigger. The key is what must occur, as explore() selects triggers by it: the + * name of the accepted signal's definition, or `at`, `after` or `when` for a time or change + * event. The label says it in full (`at maintenanceTime`). */ + public record Trigger(String key, String label) { + } + + /** The transition's trigger, or null for a transition without one. */ + public static Trigger triggerOf(TransitionUsage transition) { + for (AcceptActionUsage accept : transition.getTriggerAction()) { + if (accept.getPayloadArgument() instanceof TriggerInvocationExpression argument) + return new Trigger(argument.getKind(), render(argument)); + ReferenceUsage payload = accept.getPayloadParameter(); + List types = payload != null ? payload.getType() : List.of(); + String name = types.isEmpty() ? "any" : nameOf(types.get(0)); + return new Trigger(name, name); + } + return null; + } + + /** Whether the transition's guards hold: true if it has none, false if one is known to be false, + * else true or UNKNOWN. */ + public static Object guardOf(TransitionUsage transition, Scope scope) { + Object result = true; + for (Expression guard : transition.getGuardExpression()) { + Object value = truth(evaluate(guard, scope), "if"); + if (Boolean.FALSE.equals(value)) + return false; + if (value == UNKNOWN) + result = UNKNOWN; + } + return result; + } + + /** `starting -> operating on SelfTestDone if selfTestPassed and (temperature < maxTemperature)` */ + public static String describeTransition(TransitionUsage transition, StateUsage machine) { + String text = pathBelow(transition.getSource(), machine) + " -> " + pathBelow(transition.getTarget(), machine); + Trigger trigger = triggerOf(transition); + if (trigger != null) + text += " on " + trigger.label(); + List guards = new ArrayList<>(); + for (Expression guard : transition.getGuardExpression()) + guards.add(render(guard)); + if (!guards.isEmpty()) + text += " if " + String.join(" and ", guards); + return text; + } + + /** `initial state in operating: operating::idle` */ + public static String describeInitial(StateUsage state, StateUsage initial, StateUsage machine) { + String where = !state.equals(machine) ? " in " + pathBelow(state, machine) : ""; + return "initial state" + where + ": " + pathBelow(initial, machine); + } + + /** The states that enclose `state`, innermost first, below `machine`. */ + public static List enclosingStates(StateUsage state, StateUsage machine) { + List out = new ArrayList<>(); + Element owner = state.getOwner(); + while (owner != null && !owner.equals(machine) && owner instanceof StateUsage enclosing) { + out.add(enclosing); + owner = enclosing.getOwner(); + } + return out; + } + + private record Visit(StateUsage state, List path, boolean enter) { + } + + /** + * The states of `machine` reachable from its initial state, each mapped to a shortest list of + * trigger labels that reaches it (empty for a state entered without any trigger). + * + * @param triggers the trigger keys that can occur (see triggerOf); null for every trigger + * @param bindings values of the features the guards read, by name. A guard that is not known to + * be false may hold. + * + * Entering a state enters every region of a parallel state, or else its initial states + * (initialStates) and the targets of the transitions from its entry action (the form + * `entry action initial; transition initial then off;`), and so on down. A transition from a + * state is taken from any of its substates too, and entering a nested target makes the states + * enclosing it active. Regions of a parallel state are explored independently of each other. + * + * This is a 0-1 breadth-first search: a triggered transition costs one and goes to the back of + * the queue, entering costs nothing and goes to the front. Where several shortest sequences + * exist, the queue's order decides which one is reported, and every language keeps that order. + */ + public static Map> explore(StateUsage machine, Collection triggers, + Map bindings) { + Scope scope = new Scope(null, bindings != null ? bindings : Map.of(), Map.of()); + Map> outgoing = new HashMap<>(); + for (TransitionUsage transition : transitionsOf(machine)) + outgoing.computeIfAbsent(transition.getSource(), k -> new ArrayList<>()).add(transition); + + Map> paths = new LinkedHashMap<>(); // state -> the shortest trigger labels + Set entered = new HashSet<>(); // states whose initial substates have been entered + Deque queue = new ArrayDeque<>(List.of(new Visit(machine, List.of(), true))); + + while (!queue.isEmpty()) { + Visit visit = queue.pollFirst(); + StateUsage state = visit.state(); + if (!paths.containsKey(state)) { + paths.put(state, visit.path()); + for (TransitionUsage transition : outgoing.getOrDefault(state, List.of())) + follow(transition, visit.path(), machine, triggers, scope, queue); + } + if (visit.enter() && entered.add(state)) { + if (Boolean.TRUE.equals(state.getIsParallel())) { + for (StateUsage region : state.getNestedState()) + queue.addFirst(new Visit(region, visit.path(), true)); + } else { + for (StateUsage initial : initialStates(state)) + queue.addFirst(new Visit(initial, visit.path(), true)); + if (state.getEntryAction() != null) + for (TransitionUsage transition : outgoing.getOrDefault(state.getEntryAction(), List.of())) + follow(transition, visit.path(), machine, triggers, scope, queue); + } + } + } + paths.remove(machine); + return paths; + } + + private static void follow(TransitionUsage transition, List path, StateUsage machine, + Collection triggers, Scope scope, Deque queue) { + Trigger trigger = triggerOf(transition); + if (trigger != null && triggers != null && !triggers.contains(trigger.key())) + return; + if (Boolean.FALSE.equals(guardOf(transition, scope))) + return; + if (!(transition.getTarget() instanceof StateUsage target)) + throw new QueryError(nameOf(transition) + " does not lead to a state"); + List arrivals = new ArrayList<>(List.of(new Visit(target, path, true))); + for (StateUsage enclosing : enclosingStates(target, machine)) + arrivals.add(new Visit(enclosing, path, false)); + for (Visit arrival : arrivals) { + if (trigger == null) { + queue.addFirst(arrival); + } else { + List longer = new ArrayList<>(path); + longer.add(trigger.label()); + queue.addLast(new Visit(arrival.state(), longer, arrival.enter())); + } + } + } + + // ---------------------------------------------------------------- structure + + /** The multiplicity SysML implies for a usage that declares none (see multiplicityOf). */ + public static final Object DEFAULT_ONE = new Object() { + @Override + public String toString() { + return "[1..1]"; + } + }; + + /** The features that `feature` subsets or redefines by a relationship written in the model, not + * an implied one (a part's implied subsetting of the library's `parts`). */ + public static List explicitSubsettings(Feature feature) { + List subsetted = new ArrayList<>(); + for (Subsetting subsetting : feature.getOwnedSubsetting()) + if (!Boolean.TRUE.equals(subsetting.getIsImplied()) && subsetting.getSubsettedFeature() != null) + subsetted.add(subsetting.getSubsettedFeature()); + return subsetted; + } + + /** Whether SysML gives `usage` the default multiplicity [1..1] when it declares none and subsets + * or redefines nothing explicitly: an attribute, item, part or port usage (not a connection) + * owned by a definition or usage. */ + public static boolean hasDefaultMultiplicity(Feature usage) { + boolean kind = (usage instanceof AttributeUsage || usage instanceof ItemUsage || usage instanceof PortUsage) + && !(usage instanceof ConnectionUsage); + return kind && (usage.getOwningType() instanceof Definition || usage.getOwningType() instanceof Usage); + } + + /** What says how many instances a usage stands for, by SysML's rule for usages: its own + * multiplicity; else that of the usages it explicitly subsets or redefines, nearest first (in a + * valid model a redefinition only narrows what it redefines, so the nearest is the tightest); + * else DEFAULT_ONE, for a usage that has the default [1..1]; else null: nothing constrains it + * ([0..*]). The result is a Multiplicity, DEFAULT_ONE or null. */ + public static Object multiplicityOf(Feature usage) { + Set seen = new HashSet<>(List.of(usage)); + Deque todo = new ArrayDeque<>(List.of(usage)); + while (!todo.isEmpty()) { + Feature current = todo.pollFirst(); + if (current.getMultiplicity() != null) + return current.getMultiplicity(); + List subsetted = explicitSubsettings(current); + if (subsetted.isEmpty()) + return hasDefaultMultiplicity(current) ? DEFAULT_ONE : null; + for (Feature feature : subsetted) + if (seen.add(feature)) + todo.addLast(feature); + } + return null; + } + + /** How many instances `usage` stands for in `context`. Its multiplicity's bounds, evaluated in the + * context (a bound may be an expression: `Rotor[rotorCount]`), must be one whole number. */ + public static int instanceCount(Feature usage, Type context) { + Object multiplicity = multiplicityOf(usage); + if (multiplicity == DEFAULT_ONE) + return 1; + if (multiplicity == null) + throw new QueryError(nameOf(usage) + " in " + nameOf(context) + " has no fixed number of instances: [0..*]"); + if (!(multiplicity instanceof MultiplicityRange range)) + throw new QueryError(nameOf(usage) + ": a " + ((Element) multiplicity).$metaclass() + " is not a range"); + Scope scope = new Scope(context); + Object upper = range.getUpperBound() != null ? evaluate(range.getUpperBound(), scope) : UNKNOWN; + Object lower = range.getLowerBound() != null ? evaluate(range.getLowerBound(), scope) : upper; + if (!(upper instanceof Double u && lower instanceof Double l && l.equals(u) && !u.isInfinite() && u == Math.rint(u))) + throw new QueryError(nameOf(usage) + " in " + nameOf(context) + " has no fixed number of instances: " + + fmt(lower) + ".." + fmt(upper)); + return (int) (double) u; + } + + /** The names of a part's definitions. */ + public static String definitionName(PartUsage part) { + List names = new ArrayList<>(); + for (PartDefinition definition : part.getPartDefinition()) + names.add(nameOf(definition)); + return names.isEmpty() ? "(untyped)" : String.join(", ", names); + } + + /** How many parts of each definition `root` consists of, at every depth, by definition name in + * alphabetical order. A part occurs as often as its instance count times its owner's. */ + public static Map billOfMaterials(Type root) { + Map counts = new TreeMap<>(); + countParts(root, 1, counts); + return counts; + } + + private static void countParts(Type node, int factor, Map counts) { + for (PartUsage part : partUsages(node)) { + int count = factor * instanceCount(part, node); + counts.merge(definitionName(part), count, Integer::sum); + countParts(part, count, counts); + } + } + + /** The sum of `attribute` over `node` and every part in it at any depth, each part counted as often + * as it occurs, each value the one that holds in its part's context (the most specific + * redefinition). */ + public static double rollup(Type node, Feature attribute) { + Object own = valueOf(attribute, new Scope(node)); + if (!(own instanceof Number n)) + throw new QueryError(nameOf(node) + " has no value for " + nameOf(attribute)); + double parts = 0; + for (PartUsage part : partUsages(node)) + parts += instanceCount(part, node) * rollup(part, attribute); + return n.doubleValue() + parts; + } + + // ---------------------------------------------------------------- connectivity + + /** A connection or flow between two parts, by their paths below the root (`rotors.motor`). + * + * @param kind "connection" or "flow" + * @param item what a flow carries: its payload's definition; null for a connection */ + public record Link(String source, String target, String kind, String name, String item) { + public String describe() { + String arrow = kind.equals("flow") ? "->" : "--"; + String carries = item != null ? " of " + item : ""; + return source + " " + arrow + " " + target + " (" + kind + " " + name + carries + ")"; + } + } + + /** The part that a connector's related feature designates, as names relative to the connector's + * owner. The feature is a feature or a feature chain (`rotors.motor`, `battery.powerOut`); a port + * at the end of the chain belongs to the part before it. */ + public static List partPath(Feature feature) { + List chain = new ArrayList<>(feature.getChainingFeature()); + if (chain.isEmpty()) + chain.add(feature); + while (chain.size() > 1 && chain.get(chain.size() - 1) instanceof PortUsage) + chain.remove(chain.size() - 1); + List names = new ArrayList<>(); + for (Feature f : chain) + names.add(nameOf(f)); + return names; + } + + /** Every connection and flow of `root` and of the parts nested in it, owned or inherited, from each + * connector's source feature to each of its target features. */ + public static List links(Type root) { + List found = new ArrayList<>(); + collectLinks(root, List.of(), found); + return found; + } + + private static void collectLinks(Type node, List prefix, List found) { + for (Usage usage : modelUsages(node)) { + if (!(usage instanceof ConnectorAsUsage connector) || connector.getSourceFeature() == null) + continue; + String source = joined(prefix, partPath(connector.getSourceFeature())); + for (Feature feature : connector.getTargetFeature()) { + String target = joined(prefix, partPath(feature)); + if (connector instanceof FlowUsage flow) { + List items = new ArrayList<>(); + for (Classifier type : flow.getPayloadType()) + items.add(nameOf(type)); + found.add(new Link(source, target, "flow", nameOf(flow), items.isEmpty() ? null : String.join(", ", items))); + } else { + found.add(new Link(source, target, "connection", nameOf(connector), null)); + } + } + } + for (PartUsage part : partUsages(node)) { + List longer = new ArrayList<>(prefix); + longer.add(nameOf(part)); + collectLinks(part, longer, found); + } + } + + private static String joined(List prefix, List path) { + List all = new ArrayList<>(prefix); + all.addAll(path); + return String.join(".", all); + } + + /** The parts that the part at path `source` reaches through the links of `root`, in alphabetical + * order: along a flow from its source to its target, along a connection either way. With `item`, + * through the flows of that item definition only (null for every link). */ + public static List reachableParts(Type root, String source, String item) { + Map> adjacent = new HashMap<>(); + for (Link link : links(root)) { + if (item != null && (!link.kind().equals("flow") || !item.equals(link.item()))) + continue; + adjacent.computeIfAbsent(link.source(), k -> new ArrayList<>()).add(link.target()); + if (link.kind().equals("connection")) + adjacent.computeIfAbsent(link.target(), k -> new ArrayList<>()).add(link.source()); + } + Set seen = new HashSet<>(List.of(source)); + Deque todo = new ArrayDeque<>(List.of(source)); + while (!todo.isEmpty()) { + for (String next : adjacent.getOrDefault(todo.pop(), List.of())) + if (seen.add(next)) + todo.push(next); + } + seen.remove(source); + return new ArrayList<>(new TreeSet<>(seen)); + } + + // ---------------------------------------------------------------- requirements + + /** One required constraint of a satisfied requirement, evaluated for the satisfying feature. + * + * @param value true, false or UNKNOWN + * @param operands the values of the constraint's operands, for the report + * @param negated `not satisfy`: the constraint is expected not to hold */ + public record Verdict(RequirementUsage requirement, Feature satisfiedBy, ConstraintUsage constraint, + Object value, List operands, boolean negated) { + public String outcome() { + if (value == UNKNOWN) + return "unknown"; + return !value.equals(negated) ? "holds" : "VIOLATED"; + } + } + + /** The constraints a requirement requires, its own and the ones it inherits: those of its + * requirement constraint memberships of kind `requirement` (`require constraint`, as opposed to + * `assume constraint`). The derived property requiredConstraint has the owned ones only. */ + public static List requiredConstraints(RequirementUsage requirement) { + List constraints = new ArrayList<>(); + for (FeatureMembership membership : requirement.getFeatureMembership()) + if (membership instanceof RequirementConstraintMembership required && "requirement".equals(required.getKind())) + constraints.add(required.getOwnedConstraint()); + return constraints; + } + + /** The expression whose value is the constraint's result, or null. */ + public static Expression resultExpression(ConstraintUsage constraint) { + for (Membership membership : constraint.getOwnedMembership()) + if (membership instanceof ResultExpressionMembership result) + return result.getOwnedResultExpression(); + return null; + } + + /** Every required constraint of every satisfied requirement in the model (not in the standard + * library), evaluated for the feature that satisfies it: the requirement's subject is that + * feature, the requirement's other features have the values the requirement gives them, and + * `derived` computes the attributes the model leaves to computation (a total mass is a roll-up). */ + public static List checkSatisfactions(Model model, Map> derived) { + List verdicts = new ArrayList<>(); + for (SatisfyRequirementUsage satisfy : model.elementsOfType(SatisfyRequirementUsage.class)) { + if (Boolean.TRUE.equals(satisfy.getIsLibraryElement())) + continue; + RequirementUsage requirement = satisfy.getSatisfiedRequirement(); + Feature by = satisfy.getSatisfyingFeature(); + Usage subject = requirement.getSubjectParameter(); + Map bindings = new HashMap<>(); + if (subject != null) + bindings.put(nameOf(subject), by); + Scope scope = new Scope(requirement, bindings, derived); + for (ConstraintUsage constraint : requiredConstraints(requirement)) { + Expression expr = resultExpression(constraint); + if (expr == null) + throw new QueryError(nameOf(constraint) + " has no result expression"); + Object value = evaluate(expr, scope); + List operands = new ArrayList<>(); + if (expr instanceof OperatorExpression operation) + for (Expression arg : operation.getArgument()) + operands.add(evaluate(arg, scope)); + verdicts.add(new Verdict(requirement, by, constraint, value, operands, Boolean.TRUE.equals(satisfy.getIsNegated()))); + } + } + return verdicts; + } +} diff --git a/examples/queries/java/QueriesDemo.java b/examples/queries/java/QueriesDemo.java new file mode 100644 index 0000000..795e335 --- /dev/null +++ b/examples/queries/java/QueriesDemo.java @@ -0,0 +1,250 @@ +// Parametric queries over two example models, and optionally over the vehicle model of SysML +// Annex A, printed as a report. The program in every language prints the same report, which is +// kept in examples/queries/expected/. +// +// Compile and run from the repository root (JDK 21 or newer, no build tool needed): +// +// javac --enable-preview --release 21 -d java/out $(find java/src -name '*.java') +// javac --enable-preview --release 21 -cp java/out -d examples/queries/java/out examples/queries/java/*.java +// java --enable-preview -cp java/out:examples/queries/java/out QueriesDemo (; instead of : on Windows) +// +// With no arguments the models are read through the SysML Toolkit; --payload reads their JSON +// exports instead, with the standard library as JSON, --library DIR loads the standard library +// with them, and --annex-a FILE --library DIR reports on the Annex A vehicle instead. The JSON +// exports and the library JSON are generated, not committed: python tools/export_example.py. The +// queries themselves are in Queries.java; this file loads the models and asks the questions. + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; + +import org.openmbee.sysml.ToolkitBackend; +import org.openmbee.sysml.Model; +import org.openmbee.sysml.NotImplementedInToolkitException; +import org.openmbee.sysml.PayloadLibrary; +import org.openmbee.sysml.classes.Expression; +import org.openmbee.sysml.classes.Feature; +import org.openmbee.sysml.classes.RequirementDefinition; +import org.openmbee.sysml.classes.StateUsage; +import org.openmbee.sysml.classes.TransitionUsage; +import org.openmbee.sysml.classes.Type; + +public class QueriesDemo { + static final Path MODELS = Path.of("examples", "queries", "models"); + static final Path LIBRARY_JSON = Path.of("examples", "sysml.library.full.json"); + static PayloadLibrary payloadLibrary; + + /** The standard library as JSON, read once and shared by every payload model. */ + static PayloadLibrary payloadLibrary() throws IOException { + if (payloadLibrary == null) + payloadLibrary = PayloadLibrary.fromJson(Files.readString(LIBRARY_JSON)); + return payloadLibrary; + } + + /** A model from examples/queries/models: `name`.sysml through the SysML Toolkit, or + * `name`.full.json with the library JSON. */ + static Model load(String name, boolean payload, String library) throws IOException { + if (payload) + return Model.fromFullJson(Files.readString(MODELS.resolve(name + ".full.json")), payloadLibrary()); + Map sources = Map.of(name + ".sysml", Files.readString(MODELS.resolve(name + ".sysml"))); + return new Model(ToolkitBackend.open(ToolkitBackend.library(), List.of(), sources, library)); + } + + static void heading(String title) { + System.out.println("== " + title + " =="); + } + + /** Run one report. Where the SysML Toolkit cannot vouch for a value yet it refuses the read + * (NotImplementedInToolkitException); the report stops there, says so, and the next one runs. */ + static void section(Runnable report) { + try { + report.run(); + } catch (NotImplementedInToolkitException e) { + System.out.println(" report stopped: " + e.getMessage()); + } + } + + /** A scenario: its title, the triggers that can occur (null for all), and the values bound. */ + record Scenario(String title, List triggers, Map bindings) { + } + + /** Values bound by name, in the order given: name, value, name, value, ... */ + static Map bind(Object... pairs) { + Map bindings = new LinkedHashMap<>(); + for (int i = 0; i < pairs.length; i += 2) + bindings.put((String) pairs[i], pairs[i + 1]); + return bindings; + } + + /** A scenario in words: the triggers that can occur and the values bound. */ + static String describe(List triggers, Map bindings) { + List parts = new ArrayList<>(); + if (triggers != null) + parts.add("only " + String.join(", ", triggers)); + if (!bindings.isEmpty()) { + List values = new ArrayList<>(); + bindings.forEach((name, value) -> values.add(name + " = " + Queries.fmt(value))); + parts.add(String.join(", ", values)); + } + return parts.isEmpty() ? "nothing bound, every trigger" : String.join("; ", parts); + } + + // ---------------------------------------------------------------- the reports + + /** Reachable states of `machine` under each scenario, then the shortest trigger sequences under + * the scenario `pathsFor`. */ + static void reportStates(StateUsage machine, List scenarios, Scenario pathsFor) { + heading("Reachable states: " + machine.getQualifiedName()); + List states = Queries.statesOf(machine); + List transitions = Queries.transitionsOf(machine); + System.out.println(states.size() + " states, " + transitions.size() + " transitions:"); + List withMachine = new ArrayList<>(List.of(machine)); + withMachine.addAll(states); + for (StateUsage state : withMachine) + for (StateUsage initial : Queries.initialStates(state)) + System.out.println(" " + Queries.describeInitial(state, initial, machine)); + for (TransitionUsage transition : transitions) + System.out.println(" " + Queries.describeTransition(transition, machine)); + for (Scenario scenario : scenarios) { + Map> reached = Queries.explore(machine, scenario.triggers(), scenario.bindings()); + System.out.println(scenario.title() + ": " + describe(scenario.triggers(), scenario.bindings())); + List reachable = new ArrayList<>(), unreachable = new ArrayList<>(); + for (StateUsage state : states) + (reached.containsKey(state) ? reachable : unreachable).add(Queries.pathBelow(state, machine)); + System.out.println(" reachable (" + reachable.size() + "): " + String.join(", ", reachable)); + System.out.println(" unreachable (" + unreachable.size() + "): " + + (unreachable.isEmpty() ? "-" : String.join(", ", unreachable))); + } + Map> reached = Queries.explore(machine, pathsFor.triggers(), pathsFor.bindings()); + System.out.println("shortest trigger sequences (" + describe(pathsFor.triggers(), pathsFor.bindings()) + "):"); + int width = 0; + for (StateUsage state : states) + width = Math.max(width, Queries.pathBelow(state, machine).length()); + for (StateUsage state : states) { + List path = reached.get(state); + String text = path == null ? "unreachable" : path.isEmpty() ? "(no trigger)" : String.join(", ", path); + System.out.println(" " + String.format("%-" + width + "s", Queries.pathBelow(state, machine)) + " " + text); + } + } + + static void reportStructure(List roots, List attributes) { + heading("Structure: bills of materials and roll-ups"); + for (Type root : roots) { + System.out.println(root.getQualifiedName()); + List parts = new ArrayList<>(); + Queries.billOfMaterials(root).forEach((name, count) -> parts.add(name + " " + count)); + System.out.println(" parts: " + String.join(", ", parts)); + List totals = new ArrayList<>(); + for (Feature attribute : attributes) + totals.add(Queries.nameOf(attribute) + " " + Queries.fmt(Queries.rollup(root, attribute))); + System.out.println(" " + String.join(", ", totals)); + } + } + + record Question(String source, String item) { + } + + static void reportConnectivity(Type root, List questions) { + heading("Connectivity: " + root.getQualifiedName()); + for (Queries.Link link : Queries.links(root)) + System.out.println(" " + link.describe()); + for (Question question : questions) { + String via = question.item() != null ? ", through " + question.item() + " flows only" : ""; + List reached = Queries.reachableParts(root, question.source(), question.item()); + System.out.println("from " + question.source() + via + ": " + (reached.isEmpty() ? "-" : String.join(", ", reached))); + } + } + + static void reportRequirements(Model model, Map> derived) { + heading("Requirements"); + for (Queries.Verdict v : Queries.checkSatisfactions(model, derived)) { + RequirementDefinition definition = v.requirement().getRequirementDefinition(); + String kind = definition != null ? " : " + Queries.nameOf(definition) : ""; + String verb = v.negated() ? "not satisfied" : "satisfied"; + Expression expr = Queries.resultExpression(v.constraint()); + List values = new ArrayList<>(); + for (Object operand : v.operands()) + values.add(Queries.fmt(operand)); + String op = expr instanceof org.openmbee.sysml.classes.OperatorExpression o ? o.getOperator() : ""; + System.out.println(Queries.nameOf(v.requirement()) + kind + ", " + verb + " by " + Queries.nameOf(v.satisfiedBy())); + System.out.println(" " + Queries.nameOf(v.constraint()) + ": " + Queries.render(expr) + " [" + + String.join(" " + op + " ", values) + "] " + v.outcome()); + } + } + + // ---------------------------------------------------------------- the questions + + static final Map TEMPERATE = bind("selfTestPassed", true, "temperature", 25.0); + + static final List PUMP_SCENARIOS = List.of( + new Scenario("A", null, bind()), + new Scenario("B", null, TEMPERATE), + new Scenario("C", null, bind("selfTestPassed", false)), + new Scenario("D", null, bind("selfTestPassed", true, "temperature", 95.0)), + new Scenario("E", null, bind("selfTestPassed", true, "temperature", 25.0, "maxTemperature", 20.0)), + new Scenario("F", List.of("PowerOn", "SelfTestDone", "Start"), TEMPERATE)); + + static void examples(boolean payload, String library) throws IOException { + Model pumps = load("pumps", payload, library); + section(() -> reportStates((StateUsage) pumps.resolve("Pumps::PumpController::modes"), PUMP_SCENARIOS, + new Scenario("", null, TEMPERATE))); + System.out.println(); + + Model drones = load("drones", payload, library); + Feature mass = (Feature) drones.resolve("Drones::Component::mass"); + Feature cost = (Feature) drones.resolve("Drones::Component::cost"); + List roots = new ArrayList<>(); + for (String name : List.of("Quadcopter", "Hexacopter", "CargoHexacopter")) + roots.add((Type) drones.resolve("Drones::" + name)); + section(() -> reportStructure(roots, List.of(mass, cost))); + System.out.println(); + section(() -> reportConnectivity((Type) drones.resolve("Drones::Quadcopter"), List.of( + new Question("battery", null), new Question("battery", "Power"), new Question("controller", null), + new Question("controller", "Command"), new Question("rotors.propeller", null)))); + System.out.println(); + Map> derived = new LinkedHashMap<>(); + derived.put("totalMass", part -> Queries.rollup(part, mass)); + derived.put("totalCost", part -> Queries.rollup(part, cost)); + section(() -> reportRequirements(drones, derived)); + } + + static void annexA(String path, String library) throws IOException { + Path file = Path.of(path); + Map sources = Map.of(file.getFileName().toString(), Files.readString(file)); + Model vehicle = new Model(ToolkitBackend.open(ToolkitBackend.library(), List.of(), sources, library)); + StateUsage machine = (StateUsage) vehicle.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates"); + section(() -> { + List keys = new ArrayList<>(); + for (TransitionUsage transition : Queries.transitionsOf(machine)) { + Queries.Trigger trigger = Queries.triggerOf(transition); + if (trigger != null && !trigger.key().equals("at") && !keys.contains(trigger.key())) + keys.add(trigger.key()); + } + reportStates(machine, List.of( + new Scenario("A", null, bind()), + new Scenario("B", null, bind("brakePedalDepressed", false)), + new Scenario("C", keys, bind())), new Scenario("", null, bind())); + }); + } + + static String option(String[] args, String name) { + for (int i = 0; i + 1 < args.length; i++) + if (args[i].equals(name)) + return args[i + 1]; + return null; + } + + public static void main(String[] args) throws IOException { + String library = option(args, "--library"); + String annex = option(args, "--annex-a"); + if (annex != null) + annexA(annex, library); + else + examples(List.of(args).contains("--payload"), library); + } +} diff --git a/examples/queries/models/drones.sysml b/examples/queries/models/drones.sysml new file mode 100644 index 0000000..98d4621 --- /dev/null +++ b/examples/queries/models/drones.sysml @@ -0,0 +1,123 @@ +package Drones { + doc /* A family of drones: a part tree with multiplicities given by attributes that each + * drone fixes for itself, attribute values along the tree, connections and flows between + * nested parts, and requirements satisfied by two drones. + */ + private import ScalarValues::*; + + attribute def Power; + attribute def Command; + + port def PowerPort { out attribute power : Power; } + port def CommandPort { out attribute command : Command; } + port def ShaftPort; + + part def Component { + attribute mass : Real; + attribute cost : Real; + attribute totalMass : Real; + attribute totalCost : Real; + } + + part def Cell :> Component { + attribute :>> mass = 0.045; + attribute :>> cost = 4.0; + } + // A battery of any size: the drones below say how many cells theirs has. + part def Battery :> Component { + attribute :>> mass = 0.02; + attribute :>> cost = 5.0; + attribute cellCount : Natural; + part cells : Cell[cellCount]; + port powerOut : PowerPort; + } + part def Motor :> Component { + attribute :>> mass = 0.03; + attribute :>> cost = 12.0; + port powerIn : ~PowerPort; + port commandIn : ~CommandPort; + port shaft : ShaftPort; + } + part def Propeller :> Component { + attribute :>> mass = 0.008; + attribute :>> cost = 1.5; + port hub : ~ShaftPort; + } + part def Rotor :> Component { + attribute :>> mass = 0.002; + attribute :>> cost = 0.5; + part motor : Motor; + part propeller : Propeller; + connection drive connect [1] motor.shaft to [1] propeller.hub; + } + part def FlightController :> Component { + attribute :>> mass = 0.015; + attribute :>> cost = 30.0; + port powerIn : ~PowerPort; + port commandOut : CommandPort; + } + part def Frame :> Component { + attribute :>> mass = 0.12; + attribute :>> cost = 20.0; + } + part def PayloadBay :> Component { + attribute :>> mass = 0.05; + attribute :>> cost = 6.0; + } + + // Any multicopter, with any number of rotors and any battery: each drone below fixes both. + part def Multicopter :> Component { + attribute :>> mass = 0.01; + attribute :>> cost = 8.0; + attribute rotorCount : Natural; + + part airframe : Frame; + part battery : Battery; + part controller : FlightController; + part rotors : Rotor[rotorCount]; + + connection supply connect [1] battery.powerOut to [1] controller.powerIn; + flow powerFeed of Power from battery.powerOut.power to rotors.motor.powerIn.power; + flow commands of Command from controller.commandOut.command to rotors.motor.commandIn.command; + } + + part def Quadcopter :> Multicopter { + attribute :>> rotorCount = 4; + part :>> battery { attribute :>> cellCount = 6; } + } + part def Hexacopter :> Multicopter { + attribute :>> rotorCount = 6; + part :>> battery { attribute :>> cellCount = 6; } + } + part def CargoHexacopter :> Multicopter { + attribute :>> rotorCount = 6; + part :>> battery { attribute :>> cellCount = 8; } + part payloadBay : PayloadBay; + } + + // The required constraints are named: the SysML Toolkit does not yet pass unnamed members on + // to specializations, and the requirement usages below reach these constraints by inheritance. + requirement def MassLimit { + doc /* The total mass of the subject does not exceed the limit. */ + subject vehicle : Component; + attribute limit : Real; + require constraint massBound { vehicle.totalMass <= limit } + } + requirement def CostLimit { + doc /* The total cost of the subject stays within the budget. */ + subject vehicle : Component; + attribute budget : Real; + require constraint costBound { vehicle.totalCost <= budget } + } + + requirement scoutMass : MassLimit { attribute :>> limit = 0.6; } + requirement haulerMass : MassLimit { attribute :>> limit = 0.9; } + requirement haulerCost : CostLimit { attribute :>> budget = 150.0; } + + part scout : Quadcopter; + part hauler : CargoHexacopter; + + satisfy scoutMass by scout; + satisfy haulerMass by hauler; + satisfy haulerCost by hauler; +} diff --git a/examples/queries/models/pumps.sysml b/examples/queries/models/pumps.sysml new file mode 100644 index 0000000..76d490e --- /dev/null +++ b/examples/queries/models/pumps.sysml @@ -0,0 +1,64 @@ +package Pumps { + doc /* A pump controller whose behavior is a hierarchical state machine: composite states with + * their own initial states, transitions that leave a composite state from any of its + * substates, guards over attributes (one with a default value), and a state that nothing + * leads to. + */ + private import ScalarValues::*; + + attribute def PowerOn; + attribute def PowerOff; + attribute def SelfTestDone; + attribute def Start; + attribute def Stop; + attribute def Boost; + attribute def Relax; + attribute def Overheat; + attribute def Reset; + + part def PumpController { + attribute temperature : Real; + attribute selfTestPassed : Boolean; + attribute maxTemperature : Real default 80.0; + + exhibit state modes { + // The initial state: the one that follows the start of the state machine. + first start then off; + + state off; + state starting; + state operating { + first start then idle; + + state idle; + state pumping { + first start then low; + + state low; + state high; + + transition low_to_high first low accept Boost then high; + transition high_to_low first high accept Relax then low; + } + + transition idle_to_pumping first idle accept Start then pumping; + transition pumping_to_idle first pumping accept Stop then idle; + } + state fault; + state calibration; + + transition off_to_starting first off accept PowerOn then starting; + transition starting_to_operating + first starting + accept SelfTestDone if selfTestPassed and temperature < maxTemperature + then operating; + transition starting_to_fault + first starting + accept SelfTestDone if not selfTestPassed + then fault; + transition operating_to_off first operating accept PowerOff then off; + transition operating_to_fault first operating accept Overheat then fault; + transition fault_to_off first fault accept Reset then off; + } + } +} diff --git a/examples/queries/python/demo.py b/examples/queries/python/demo.py new file mode 100644 index 0000000..7975590 --- /dev/null +++ b/examples/queries/python/demo.py @@ -0,0 +1,199 @@ +"""Parametric queries over two example models, and optionally over the vehicle model of SysML +Annex A, printed as a report. The program in every language prints the same report, which is kept +in examples/queries/expected/. + +Run from the repository root: + + python examples/queries/python/demo.py reads the models through the SysML Toolkit + python examples/queries/python/demo.py --payload reads their JSON exports instead, with + the standard library as JSON + python examples/queries/python/demo.py --library DIR loads the standard library with them + python examples/queries/python/demo.py --annex-a FILE --library DIR + reports on the Annex A vehicle instead + +The JSON exports and the library JSON are generated, not committed: python tools/export_example.py. + +The queries themselves are in queries.py; this file loads the models and asks the questions. +""" + +from __future__ import annotations + +import argparse +import functools +import json +import sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +MODELS = HERE.parent / "models" +LIBRARY_JSON = HERE.parents[1] / "sysml.library.full.json" +sys.path.insert(0, str(HERE.parents[2] / "python")) # not needed once the SDK is installed + +from sysml import Model, NotImplementedInToolkit, PayloadLibrary # noqa: E402 + +import queries as q # noqa: E402 + + +@functools.cache +def payload_library() -> PayloadLibrary: + """The standard library as JSON, read once and shared by every payload model.""" + return PayloadLibrary(json.loads(LIBRARY_JSON.read_text(encoding="utf-8"))) + + +def load(name: str, *, payload: bool, library: str | None) -> Model: + """A model from examples/queries/models: `name`.sysml through the SysML Toolkit, or + `name`.full.json with the library JSON.""" + if payload: + return Model.from_full_json(json.loads((MODELS / f"{name}.full.json").read_text(encoding="utf-8")), + library=payload_library()) + return Model.from_toolkit(sources={f"{name}.sysml": (MODELS / f"{name}.sysml").read_text(encoding="utf-8")}, + library_dir=library) + + +def heading(title: str) -> None: + print(f"== {title} ==") + + +def section(report, *args) -> None: + """Run one report. Where the SysML Toolkit cannot vouch for a value yet it refuses the read + (NotImplementedInToolkit); the report stops there, says so, and the next one runs.""" + try: + report(*args) + except NotImplementedInToolkit as e: + print(f" report stopped: {e}") + + +def describe(triggers, bindings) -> str: + """A scenario in words: the triggers that can occur and the values bound.""" + parts = [] + if triggers is not None: + parts.append("only " + ", ".join(triggers)) + if bindings: + parts.append(", ".join(f"{name} = {q.fmt(value)}" for name, value in bindings)) + return "; ".join(parts) if parts else "nothing bound, every trigger" + + +# ---------------------------------------------------------------- the reports + +def report_states(machine, scenarios, paths_for) -> None: + """Reachable states of `machine` under each scenario, then the shortest trigger sequences + under the scenario `paths_for`. A scenario is (title, triggers or None, bindings).""" + heading(f"Reachable states: {machine.qualifiedName}") + states = q.states_of(machine) + transitions = q.transitions_of(machine) + print(f"{len(states)} states, {len(transitions)} transitions:") + for state in [machine, *states]: + for initial in q.initial_states(state): + print(f" {q.describe_initial(state, initial, machine)}") + for transition in transitions: + print(f" {q.describe_transition(transition, machine)}") + for title, triggers, bindings in scenarios: + reached = q.explore(machine, triggers=triggers, bindings=dict(bindings)) + print(f"{title}: {describe(triggers, bindings)}") + reachable = [q.path_below(s, machine) for s in states if s in reached] + unreachable = [q.path_below(s, machine) for s in states if s not in reached] + print(f" reachable ({len(reachable)}): {', '.join(reachable)}") + print(f" unreachable ({len(unreachable)}): {', '.join(unreachable) or '-'}") + triggers, bindings = paths_for + reached = q.explore(machine, triggers=triggers, bindings=dict(bindings)) + print(f"shortest trigger sequences ({describe(triggers, bindings)}):") + width = max(len(q.path_below(s, machine)) for s in states) + for state in states: + path = reached.get(state) + text = "unreachable" if path is None else ", ".join(path) or "(no trigger)" + print(f" {q.path_below(state, machine).ljust(width)} {text}") + + +def report_structure(roots, attributes) -> None: + heading("Structure: bills of materials and roll-ups") + for root in roots: + print(root.qualifiedName) + bom = q.bill_of_materials(root) + print(" parts: " + ", ".join(f"{name} {count}" for name, count in bom.items())) + print(" " + ", ".join(f"{q.name_of(a)} {q.fmt(q.rollup(root, a))}" for a in attributes)) + + +def report_connectivity(root, questions) -> None: + heading(f"Connectivity: {root.qualifiedName}") + for link in q.links(root): + print(f" {link.describe()}") + for source, item in questions: + via = f", through {item} flows only" if item else "" + reached = q.reachable_parts(root, source, item=item) + print(f"from {source}{via}: {', '.join(reached) or '-'}") + + +def report_requirements(model, derived) -> None: + heading("Requirements") + for v in q.check_satisfactions(model, derived): + definition = v.requirement.requirementDefinition + kind = f" : {q.name_of(definition)}" if definition is not None else "" + verb = "not satisfied" if v.negated else "satisfied" + expr = q.result_expression(v.constraint) + values = f" {expr.operator} ".join(q.fmt(o) for o in v.operands) + print(f"{q.name_of(v.requirement)}{kind}, {verb} by {q.name_of(v.satisfied_by)}") + print(f" {q.name_of(v.constraint)}: {q.render(expr)} [{values}] {v.outcome}") + + +# ---------------------------------------------------------------- the questions + +TEMPERATE = [("selfTestPassed", True), ("temperature", 25.0)] + +PUMP_SCENARIOS = [ + ("A", None, []), + ("B", None, TEMPERATE), + ("C", None, [("selfTestPassed", False)]), + ("D", None, [("selfTestPassed", True), ("temperature", 95.0)]), + ("E", None, TEMPERATE + [("maxTemperature", 20.0)]), + ("F", ["PowerOn", "SelfTestDone", "Start"], TEMPERATE), +] + + +def examples(payload: bool, library: str | None) -> None: + pumps = load("pumps", payload=payload, library=library) + section(report_states, pumps.resolve("Pumps::PumpController::modes"), PUMP_SCENARIOS, (None, TEMPERATE)) + print() + + drones = load("drones", payload=payload, library=library) + mass, cost = drones.resolve("Drones::Component::mass"), drones.resolve("Drones::Component::cost") + section(report_structure, [drones.resolve(f"Drones::{d}") for d in ("Quadcopter", "Hexacopter", "CargoHexacopter")], + [mass, cost]) + print() + section(report_connectivity, drones.resolve("Drones::Quadcopter"), + [("battery", None), ("battery", "Power"), ("controller", None), ("controller", "Command"), + ("rotors.propeller", None)]) + print() + section(report_requirements, drones, {"totalMass": lambda part: q.rollup(part, mass), + "totalCost": lambda part: q.rollup(part, cost)}) + + +def annex_a_states(machine) -> None: + keys = [] + for transition in q.transitions_of(machine): + key, _ = q.trigger_of(transition) + if key is not None and key != "at" and key not in keys: + keys.append(key) + report_states(machine, [("A", None, []), ("B", None, [("brakePedalDepressed", False)]), ("C", keys, [])], + (None, [])) + + +def annex_a(path: str, library: str | None) -> None: + text = Path(path).read_text(encoding="utf-8") + vehicle = Model.from_toolkit(sources={Path(path).name: text}, library_dir=library) + section(annex_a_states, vehicle.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates")) + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + parser.add_argument("--payload", action="store_true", help="read the models' JSON exports") + parser.add_argument("--library", help="the standard library's directory, loaded with the models") + parser.add_argument("--annex-a", help="the Annex A vehicle model: report on its states instead") + args = parser.parse_args() + if args.annex_a: + annex_a(args.annex_a, args.library) + else: + examples(args.payload, args.library) + + +if __name__ == "__main__": + main() diff --git a/examples/queries/python/queries.py b/examples/queries/python/queries.py new file mode 100644 index 0000000..55e24d1 --- /dev/null +++ b/examples/queries/python/queries.py @@ -0,0 +1,729 @@ +"""Parametric queries over SysML v2 models, written against the SDK. + +Four families of queries, each a function of model elements and parameters: + +- state machines: which states a machine can reach, and the shortest sequence of triggers to each, + given which triggers can occur and what is known of the values its guards read; +- structure: a bill of materials and the roll-up of an attribute over the part tree, with + multiplicities evaluated in context, redefined values, and inherited parts; +- connectivity: the parts a source part reaches through connections and flows, optionally through + flows of one item definition only; +- requirements: whether the constraints of each satisfied requirement hold for the part that + satisfies it. + +The queries read specification properties only (`nestedState`, `usage`, `multiplicity`, +`featureMembership`, ...), so they run unchanged on either backend. Guards, multiplicity bounds, +attribute values and constraints are the model's own expressions, evaluated by `evaluate` in +three-valued logic: a value that the model does not determine and the caller did not bind is +UNKNOWN, and a guard that is UNKNOWN may hold. + +What the queries simplify, on purpose: + +- A bound value holds for a whole exploration. Guard inputs such as a temperature vary over time + in SysML; binding one asks "what if it always had this value", and leaving it unbound lets every + guard over it go either way, independently of the others. +- The regions of a parallel state are explored independently of each other. +- A state that no transition or initial succession leads to is unreachable. That is the + conventional reading; the library's semantics do not state it formally. +- A requirement is checked by its required constraints. Its assumptions (`assume constraint`) and + its nested requirements are not considered. +- Connections and flows are followed where the model declares them; reaching a part means it may + be reached, at the level of the usages, not that every instance is. + +The same queries exist for every language of the SDK, function for function. +""" + +from __future__ import annotations + +import math +from collections import deque +from dataclasses import dataclass, field +from typing import Any, Callable, Optional + +from sysml.classes import ( + AttributeUsage, + ConnectionUsage, + ConnectorAsUsage, + Definition, + Element, + EnumerationDefinition, + EnumerationUsage, + Expression, + FeatureChainExpression, + FeatureReferenceExpression, + FeatureValue, + FlowUsage, + ItemUsage, + LiteralBoolean, + LiteralInfinity, + LiteralInteger, + LiteralRational, + LiteralString, + MultiplicityRange, + OperatorExpression, + PartUsage, + PortUsage, + RequirementConstraintMembership, + ResultExpressionMembership, + SatisfyRequirementUsage, + StateUsage, + SuccessionAsUsage, + TriggerInvocationExpression, + Usage, +) + + +class QueryError(Exception): + """The model does not give a query what it needs: a value, or an expression it can evaluate.""" + + +# ---------------------------------------------------------------- names + +def name_of(element) -> str: + """The element's name. A redefinition declared without a name has the name of the feature it + redefines: `attribute :>> mass` is named `mass`.""" + return element.name or "(unnamed)" + + +def path_below(element, top) -> str: + """The names of `element` and its owners up to `top` (not included), outermost first: + `operating::pumping::high` for a state two levels below the machine `top`.""" + names = [] + while element is not None and element != top: + names.append(name_of(element)) + element = element.owner + return "::".join(reversed(names)) + + +# ---------------------------------------------------------------- features and their values + +def model_usages(element) -> list: + """The usages of a definition or usage, owned and inherited, without those the standard library + contributes (a part inherits `self`, `start`, `subparts`, ... from the library's `Part`).""" + return [u for u in element.usage if not u.isLibraryElement] + + +def part_usages(element) -> list: + """The parts of a definition or usage, owned and inherited. A connection is a part too in + SysML; it is not a component, so it is left out.""" + return [u for u in model_usages(element) if isinstance(u, PartUsage) and not isinstance(u, ConnectionUsage)] + + +def redefines(feature, other) -> bool: + """Whether `feature` redefines `other`, directly or through a chain of redefinitions.""" + seen, todo = set(), [feature] + while todo: + for redefinition in todo.pop().ownedRedefinition: + redefined = redefinition.redefinedFeature + if redefined == other: + return True + if redefined is not None and redefined not in seen: + seen.add(redefined) + todo.append(redefined) + return False + + +def feature_in(context, feature): + """The feature that stands for `feature` in `context`: among the context's features, owned or + inherited, the one that is `feature` or redefines it. A type inherits only the most specific + redefinition, so this is the one whose value holds in the context.""" + for candidate in context.feature: + if candidate == feature or redefines(candidate, feature): + return candidate + return feature + + +def is_enumeration_literal(feature) -> bool: + """Whether a feature is one of the values an enumeration definition enumerates (`on` in + `enum def IgnitionOnOff { on; off; }`). Those are owned through variant memberships, so they + have an owning namespace but no owning type.""" + return isinstance(feature, EnumerationUsage) and isinstance(feature.owningNamespace, EnumerationDefinition) + + +def value_expression(feature): + """The expression a feature is bound to by its declaration (`= 0.045`), or None.""" + for membership in feature.ownedMembership: + if isinstance(membership, FeatureValue): + return membership.value + return None + + +# ---------------------------------------------------------------- expressions + +class _Unknown: + def __repr__(self) -> str: + return "unknown" + + +UNKNOWN = _Unknown() +"""A value that neither the model nor the caller determines.""" + + +@dataclass +class Scope: + """What an expression is evaluated against. + + context: the element whose features give values: a referenced feature has the value of the + feature that stands for it in the context (`feature_in`); + bindings: values by feature name, which take precedence over the model's own; + derived: attributes the caller computes, by name: a function of the element that has the + attribute (`vehicle.totalMass` is derived["totalMass"](vehicle)). + """ + + context: Any = None + bindings: dict = field(default_factory=dict) + derived: dict = field(default_factory=dict) + + def within(self, context) -> "Scope": + return Scope(context, self.bindings, self.derived) + + +def evaluate(expr, scope: Scope): + """The value of `expr`: a number (float), a Boolean, a string, an element, or UNKNOWN.""" + if isinstance(expr, (LiteralInteger, LiteralRational)): + return float(expr.value) + if isinstance(expr, LiteralBoolean): + return bool(expr.value) + if isinstance(expr, LiteralString): + return expr.value + if isinstance(expr, LiteralInfinity): + return math.inf + if isinstance(expr, FeatureChainExpression): # before OperatorExpression, which it specializes + return value_in(evaluate(expr.argument[0], scope), expr.targetFeature, scope) + if isinstance(expr, FeatureReferenceExpression): + return value_of(expr.referent, scope) + if isinstance(expr, OperatorExpression): + return apply_operator(expr.operator, expr.argument, scope) + raise QueryError(f"cannot evaluate a {expr.metaclass_name}") + + +def value_of(feature, scope: Scope): + """The value of a referenced feature: a binding of its name; an enumeration literal, which is + its own value; else the value the model gives the feature that stands for it in the scope's + context; else UNKNOWN.""" + if isinstance(feature, Expression): + # The second operand of `and`, `or` and `implies` is a reference to an expression, + # evaluated only when the operator needs it. + return evaluate(feature, scope) + name = name_of(feature) + if name in scope.bindings: + return scope.bindings[name] + if is_enumeration_literal(feature): + return feature + if scope.context is not None: + feature = feature_in(scope.context, feature) + expr = value_expression(feature) + return UNKNOWN if expr is None else evaluate(expr, scope) + + +def value_in(source, feature, scope: Scope): + """`source.feature`: a derived attribute that the caller computes, else the value of the feature + in the context of `source`.""" + if source is UNKNOWN: + return UNKNOWN + if not isinstance(source, Element): + raise QueryError(f"{fmt(source)} has no feature {name_of(feature)}") + derive = scope.derived.get(name_of(feature)) + if derive is not None: + return derive(source) + return value_of(feature, scope.within(source)) + + +def apply_operator(op: str, args: list, scope: Scope): + """An operator over its argument expressions. `and`, `or` and `implies` evaluate their second + operand only when the first does not decide, as SysML's conditional operators do; all the + logical operators follow three-valued logic. Any other operator on an UNKNOWN is UNKNOWN.""" + if op in ("and", "or", "implies"): + return _conditional(op, args, scope) + values = [evaluate(a, scope) for a in args] + if op == "not" and len(values) == 1: + v = _truth(values[0], op) + return UNKNOWN if v is UNKNOWN else not v + if op == "xor" and len(values) == 2: + a, b = (_truth(v, op) for v in values) + return UNKNOWN if UNKNOWN in (a, b) else a != b + if any(v is UNKNOWN for v in values): + return UNKNOWN + if op in ("==", "!=") and len(values) == 2: + same = _same(values[0], values[1]) + return same if op == "==" else not same + numbers = [_number(v, op) for v in values] + if len(numbers) == 1 and op in ("-", "+"): + return -numbers[0] if op == "-" else numbers[0] + if len(numbers) == 2: + a, b = numbers + binary = { + "<": lambda: a < b, "<=": lambda: a <= b, ">": lambda: a > b, ">=": lambda: a >= b, + "+": lambda: a + b, "-": lambda: a - b, "*": lambda: a * b, "/": lambda: a / b, + }.get(op) + if binary is not None: + return binary() + raise QueryError(f"operator {op!r} on {len(args)} operand(s) is not supported") + + +def _conditional(op: str, args: list, scope: Scope): + left = _truth(evaluate(args[0], scope), op) + if (op == "and" and left is False) or (op == "or" and left is True): + return left + if op == "implies" and left is False: + return True + right = _truth(evaluate(args[1], scope), op) + if op == "and": + return False if right is False else (UNKNOWN if UNKNOWN in (left, right) else True) + if op == "or": + return True if right is True else (UNKNOWN if UNKNOWN in (left, right) else False) + return True if right is True else (UNKNOWN if UNKNOWN in (left, right) else False) # implies + + +def _truth(value, op: str): + if value is UNKNOWN or isinstance(value, bool): + return value + raise QueryError(f"{op!r} needs a Boolean, not {fmt(value)}") + + +def _number(value, op: str) -> float: + if is_number(value): + return float(value) + raise QueryError(f"{op!r} needs a number, not {fmt(value)}") + + +def _same(a, b) -> bool: + """Equality within a kind of value: numbers by value, elements by identity.""" + if is_number(a) and is_number(b): + return float(a) == float(b) + if isinstance(a, bool) or isinstance(b, bool): + return isinstance(a, bool) and isinstance(b, bool) and a == b + if isinstance(a, Element) or isinstance(b, Element): + return isinstance(a, Element) and isinstance(b, Element) and a == b + return isinstance(a, str) and isinstance(b, str) and a == b + + +def is_number(value) -> bool: + return isinstance(value, (int, float)) and not isinstance(value, bool) + + +def fmt(value) -> str: + """A value for a report: numbers with at most three decimals, elements by name.""" + if value is UNKNOWN: + return "unknown" + if isinstance(value, bool): + return "true" if value else "false" + if is_number(value): + value = float(value) + if math.isinf(value): + return "*" + text = f"{value:.3f}".rstrip("0").rstrip(".") + return "0" if text == "-0" else text + if isinstance(value, str): + return f'"{value}"' + return name_of(value) + + +def render(expr) -> str: + """An expression in SysML notation, with every nested operation in parentheses.""" + if isinstance(expr, (LiteralInteger, LiteralRational)): + return fmt(float(expr.value)) + if isinstance(expr, LiteralBoolean): + return "true" if expr.value else "false" + if isinstance(expr, LiteralString): + return f'"{expr.value}"' + if isinstance(expr, LiteralInfinity): + return "*" + if isinstance(expr, FeatureChainExpression): + return f"{render(expr.argument[0])}.{name_of(expr.targetFeature)}" + if isinstance(expr, FeatureReferenceExpression): + referent = expr.referent + if isinstance(referent, Expression): + return render(referent) + if is_enumeration_literal(referent): + return f"{name_of(referent.owningNamespace)}::{name_of(referent)}" + return name_of(referent) + if isinstance(expr, TriggerInvocationExpression): + return f"{expr.kind} {render(expr.argument[0])}" + if isinstance(expr, OperatorExpression): + operands = [_operand(a) for a in expr.argument] + if len(operands) == 1: + return f"{expr.operator} {operands[0]}" if expr.operator.isalpha() else f"{expr.operator}{operands[0]}" + return f" {expr.operator} ".join(operands) + return f"<{expr.metaclass_name}>" + + +def _operand(expr) -> str: + if isinstance(expr, FeatureReferenceExpression) and isinstance(expr.referent, Expression): + expr = expr.referent + text = render(expr) + nested = isinstance(expr, OperatorExpression) and not isinstance(expr, FeatureChainExpression) + return f"({text})" if nested else text + + +# ---------------------------------------------------------------- state machines + +def states_of(machine) -> list: + """Every state nested in `machine` at any depth, in the order the model declares them, each + state before its substates.""" + states = [] + for state in machine.nestedState: + states.append(state) + states.extend(states_of(state)) + return states + + +def transitions_of(machine) -> list: + """Every transition declared in `machine` or in a state nested in it.""" + return [t for state in [machine, *states_of(machine)] for t in state.nestedTransition] + + +def initial_states(state) -> list: + """The states `state` starts in: the targets of the successions it owns + (`first start then off;`); a transition is not a succession of this kind. Only the target is + read: the source, the start of the state, is a feature of the standard library, which a model + loaded without the library, or read from a payload, cannot resolve.""" + return [target for feature in state.ownedFeature if isinstance(feature, SuccessionAsUsage) + for target in feature.targetFeature if isinstance(target, StateUsage)] + + +def trigger_of(transition) -> tuple[Optional[str], Optional[str]]: + """The transition's trigger as (key, label). The key is what must occur, as `explore` selects + triggers by it: the name of the accepted signal's definition, or `at`, `after` or `when` for a + time or change event. The label says it in full (`at maintenanceTime`). (None, None) for a + transition without a trigger.""" + for accept in transition.triggerAction: + argument = accept.payloadArgument + if isinstance(argument, TriggerInvocationExpression): + return argument.kind, render(argument) + payload = accept.payloadParameter + types = payload.type if payload is not None else [] + name = name_of(types[0]) if types else "any" + return name, name + return None, None + + +def guard_of(transition, scope: Scope): + """Whether the transition's guards hold: True if it has none, False if one is known to be + false, else True or UNKNOWN.""" + result = True + for guard in transition.guardExpression: + value = _truth(evaluate(guard, scope), "if") + if value is False: + return False + if value is UNKNOWN: + result = UNKNOWN + return result + + +def describe_transition(transition, machine) -> str: + """`starting -> operating on SelfTestDone if selfTestPassed and (temperature < maxTemperature)`""" + text = f"{path_below(transition.source, machine)} -> {path_below(transition.target, machine)}" + _, label = trigger_of(transition) + if label is not None: + text += f" on {label}" + guards = [render(g) for g in transition.guardExpression] + if guards: + text += " if " + " and ".join(guards) + return text + + +def describe_initial(state, initial, machine) -> str: + """`initial state in operating: operating::idle`""" + where = f" in {path_below(state, machine)}" if state != machine else "" + return f"initial state{where}: {path_below(initial, machine)}" + + +def enclosing_states(state, machine) -> list: + """The states that enclose `state`, innermost first, below `machine`.""" + out = [] + owner = state.owner + while owner is not None and owner != machine and isinstance(owner, StateUsage): + out.append(owner) + owner = owner.owner + return out + + +def explore(machine, *, triggers=None, bindings=None) -> dict: + """The states of `machine` reachable from its initial state, each mapped to a shortest list of + trigger labels that reaches it (empty for a state entered without any trigger). + + triggers: the trigger keys that can occur (see `trigger_of`); None for every trigger. + bindings: values of the features the guards read, by name. A guard that is not known to be + false may hold. + + Entering a state enters every region of a parallel state, or else its initial states + (`initial_states`) and the targets of the transitions from its entry action (the form + `entry action initial; transition initial then off;`), and so on down. A transition from a + state is taken from any of its substates too, and entering a nested target makes the states + enclosing it active. Regions of a parallel state are explored independently of each other. + + This is a 0-1 breadth-first search: a triggered transition costs one and goes to the back of + the queue, entering costs nothing and goes to the front. Where several shortest sequences + exist, the queue's order decides which one is reported, and every language keeps that order. + """ + scope = Scope(bindings=dict(bindings or {})) + outgoing: dict = {} + for transition in transitions_of(machine): + outgoing.setdefault(transition.source, []).append(transition) + + paths: dict = {} # state -> the shortest trigger labels that reach it + entered: set = set() # states whose initial substates have been entered + queue = deque([(machine, [], True)]) # (state, trigger labels, whether it is being entered) + + def follow(transition, path): + key, label = trigger_of(transition) + if key is not None and triggers is not None and key not in triggers: + return + if guard_of(transition, scope) is False: + return + target = transition.target + arrivals = [(target, True)] + [(s, False) for s in enclosing_states(target, machine)] + for state, enter in arrivals: + if label is None: + queue.appendleft((state, path, enter)) + else: + queue.append((state, path + [label], enter)) + + while queue: + state, path, enter = queue.popleft() + if state not in paths: + paths[state] = path + for transition in outgoing.get(state, []): + follow(transition, path) + if enter and state not in entered: + entered.add(state) + if state.isParallel: + for region in state.nestedState: + queue.appendleft((region, path, True)) + else: + for initial in initial_states(state): + queue.appendleft((initial, path, True)) + if state.entryAction is not None: + for transition in outgoing.get(state.entryAction, []): + follow(transition, path) + del paths[machine] + return paths + + +# ---------------------------------------------------------------- structure + +class _DefaultOne: + def __repr__(self) -> str: + return "[1..1]" + + +DEFAULT_ONE = _DefaultOne() +"""The multiplicity SysML implies for a usage that declares none (see `multiplicity_of`).""" + + +def explicit_subsettings(feature) -> list: + """The features that `feature` subsets or redefines by a relationship written in the model, + not an implied one (a part's implied subsetting of the library's `parts`).""" + return [s.subsettedFeature for s in feature.ownedSubsetting + if not s.isImplied and s.subsettedFeature is not None] + + +def has_default_multiplicity(usage) -> bool: + """Whether SysML gives `usage` the default multiplicity [1..1] when it declares none and + subsets or redefines nothing explicitly: an attribute, item, part or port usage (not a + connection) owned by a definition or usage.""" + kind = isinstance(usage, (AttributeUsage, ItemUsage, PortUsage)) and not isinstance(usage, ConnectionUsage) + return kind and isinstance(usage.owningType, (Definition, Usage)) + + +def multiplicity_of(usage): + """What says how many instances a usage stands for, by SysML's rule for usages: its own + multiplicity; else that of the usages it explicitly subsets or redefines, nearest first (in a + valid model a redefinition only narrows what it redefines, so the nearest is the tightest); else + DEFAULT_ONE, for a usage that has the default [1..1]; else None: nothing constrains it ([0..*]).""" + seen, todo = {usage}, deque([usage]) + while todo: + current = todo.popleft() + if current.multiplicity is not None: + return current.multiplicity + subsetted = explicit_subsettings(current) + if not subsetted: + return DEFAULT_ONE if has_default_multiplicity(current) else None + for feature in subsetted: + if feature not in seen: + seen.add(feature) + todo.append(feature) + return None + + +def instance_count(usage, context) -> int: + """How many instances `usage` stands for in `context`. Its multiplicity's bounds, evaluated in + the context (a bound may be an expression: `Rotor[rotorCount]`), must be one whole number.""" + multiplicity = multiplicity_of(usage) + if multiplicity is DEFAULT_ONE: + return 1 + if multiplicity is None: + raise QueryError(f"{name_of(usage)} in {name_of(context)} has no fixed number of instances: [0..*]") + if not isinstance(multiplicity, MultiplicityRange): + raise QueryError(f"{name_of(usage)}: a {multiplicity.metaclass_name} is not a range") + scope = Scope(context) + upper = evaluate(multiplicity.upperBound, scope) if multiplicity.upperBound is not None else UNKNOWN + lower = evaluate(multiplicity.lowerBound, scope) if multiplicity.lowerBound is not None else upper + if not (is_number(upper) and lower == upper and math.isfinite(upper) and upper == int(upper)): + raise QueryError( + f"{name_of(usage)} in {name_of(context)} has no fixed number of instances: {fmt(lower)}..{fmt(upper)}") + return int(upper) + + +def definition_name(part) -> str: + """The names of a part's definitions.""" + return ", ".join(name_of(d) for d in part.partDefinition) or "(untyped)" + + +def bill_of_materials(root) -> dict[str, int]: + """How many parts of each definition `root` consists of, at every depth, by definition name + in alphabetical order. A part occurs as often as its instance count times its owner's.""" + counts: dict[str, int] = {} + + def walk(node, factor): + for part in part_usages(node): + count = factor * instance_count(part, node) + key = definition_name(part) + counts[key] = counts.get(key, 0) + count + walk(part, count) + + walk(root, 1) + return dict(sorted(counts.items())) + + +def rollup(node, attribute) -> float: + """The sum of `attribute` over `node` and every part in it at any depth, each part counted as + often as it occurs, each value the one that holds in its part's context (the most specific + redefinition).""" + own = value_of(attribute, Scope(node)) + if not is_number(own): + raise QueryError(f"{name_of(node)} has no value for {name_of(attribute)}") + return own + sum(instance_count(part, node) * rollup(part, attribute) for part in part_usages(node)) + + +# ---------------------------------------------------------------- connectivity + +@dataclass(frozen=True) +class Link: + """A connection or flow between two parts, by their paths below the root (`rotors.motor`).""" + + source: str + target: str + kind: str # "connection" or "flow" + name: str + item: Optional[str] = None # what a flow carries: its payload's definition + + def describe(self) -> str: + arrow = "->" if self.kind == "flow" else "--" + carries = f" of {self.item}" if self.item else "" + return f"{self.source} {arrow} {self.target} ({self.kind} {self.name}{carries})" + + +def part_path(feature) -> list[str]: + """The part that a connector's related feature designates, as names relative to the + connector's owner. The feature is a feature or a feature chain (`rotors.motor`, + `battery.powerOut`); a port at the end of the chain belongs to the part before it.""" + chain = feature.chainingFeature or [feature] + while len(chain) > 1 and isinstance(chain[-1], PortUsage): + chain = chain[:-1] + return [name_of(f) for f in chain] + + +def links(root) -> list[Link]: + """Every connection and flow of `root` and of the parts nested in it, owned or inherited, from + each connector's source feature to each of its target features.""" + found: list[Link] = [] + + def walk(node, prefix): + for connector in model_usages(node): + if not isinstance(connector, ConnectorAsUsage) or connector.sourceFeature is None: + continue + source = ".".join(prefix + part_path(connector.sourceFeature)) + for target in (".".join(prefix + part_path(f)) for f in connector.targetFeature): + if isinstance(connector, FlowUsage): + item = ", ".join(name_of(t) for t in connector.payloadType) or None + found.append(Link(source, target, "flow", name_of(connector), item)) + else: + found.append(Link(source, target, "connection", name_of(connector))) + for part in part_usages(node): + walk(part, prefix + [name_of(part)]) + + walk(root, []) + return found + + +def reachable_parts(root, source: str, *, item: Optional[str] = None) -> list[str]: + """The parts that the part at path `source` reaches through the links of `root`, in + alphabetical order: along a flow from its source to its target, along a connection either way. + With `item`, through the flows of that item definition only.""" + adjacent: dict[str, list[str]] = {} + for link in links(root): + if item is not None and (link.kind != "flow" or link.item != item): + continue + adjacent.setdefault(link.source, []).append(link.target) + if link.kind == "connection": + adjacent.setdefault(link.target, []).append(link.source) + seen, todo = {source}, [source] + while todo: + for nxt in adjacent.get(todo.pop(), []): + if nxt not in seen: + seen.add(nxt) + todo.append(nxt) + return sorted(seen - {source}) + + +# ---------------------------------------------------------------- requirements + +@dataclass(frozen=True) +class Verdict: + """One required constraint of a satisfied requirement, evaluated for the satisfying feature.""" + + requirement: Any + satisfied_by: Any + constraint: Any + value: Any # True, False or UNKNOWN + operands: list # the values of the constraint's operands, for the report + negated: bool # `not satisfy`: the constraint is expected not to hold + + @property + def outcome(self) -> str: + if self.value is UNKNOWN: + return "unknown" + return "holds" if self.value != self.negated else "VIOLATED" + + +def required_constraints(requirement) -> list: + """The constraints a requirement requires, its own and the ones it inherits: those of its + requirement constraint memberships of kind `requirement` (`require constraint`, as opposed + to `assume constraint`). The derived property `requiredConstraint` has the owned ones only.""" + return [ + m.ownedConstraint + for m in requirement.featureMembership + if isinstance(m, RequirementConstraintMembership) and m.kind == "requirement" + ] + + +def result_expression(constraint): + """The expression whose value is the constraint's result, or None.""" + for membership in constraint.ownedMembership: + if isinstance(membership, ResultExpressionMembership): + return membership.ownedResultExpression + return None + + +def check_satisfactions(model, derived: dict[str, Callable]) -> list[Verdict]: + """Every required constraint of every satisfied requirement in the model (not in the standard + library), evaluated for the feature that satisfies it: the requirement's subject is that + feature, the requirement's other features have the values the requirement gives them, and + `derived` computes the attributes the model leaves to computation (a total mass is a roll-up).""" + verdicts = [] + for satisfy in model.elements_of_type(SatisfyRequirementUsage): + if satisfy.isLibraryElement: + continue + requirement, by = satisfy.satisfiedRequirement, satisfy.satisfyingFeature + subject = requirement.subjectParameter + scope = Scope(requirement, {name_of(subject): by} if subject is not None else {}, derived) + for constraint in required_constraints(requirement): + expr = result_expression(constraint) + if expr is None: + raise QueryError(f"{name_of(constraint)} has no result expression") + value = evaluate(expr, scope) + operands = [evaluate(a, scope) for a in expr.argument] if isinstance(expr, OperatorExpression) else [] + verdicts.append(Verdict(requirement, by, constraint, value, operands, bool(satisfy.isNegated))) + return verdicts diff --git a/examples/queries/typescript/demo.mjs b/examples/queries/typescript/demo.mjs new file mode 100644 index 0000000..7f0e044 --- /dev/null +++ b/examples/queries/typescript/demo.mjs @@ -0,0 +1,189 @@ +// Parametric queries over two example models, and optionally over the vehicle model of SysML +// Annex A, printed as a report. The program in every language prints the same report, which is +// kept in examples/queries/expected/. +// +// Run from the repository root: +// +// node examples/queries/typescript/demo.mjs reads the models through the SysML Toolkit +// node examples/queries/typescript/demo.mjs --payload reads their JSON exports instead, with +// the standard library as JSON +// node examples/queries/typescript/demo.mjs --library DIR loads the standard library with them +// node examples/queries/typescript/demo.mjs --annex-a FILE --library DIR +// reports on the Annex A vehicle instead +// +// The SysML Toolkit runs in the WebAssembly build of the binding library, which reads no files; +// in Node `libraryDir` reads the standard library's files for it. The JSON exports and the library +// JSON are generated, not committed: python tools/export_example.py. The queries themselves are in +// queries.mjs; this file loads the models and asks the questions. + +import { readFileSync } from "node:fs"; +import { basename, dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { ToolkitBackend, Model, NotImplementedInToolkit, PayloadLibrary } from "../../../ts/index.mjs"; // `sysml` once published +import * as q from "./queries.mjs"; + +const MODELS = join(dirname(fileURLToPath(import.meta.url)), "..", "models"); +const LIBRARY_JSON = join(MODELS, "..", "..", "sysml.library.full.json"); + +let payloadLibrary = null; + +/** The standard library as JSON, read once and shared by every payload model. */ +function readPayloadLibrary() { + payloadLibrary ??= new PayloadLibrary(JSON.parse(readFileSync(LIBRARY_JSON, "utf8"))); + return payloadLibrary; +} + +/** A model from examples/queries/models: `name`.sysml through the SysML Toolkit, or + * `name`.full.json with the library JSON. */ +async function load(name, { payload, library }) { + if (payload) + return Model.fromFullJson(JSON.parse(readFileSync(join(MODELS, `${name}.full.json`), "utf8")), + { library: readPayloadLibrary() }); + const sources = { [`${name}.sysml`]: readFileSync(join(MODELS, `${name}.sysml`), "utf8") }; + return new Model(await ToolkitBackend.open({ sources, libraryDir: library ?? undefined })); +} + +function heading(title) { + console.log(`== ${title} ==`); +} + +/** Run one report. Where the SysML Toolkit cannot vouch for a value yet it refuses the read + * (NotImplementedInToolkit); the report stops there, says so, and the next one runs. */ +function section(report) { + try { + report(); + } catch (e) { + if (!(e instanceof NotImplementedInToolkit)) throw e; + console.log(` report stopped: ${e.message}`); + } +} + +/** A scenario in words: the triggers that can occur and the values bound. */ +function describe(triggers, bindings) { + const parts = []; + if (triggers != null) parts.push(`only ${triggers.join(", ")}`); + if (bindings.length > 0) parts.push(bindings.map(([name, value]) => `${name} = ${q.fmt(value)}`).join(", ")); + return parts.length > 0 ? parts.join("; ") : "nothing bound, every trigger"; +} + +// ---------------------------------------------------------------- the reports + +/** Reachable states of `machine` under each scenario, then the shortest trigger sequences under + * the scenario `pathsFor`. A scenario is [title, triggers or null, bindings]. */ +function reportStates(machine, scenarios, pathsFor) { + heading(`Reachable states: ${machine.qualifiedName}`); + const states = q.statesOf(machine); + const transitions = q.transitionsOf(machine); + console.log(`${states.length} states, ${transitions.length} transitions:`); + for (const state of [machine, ...states]) + for (const initial of q.initialStates(state)) console.log(` ${q.describeInitial(state, initial, machine)}`); + for (const transition of transitions) console.log(` ${q.describeTransition(transition, machine)}`); + for (const [title, triggers, bindings] of scenarios) { + const reached = q.explore(machine, { triggers, bindings }); + console.log(`${title}: ${describe(triggers, bindings)}`); + const reachable = states.filter((s) => reached.has(s)).map((s) => q.pathBelow(s, machine)); + const unreachable = states.filter((s) => !reached.has(s)).map((s) => q.pathBelow(s, machine)); + console.log(` reachable (${reachable.length}): ${reachable.join(", ")}`); + console.log(` unreachable (${unreachable.length}): ${unreachable.join(", ") || "-"}`); + } + const [triggers, bindings] = pathsFor; + const reached = q.explore(machine, { triggers, bindings }); + console.log(`shortest trigger sequences (${describe(triggers, bindings)}):`); + const width = Math.max(...states.map((s) => q.pathBelow(s, machine).length)); + for (const state of states) { + const path = reached.get(state); + const text = path === undefined ? "unreachable" : path.join(", ") || "(no trigger)"; + console.log(` ${q.pathBelow(state, machine).padEnd(width)} ${text}`); + } +} + +function reportStructure(roots, attributes) { + heading("Structure: bills of materials and roll-ups"); + for (const root of roots) { + console.log(root.qualifiedName); + const bom = q.billOfMaterials(root); + console.log(` parts: ${[...bom].map(([name, count]) => `${name} ${count}`).join(", ")}`); + console.log(` ${attributes.map((a) => `${q.nameOf(a)} ${q.fmt(q.rollup(root, a))}`).join(", ")}`); + } +} + +function reportConnectivity(root, questions) { + heading(`Connectivity: ${root.qualifiedName}`); + for (const link of q.links(root)) console.log(` ${link.describe()}`); + for (const [source, item] of questions) { + const via = item ? `, through ${item} flows only` : ""; + const reached = q.reachableParts(root, source, { item }); + console.log(`from ${source}${via}: ${reached.join(", ") || "-"}`); + } +} + +function reportRequirements(model, derived) { + heading("Requirements"); + for (const v of q.checkSatisfactions(model, derived)) { + const definition = v.requirement.requirementDefinition; + const kind = definition != null ? ` : ${q.nameOf(definition)}` : ""; + const verb = v.negated ? "not satisfied" : "satisfied"; + const expr = q.resultExpression(v.constraint); + const values = v.operands.map(q.fmt).join(` ${expr.operator} `); + console.log(`${q.nameOf(v.requirement)}${kind}, ${verb} by ${q.nameOf(v.satisfiedBy)}`); + console.log(` ${q.nameOf(v.constraint)}: ${q.render(expr)} [${values}] ${v.outcome}`); + } +} + +// ---------------------------------------------------------------- the questions + +const TEMPERATE = [["selfTestPassed", true], ["temperature", 25]]; + +const PUMP_SCENARIOS = [ + ["A", null, []], + ["B", null, TEMPERATE], + ["C", null, [["selfTestPassed", false]]], + ["D", null, [["selfTestPassed", true], ["temperature", 95]]], + ["E", null, [...TEMPERATE, ["maxTemperature", 20]]], + ["F", ["PowerOn", "SelfTestDone", "Start"], TEMPERATE], +]; + +async function examples(options) { + const pumps = await load("pumps", options); + section(() => reportStates(pumps.resolve("Pumps::PumpController::modes"), PUMP_SCENARIOS, [null, TEMPERATE])); + console.log(); + + const drones = await load("drones", options); + const mass = drones.resolve("Drones::Component::mass"); + const cost = drones.resolve("Drones::Component::cost"); + section(() => reportStructure(["Quadcopter", "Hexacopter", "CargoHexacopter"].map((d) => drones.resolve(`Drones::${d}`)), [mass, cost])); + console.log(); + section(() => reportConnectivity(drones.resolve("Drones::Quadcopter"), [ + ["battery", null], ["battery", "Power"], ["controller", null], ["controller", "Command"], ["rotors.propeller", null], + ])); + console.log(); + section(() => reportRequirements(drones, new Map([ + ["totalMass", (part) => q.rollup(part, mass)], + ["totalCost", (part) => q.rollup(part, cost)], + ]))); +} + +async function annexA(path, library) { + const sources = { [basename(path)]: readFileSync(path, "utf8") }; + const vehicle = new Model(await ToolkitBackend.open({ sources, libraryDir: library ?? undefined })); + const machine = vehicle.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates"); + section(() => { + const keys = []; + for (const transition of q.transitionsOf(machine)) { + const [key] = q.triggerOf(transition); + if (key != null && key !== "at" && !keys.includes(key)) keys.push(key); + } + reportStates(machine, [["A", null, []], ["B", null, [["brakePedalDepressed", false]]], ["C", keys, []]], [null, []]); + }); +} + +function option(args, name) { + const i = args.indexOf(name); + return i >= 0 ? args[i + 1] : null; +} + +const args = process.argv.slice(2); +const library = option(args, "--library"); +const annex = option(args, "--annex-a"); +if (annex) await annexA(annex, library); +else await examples({ payload: args.includes("--payload"), library }); diff --git a/examples/queries/typescript/queries.mjs b/examples/queries/typescript/queries.mjs new file mode 100644 index 0000000..fc08a74 --- /dev/null +++ b/examples/queries/typescript/queries.mjs @@ -0,0 +1,660 @@ +// Parametric queries over SysML v2 models, written against the SDK. +// +// Four families of queries, each a function of model elements and parameters: +// +// - state machines: which states a machine can reach, and the shortest sequence of triggers to +// each, given which triggers can occur and what is known of the values its guards read; +// - structure: a bill of materials and the roll-up of an attribute over the part tree, with +// multiplicities evaluated in context, redefined values, and inherited parts; +// - connectivity: the parts a source part reaches through connections and flows, optionally +// through flows of one item definition only; +// - requirements: whether the constraints of each satisfied requirement hold for the part that +// satisfies it. +// +// The queries read specification properties only (nestedState, usage, multiplicity, +// featureMembership, ...), so they run unchanged on either backend. Guards, multiplicity bounds, +// attribute values and constraints are the model's own expressions, evaluated by evaluate() in +// three-valued logic: a value that the model does not determine and the caller did not bind is +// UNKNOWN, and a guard that is UNKNOWN may hold. +// +// What the queries simplify, on purpose: +// +// - A bound value holds for a whole exploration. Guard inputs such as a temperature vary over time +// in SysML; binding one asks "what if it always had this value", and leaving it unbound lets every +// guard over it go either way, independently of the others. +// - The regions of a parallel state are explored independently of each other. +// - A state that no transition or initial succession leads to is unreachable. That is the +// conventional reading; the library's semantics do not state it formally. +// - A requirement is checked by its required constraints. Its assumptions (`assume constraint`) and +// its nested requirements are not considered. +// - Connections and flows are followed where the model declares them; reaching a part means it may +// be reached, at the level of the usages, not that every instance is. +// +// The same queries exist for every language of the SDK, function for function. Elements are the +// SDK's Proxy objects; a model hands out one object per element, so `===` is element identity +// and elements can key a Map or a Set. + +import { elementsOfType, is } from "../../../ts/index.mjs"; // `sysml` once published + +/** The model does not give a query what it needs: a value, or an expression it can evaluate. */ +export class QueryError extends Error {} + +// ---------------------------------------------------------------- names + +/** The element's name. A redefinition declared without a name has the name of the feature it + * redefines: `attribute :>> mass` is named `mass`. */ +export function nameOf(element) { + return element.name || "(unnamed)"; +} + +/** The names of `element` and its owners up to `top` (not included), outermost first: + * `operating::pumping::high` for a state two levels below the machine `top`. */ +export function pathBelow(element, top) { + const names = []; + while (element != null && element !== top) { + names.push(nameOf(element)); + element = element.owner; + } + return names.reverse().join("::"); +} + +// ---------------------------------------------------------------- features and their values + +/** The usages of a definition or usage, owned and inherited, without those the standard library + * contributes (a part inherits `self`, `start`, `subparts`, ... from the library's `Part`). */ +export function modelUsages(element) { + return element.usage.filter((u) => !u.isLibraryElement); +} + +/** The parts of a definition or usage, owned and inherited. A connection is a part too in SysML; + * it is not a component, so it is left out. */ +export function partUsages(element) { + return modelUsages(element).filter((u) => is(u, "PartUsage") && !is(u, "ConnectionUsage")); +} + +/** Whether `feature` redefines `other`, directly or through a chain of redefinitions. */ +export function redefines(feature, other) { + const seen = new Set(); + const todo = [feature]; + while (todo.length > 0) { + for (const redefinition of todo.pop().ownedRedefinition) { + const redefined = redefinition.redefinedFeature; + if (redefined === other) return true; + if (redefined != null && !seen.has(redefined)) { + seen.add(redefined); + todo.push(redefined); + } + } + } + return false; +} + +/** The feature that stands for `feature` in `context`: among the context's features, owned or + * inherited, the one that is `feature` or redefines it. A type inherits only the most specific + * redefinition, so this is the one whose value holds in the context. */ +export function featureIn(context, feature) { + return context.feature.find((candidate) => candidate === feature || redefines(candidate, feature)) ?? feature; +} + +/** Whether a feature is one of the values an enumeration definition enumerates (`on` in + * `enum def IgnitionOnOff { on; off; }`). Those are owned through variant memberships, so they + * have an owning namespace but no owning type. */ +export function isEnumerationLiteral(feature) { + return is(feature, "EnumerationUsage") && is(feature.owningNamespace, "EnumerationDefinition"); +} + +/** The expression a feature is bound to by its declaration (`= 0.045`), or null. */ +export function valueExpression(feature) { + const membership = feature.ownedMembership.find((m) => is(m, "FeatureValue")); + return membership ? membership.value : null; +} + +// ---------------------------------------------------------------- expressions + +/** A value that neither the model nor the caller determines. */ +export const UNKNOWN = Symbol("unknown"); + +/** + * What an expression is evaluated against. + * + * context: the element whose features give values: a referenced feature has the value of the + * feature that stands for it in the context (featureIn); + * bindings: values by feature name (a Map), which take precedence over the model's own; + * derived: attributes the caller computes, by name (a Map): a function of the element that has + * the attribute (`vehicle.totalMass` is derived.get("totalMass")(vehicle)). + */ +export class Scope { + constructor(context = null, bindings = new Map(), derived = new Map()) { + this.context = context; + this.bindings = bindings; + this.derived = derived; + } + + within(context) { + return new Scope(context, this.bindings, this.derived); + } +} + +/** Whether a value is a model element (an SDK element proxy). */ +export function isElement(value) { + return value !== null && typeof value === "object" && typeof value.$metaclass === "string"; +} + +/** The value of `expr`: a number, a Boolean, a string, an element, or UNKNOWN. */ +export function evaluate(expr, scope) { + if (is(expr, "LiteralInteger") || is(expr, "LiteralRational")) return Number(expr.value); + if (is(expr, "LiteralBoolean")) return Boolean(expr.value); + if (is(expr, "LiteralString")) return expr.value; + if (is(expr, "LiteralInfinity")) return Infinity; + if (is(expr, "FeatureChainExpression")) // before OperatorExpression, which it specializes + return valueIn(evaluate(expr.argument[0], scope), expr.targetFeature, scope); + if (is(expr, "FeatureReferenceExpression")) return valueOf(expr.referent, scope); + if (is(expr, "OperatorExpression")) return applyOperator(expr.operator, expr.argument, scope); + throw new QueryError(`cannot evaluate a ${expr.$metaclass}`); +} + +/** The value of a referenced feature: a binding of its name; an enumeration literal, which is its + * own value; else the value the model gives the feature that stands for it in the scope's context; + * else UNKNOWN. */ +export function valueOf(feature, scope) { + // The second operand of `and`, `or` and `implies` is a reference to an expression, evaluated + // only when the operator needs it. + if (is(feature, "Expression")) return evaluate(feature, scope); + const name = nameOf(feature); + if (scope.bindings.has(name)) return scope.bindings.get(name); + if (isEnumerationLiteral(feature)) return feature; + if (scope.context != null) feature = featureIn(scope.context, feature); + const expr = valueExpression(feature); + return expr == null ? UNKNOWN : evaluate(expr, scope); +} + +/** `source.feature`: a derived attribute that the caller computes, else the value of the feature + * in the context of `source`. */ +export function valueIn(source, feature, scope) { + if (source === UNKNOWN) return UNKNOWN; + if (!isElement(source)) throw new QueryError(`${fmt(source)} has no feature ${nameOf(feature)}`); + const derive = scope.derived.get(nameOf(feature)); + if (derive !== undefined) return derive(source); + return valueOf(feature, scope.within(source)); +} + +const BINARY = { + "<": (a, b) => a < b, "<=": (a, b) => a <= b, ">": (a, b) => a > b, ">=": (a, b) => a >= b, + "+": (a, b) => a + b, "-": (a, b) => a - b, "*": (a, b) => a * b, "/": (a, b) => a / b, +}; + +/** An operator over its argument expressions. `and`, `or` and `implies` evaluate their second + * operand only when the first does not decide, as SysML's conditional operators do; all the + * logical operators follow three-valued logic. Any other operator on an UNKNOWN is UNKNOWN. */ +export function applyOperator(op, args, scope) { + if (op === "and" || op === "or" || op === "implies") return conditional(op, args, scope); + const values = args.map((a) => evaluate(a, scope)); + if (op === "not" && values.length === 1) { + const v = truth(values[0], op); + return v === UNKNOWN ? UNKNOWN : !v; + } + if (op === "xor" && values.length === 2) { + const [a, b] = values.map((v) => truth(v, op)); + return a === UNKNOWN || b === UNKNOWN ? UNKNOWN : a !== b; + } + if (values.includes(UNKNOWN)) return UNKNOWN; + if ((op === "==" || op === "!=") && values.length === 2) { + const equal = same(values[0], values[1]); + return op === "==" ? equal : !equal; + } + const numbers = values.map((v) => number(v, op)); + if (numbers.length === 1 && (op === "-" || op === "+")) return op === "-" ? -numbers[0] : numbers[0]; + if (numbers.length === 2 && op in BINARY) return BINARY[op](numbers[0], numbers[1]); + throw new QueryError(`operator '${op}' on ${args.length} operand(s) is not supported`); +} + +function conditional(op, args, scope) { + const left = truth(evaluate(args[0], scope), op); + if ((op === "and" && left === false) || (op === "or" && left === true)) return left; + if (op === "implies" && left === false) return true; + const right = truth(evaluate(args[1], scope), op); + const unknown = left === UNKNOWN || right === UNKNOWN; + if (op === "and") return right === false ? false : unknown ? UNKNOWN : true; + return right === true ? true : unknown ? UNKNOWN : false; // or, implies +} + +function truth(value, op) { + if (value === UNKNOWN || typeof value === "boolean") return value; + throw new QueryError(`'${op}' needs a Boolean, not ${fmt(value)}`); +} + +function number(value, op) { + if (isNumber(value)) return value; + throw new QueryError(`'${op}' needs a number, not ${fmt(value)}`); +} + +/** Equality within a kind of value: numbers by value, elements by identity. */ +function same(a, b) { + return typeof a === typeof b && a === b; +} + +export function isNumber(value) { + return typeof value === "number"; +} + +/** A value for a report: numbers with at most three decimals, elements by name. */ +export function fmt(value) { + if (value === UNKNOWN) return "unknown"; + if (typeof value === "boolean") return value ? "true" : "false"; + if (isNumber(value)) { + if (value === Infinity || value === -Infinity) return "*"; + const text = value.toFixed(3).replace(/0+$/, "").replace(/\.$/, ""); + return text === "-0" ? "0" : text; + } + if (typeof value === "string") return `"${value}"`; + return nameOf(value); +} + +/** An expression in SysML notation, with every nested operation in parentheses. */ +export function render(expr) { + if (is(expr, "LiteralInteger") || is(expr, "LiteralRational")) return fmt(Number(expr.value)); + if (is(expr, "LiteralBoolean")) return expr.value ? "true" : "false"; + if (is(expr, "LiteralString")) return `"${expr.value}"`; + if (is(expr, "LiteralInfinity")) return "*"; + if (is(expr, "FeatureChainExpression")) return `${render(expr.argument[0])}.${nameOf(expr.targetFeature)}`; + if (is(expr, "FeatureReferenceExpression")) { + const referent = expr.referent; + if (is(referent, "Expression")) return render(referent); + if (isEnumerationLiteral(referent)) return `${nameOf(referent.owningNamespace)}::${nameOf(referent)}`; + return nameOf(referent); + } + if (is(expr, "TriggerInvocationExpression")) return `${expr.kind} ${render(expr.argument[0])}`; + if (is(expr, "OperatorExpression")) { + const operands = expr.argument.map(operand); + if (operands.length === 1) + return /^[A-Za-z]+$/.test(expr.operator) ? `${expr.operator} ${operands[0]}` : `${expr.operator}${operands[0]}`; + return operands.join(` ${expr.operator} `); + } + return `<${expr.$metaclass}>`; +} + +function operand(expr) { + if (is(expr, "FeatureReferenceExpression") && is(expr.referent, "Expression")) expr = expr.referent; + const text = render(expr); + const nested = is(expr, "OperatorExpression") && !is(expr, "FeatureChainExpression"); + return nested ? `(${text})` : text; +} + +// ---------------------------------------------------------------- state machines + +/** Every state nested in `machine` at any depth, in the order the model declares them, each state + * before its substates. */ +export function statesOf(machine) { + const states = []; + for (const state of machine.nestedState) { + states.push(state); + states.push(...statesOf(state)); + } + return states; +} + +/** Every transition declared in `machine` or in a state nested in it. */ +export function transitionsOf(machine) { + return [machine, ...statesOf(machine)].flatMap((state) => state.nestedTransition); +} + +/** The states `state` starts in: the targets of the successions it owns (`first start then off;`); + * a transition is not a succession of this kind. Only the target is read: the source, the start of + * the state, is a feature of the standard library, which a model loaded without the library, or + * read from a payload, cannot resolve. */ +export function initialStates(state) { + return state.ownedFeature + .filter((feature) => is(feature, "SuccessionAsUsage")) + .flatMap((succession) => succession.targetFeature.filter((target) => is(target, "StateUsage"))); +} + +/** The transition's trigger as [key, label]. The key is what must occur, as explore() selects + * triggers by it: the name of the accepted signal's definition, or `at`, `after` or `when` for a + * time or change event. The label says it in full (`at maintenanceTime`). [null, null] for a + * transition without a trigger. */ +export function triggerOf(transition) { + for (const accept of transition.triggerAction) { + const argument = accept.payloadArgument; + if (is(argument, "TriggerInvocationExpression")) return [argument.kind, render(argument)]; + const payload = accept.payloadParameter; + const types = payload != null ? payload.type : []; + const name = types.length > 0 ? nameOf(types[0]) : "any"; + return [name, name]; + } + return [null, null]; +} + +/** Whether the transition's guards hold: true if it has none, false if one is known to be false, + * else true or UNKNOWN. */ +export function guardOf(transition, scope) { + let result = true; + for (const guard of transition.guardExpression) { + const value = truth(evaluate(guard, scope), "if"); + if (value === false) return false; + if (value === UNKNOWN) result = UNKNOWN; + } + return result; +} + +/** `starting -> operating on SelfTestDone if selfTestPassed and (temperature < maxTemperature)` */ +export function describeTransition(transition, machine) { + let text = `${pathBelow(transition.source, machine)} -> ${pathBelow(transition.target, machine)}`; + const [, label] = triggerOf(transition); + if (label != null) text += ` on ${label}`; + const guards = transition.guardExpression.map(render); + if (guards.length > 0) text += ` if ${guards.join(" and ")}`; + return text; +} + +/** `initial state in operating: operating::idle` */ +export function describeInitial(state, initial, machine) { + const where = state !== machine ? ` in ${pathBelow(state, machine)}` : ""; + return `initial state${where}: ${pathBelow(initial, machine)}`; +} + +/** The states that enclose `state`, innermost first, below `machine`. */ +export function enclosingStates(state, machine) { + const out = []; + let owner = state.owner; + while (owner != null && owner !== machine && is(owner, "StateUsage")) { + out.push(owner); + owner = owner.owner; + } + return out; +} + +/** + * The states of `machine` reachable from its initial state, as a Map from each to a shortest list + * of trigger labels that reaches it (empty for a state entered without any trigger). + * + * triggers: the trigger keys that can occur (see triggerOf), an array or a Set; null for every + * trigger. + * bindings: values of the features the guards read, by name (a Map or [name, value] pairs). A + * guard that is not known to be false may hold. + * + * Entering a state enters every region of a parallel state, or else its initial states + * (initialStates) and the targets of the transitions from its entry action (the form + * `entry action initial; transition initial then off;`), and so on down. A transition from a state + * is taken from any of its substates too, and entering a nested target makes the states enclosing + * it active. Regions of a parallel state are explored independently of each other. + * + * This is a 0-1 breadth-first search: a triggered transition costs one and goes to the back of the + * queue, entering costs nothing and goes to the front. Where several shortest sequences exist, the + * queue's order decides which one is reported, and every language keeps that order. + */ +export function explore(machine, { triggers = null, bindings = [] } = {}) { + const allowed = triggers == null ? null : new Set(triggers); + const scope = new Scope(null, new Map(bindings)); + const outgoing = new Map(); + for (const transition of transitionsOf(machine)) { + if (!outgoing.has(transition.source)) outgoing.set(transition.source, []); + outgoing.get(transition.source).push(transition); + } + + const paths = new Map(); // state -> the shortest trigger labels that reach it + const entered = new Set(); // states whose initial substates have been entered + const queue = [[machine, [], true]]; // [state, trigger labels, whether it is being entered] + + const follow = (transition, path) => { + const [key, label] = triggerOf(transition); + if (key != null && allowed != null && !allowed.has(key)) return; + if (guardOf(transition, scope) === false) return; + const target = transition.target; + const arrivals = [[target, true], ...enclosingStates(target, machine).map((s) => [s, false])]; + for (const [state, enter] of arrivals) { + if (label == null) queue.unshift([state, path, enter]); + else queue.push([state, [...path, label], enter]); + } + }; + + while (queue.length > 0) { + const [state, path, enter] = queue.shift(); + if (!paths.has(state)) { + paths.set(state, path); + for (const transition of outgoing.get(state) ?? []) follow(transition, path); + } + if (enter && !entered.has(state)) { + entered.add(state); + if (state.isParallel) { + for (const region of state.nestedState) queue.unshift([region, path, true]); + } else { + for (const initial of initialStates(state)) queue.unshift([initial, path, true]); + if (state.entryAction != null) + for (const transition of outgoing.get(state.entryAction) ?? []) follow(transition, path); + } + } + } + paths.delete(machine); + return paths; +} + +// ---------------------------------------------------------------- structure + +/** The multiplicity SysML implies for a usage that declares none (see multiplicityOf). */ +export const DEFAULT_ONE = Symbol("[1..1]"); + +/** The features that `feature` subsets or redefines by a relationship written in the model, not an + * implied one (a part's implied subsetting of the library's `parts`). */ +export function explicitSubsettings(feature) { + return feature.ownedSubsetting + .filter((s) => !s.isImplied && s.subsettedFeature != null) + .map((s) => s.subsettedFeature); +} + +/** Whether SysML gives `usage` the default multiplicity [1..1] when it declares none and subsets or + * redefines nothing explicitly: an attribute, item, part or port usage (not a connection) owned by + * a definition or usage. */ +export function hasDefaultMultiplicity(usage) { + const kind = (is(usage, "AttributeUsage") || is(usage, "ItemUsage") || is(usage, "PortUsage")) && + !is(usage, "ConnectionUsage"); + return kind && (is(usage.owningType, "Definition") || is(usage.owningType, "Usage")); +} + +/** What says how many instances a usage stands for, by SysML's rule for usages: its own + * multiplicity; else that of the usages it explicitly subsets or redefines, nearest first (in a + * valid model a redefinition only narrows what it redefines, so the nearest is the tightest); else + * DEFAULT_ONE, for a usage that has the default [1..1]; else null: nothing constrains it ([0..*]). */ +export function multiplicityOf(usage) { + const seen = new Set([usage]); + const todo = [usage]; + while (todo.length > 0) { + const current = todo.shift(); + if (current.multiplicity != null) return current.multiplicity; + const subsetted = explicitSubsettings(current); + if (subsetted.length === 0) return hasDefaultMultiplicity(current) ? DEFAULT_ONE : null; + for (const feature of subsetted) { + if (!seen.has(feature)) { + seen.add(feature); + todo.push(feature); + } + } + } + return null; +} + +/** How many instances `usage` stands for in `context`. Its multiplicity's bounds, evaluated in the + * context (a bound may be an expression: `Rotor[rotorCount]`), must be one whole number. */ +export function instanceCount(usage, context) { + const multiplicity = multiplicityOf(usage); + if (multiplicity === DEFAULT_ONE) return 1; + if (multiplicity == null) + throw new QueryError(`${nameOf(usage)} in ${nameOf(context)} has no fixed number of instances: [0..*]`); + if (!is(multiplicity, "MultiplicityRange")) + throw new QueryError(`${nameOf(usage)}: a ${multiplicity.$metaclass} is not a range`); + const scope = new Scope(context); + const upper = multiplicity.upperBound != null ? evaluate(multiplicity.upperBound, scope) : UNKNOWN; + const lower = multiplicity.lowerBound != null ? evaluate(multiplicity.lowerBound, scope) : upper; + if (!(isNumber(upper) && lower === upper && Number.isInteger(upper))) + throw new QueryError(`${nameOf(usage)} in ${nameOf(context)} has no fixed number of instances: ${fmt(lower)}..${fmt(upper)}`); + return upper; +} + +/** The names of a part's definitions. */ +export function definitionName(part) { + return part.partDefinition.map(nameOf).join(", ") || "(untyped)"; +} + +/** How many parts of each definition `root` consists of, at every depth, as a Map by definition + * name in alphabetical order. A part occurs as often as its instance count times its owner's. */ +export function billOfMaterials(root) { + const counts = new Map(); + const walk = (node, factor) => { + for (const part of partUsages(node)) { + const count = factor * instanceCount(part, node); + const key = definitionName(part); + counts.set(key, (counts.get(key) ?? 0) + count); + walk(part, count); + } + }; + walk(root, 1); + return new Map([...counts].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))); +} + +/** The sum of `attribute` over `node` and every part in it at any depth, each part counted as often + * as it occurs, each value the one that holds in its part's context (the most specific + * redefinition). */ +export function rollup(node, attribute) { + const own = valueOf(attribute, new Scope(node)); + if (!isNumber(own)) throw new QueryError(`${nameOf(node)} has no value for ${nameOf(attribute)}`); + let parts = 0; + for (const part of partUsages(node)) parts += instanceCount(part, node) * rollup(part, attribute); + return own + parts; +} + +// ---------------------------------------------------------------- connectivity + +/** A connection or flow between two parts, by their paths below the root (`rotors.motor`). */ +export class Link { + constructor(source, target, kind, name, item = null) { + this.source = source; + this.target = target; + this.kind = kind; // "connection" or "flow" + this.name = name; + this.item = item; // what a flow carries: its payload's definition + } + + describe() { + const arrow = this.kind === "flow" ? "->" : "--"; + const carries = this.item ? ` of ${this.item}` : ""; + return `${this.source} ${arrow} ${this.target} (${this.kind} ${this.name}${carries})`; + } +} + +/** The part that a connector's related feature designates, as names relative to the connector's + * owner. The feature is a feature or a feature chain (`rotors.motor`, `battery.powerOut`); a port + * at the end of the chain belongs to the part before it. */ +export function partPath(feature) { + let chain = feature.chainingFeature.length > 0 ? feature.chainingFeature : [feature]; + while (chain.length > 1 && is(chain[chain.length - 1], "PortUsage")) chain = chain.slice(0, -1); + return chain.map(nameOf); +} + +/** Every connection and flow of `root` and of the parts nested in it, owned or inherited, from each + * connector's source feature to each of its target features. */ +export function links(root) { + const found = []; + const walk = (node, prefix) => { + for (const connector of modelUsages(node)) { + if (!is(connector, "ConnectorAsUsage") || connector.sourceFeature == null) continue; + const source = [...prefix, ...partPath(connector.sourceFeature)].join("."); + for (const feature of connector.targetFeature) { + const target = [...prefix, ...partPath(feature)].join("."); + if (is(connector, "FlowUsage")) { + const item = connector.payloadType.map(nameOf).join(", ") || null; + found.push(new Link(source, target, "flow", nameOf(connector), item)); + } else { + found.push(new Link(source, target, "connection", nameOf(connector))); + } + } + } + for (const part of partUsages(node)) walk(part, [...prefix, nameOf(part)]); + }; + walk(root, []); + return found; +} + +/** The parts that the part at path `source` reaches through the links of `root`, in alphabetical + * order: along a flow from its source to its target, along a connection either way. With `item`, + * through the flows of that item definition only. */ +export function reachableParts(root, source, { item = null } = {}) { + const adjacent = new Map(); + const add = (from, to) => { + if (!adjacent.has(from)) adjacent.set(from, []); + adjacent.get(from).push(to); + }; + for (const link of links(root)) { + if (item != null && (link.kind !== "flow" || link.item !== item)) continue; + add(link.source, link.target); + if (link.kind === "connection") add(link.target, link.source); + } + const seen = new Set([source]); + const todo = [source]; + while (todo.length > 0) { + for (const next of adjacent.get(todo.pop()) ?? []) { + if (!seen.has(next)) { + seen.add(next); + todo.push(next); + } + } + } + seen.delete(source); + return [...seen].sort(); +} + +// ---------------------------------------------------------------- requirements + +/** One required constraint of a satisfied requirement, evaluated for the satisfying feature. */ +export class Verdict { + constructor(requirement, satisfiedBy, constraint, value, operands, negated) { + this.requirement = requirement; + this.satisfiedBy = satisfiedBy; + this.constraint = constraint; + this.value = value; // true, false or UNKNOWN + this.operands = operands; // the values of the constraint's operands, for the report + this.negated = negated; // `not satisfy`: the constraint is expected not to hold + } + + get outcome() { + if (this.value === UNKNOWN) return "unknown"; + return this.value !== this.negated ? "holds" : "VIOLATED"; + } +} + +/** The constraints a requirement requires, its own and the ones it inherits: those of its + * requirement constraint memberships of kind `requirement` (`require constraint`, as opposed to + * `assume constraint`). The derived property requiredConstraint has the owned ones only. */ +export function requiredConstraints(requirement) { + return requirement.featureMembership + .filter((m) => is(m, "RequirementConstraintMembership") && m.kind === "requirement") + .map((m) => m.ownedConstraint); +} + +/** The expression whose value is the constraint's result, or null. */ +export function resultExpression(constraint) { + const membership = constraint.ownedMembership.find((m) => is(m, "ResultExpressionMembership")); + return membership ? membership.ownedResultExpression : null; +} + +/** Every required constraint of every satisfied requirement in the model (not in the standard + * library), evaluated for the feature that satisfies it: the requirement's subject is that + * feature, the requirement's other features have the values the requirement gives them, and + * `derived` (a Map by attribute name) computes the attributes the model leaves to computation (a + * total mass is a roll-up). */ +export function checkSatisfactions(model, derived) { + const verdicts = []; + for (const satisfy of elementsOfType(model, "SatisfyRequirementUsage")) { + if (satisfy.isLibraryElement) continue; + const requirement = satisfy.satisfiedRequirement; + const by = satisfy.satisfyingFeature; + const subject = requirement.subjectParameter; + const scope = new Scope(requirement, new Map(subject != null ? [[nameOf(subject), by]] : []), derived); + for (const constraint of requiredConstraints(requirement)) { + const expr = resultExpression(constraint); + if (expr == null) throw new QueryError(`${nameOf(constraint)} has no result expression`); + const value = evaluate(expr, scope); + const operands = is(expr, "OperatorExpression") ? expr.argument.map((a) => evaluate(a, scope)) : []; + verdicts.push(new Verdict(requirement, by, constraint, value, operands, Boolean(satisfy.isNegated))); + } + } + return verdicts; +} diff --git a/examples/typescript/README.md b/examples/typescript/README.md new file mode 100644 index 0000000..0ab714e --- /dev/null +++ b/examples/typescript/README.md @@ -0,0 +1,186 @@ +# JavaScript and TypeScript + +Read SysML v2 and KerML models from JavaScript or TypeScript, in Node or in a browser. Every +metaclass of the specification has its TypeScript type, and every property and operation keeps its +specification name: `ownedFeature`, `qualifiedName`, `effectiveName()`. + +A model is read through one of two backends, with the same elements over both: + +- **the OpenMBEE SysML Toolkit** reads your `.sysml` and `.kerml` text, resolves names and + computes derived properties. It runs as WebAssembly, the same in Node and in a browser; +- **a payload** is a model exported as full-form interchange JSON by any SysML v2 tool, read in + plain JavaScript. + +## Install + +Node 20 or newer, or a browser. Download the package from the release and install it: + +```sh +npm install ./sysml-0.1.0.tgz +``` + +The package carries the SysML Toolkit as WebAssembly; nothing else is needed. The same release has +`sysml_library-0.1.0.zip`, the standard library. Unpack it anywhere: it holds `sysml.library/` +(the library's models, for the SysML Toolkit) and `sysml.library.full.json` (the same library as +JSON, for payloads). Type declarations are included. The code below is plain JavaScript (`.mjs`); +in TypeScript, narrow what `resolve` returns (an element or `null`) before using it, with +`is(el, "PartDefinition")` or a non-null assertion. + +## Read a model through the SysML Toolkit + +Copy this, and put in your file names: + + +```js +import { readFileSync, writeFileSync } from "node:fs"; +import { ToolkitBackend, Model, NotImplementedInToolkit, UnresolvedReference, elementsOfType, is } from "sysml"; + +const files = ["model.sysml"]; // your model: one or more .sysml / .kerml files +const model = new Model(await ToolkitBackend.open({ + sources: Object.fromEntries(files.map((f) => [f, readFileSync(f, "utf8")])), + libraryDir: "sysml.library", // the standard library, from sysml_library-0.1.0.zip +})); + +// ... your code here ... +``` + +- `sources` maps a file name to its text, so text you hold in memory works the same way. +- In a browser, pass the library's files as `librarySources` (each file's name, without its + directories, to its text) instead of `libraryDir`, and the WebAssembly module as `library: await ToolkitLibrary.load(await fetch(url))`, + where `url` serves `sysmlv2_abi.wasm` from the package. +- Without the library the model loads faster, but its references into the standard library + (`ScalarValues::Real`, `ISQ::mass`, and the implicit ones such as `Parts::parts`) do not resolve, + and reading one throws `UnresolvedReference`. + +## Read a model from a JSON export + +A payload is the full-form interchange JSON of a model: one array of elements, each an object with +its `@id`, its `@type` and its properties. The SysML Toolkit writes one with +`sysmlv2 convert model.sysml --to full-json --lib sysml.library > model.json`, and so can other SysML +v2 tools. Its references into the standard library resolve against the library JSON: + + +```js +import { readFileSync } from "node:fs"; +import { Model, NotImplementedInToolkit, PayloadLibrary, UnresolvedReference, elementsOfType, is } from "sysml"; + +const readJson = (path) => JSON.parse(readFileSync(path, "utf8")); +const library = new PayloadLibrary(readJson("sysml.library.full.json")); // read once, share it +const model = Model.fromFullJson(readJson("model.json"), { library }); // your export + +// ... your code here ... +``` + +A payload answers with what its writer wrote and nothing else. Operations need the SysML Toolkit: +on a payload they throw `NotImplementedInToolkit`. + +## Find and read elements + +The snippets below go where `// ... your code here ...` is, with either backend. They read the +example model [`examples/vehicle.sysml`](../vehicle.sysml); put in your own qualified names. + + +```js +// An element by its qualified name (null when there is none). +const vehicle = model.resolve("Vehicles::Vehicle"); +console.log(vehicle.qualifiedName, "is a", vehicle.$metaclass); // Vehicles::Vehicle is a PartDefinition + +// The top-level packages. +for (const root of model.roots()) { + for (const member of root.ownedMember) console.log("top level:", member.qualifiedName); +} + +// Every element of a metaclass, its subclasses included. +for (const part of elementsOfType(model, "PartUsage")) { + console.log("part:", part.qualifiedName ?? "(unnamed)", part.$metaclass); +} + +// Properties keep their specification names. A list property is an array, a single one an +// element, a string, a boolean, a number or null. +console.log(vehicle.declaredName, vehicle.isAbstract, vehicle.documentation.map((doc) => doc.body.trim())); +for (const feature of vehicle.ownedFeature) console.log(" feature:", feature.declaredName, feature.$metaclass); + +// is() follows the specification's generalizations, and narrows the type in TypeScript. +console.log(is(vehicle, "Definition"), is(vehicle, "Type"), is(vehicle, "Usage")); +``` + +## When the SysML Toolkit does not answer + +The SysML Toolkit answers a property only where it can derive it completely. Where it cannot +yet, reading the property throws `NotImplementedInToolkit` with the SysML Toolkit's reason, +instead of returning a value that might be wrong; nothing is silently empty. Catch it where your +code can go on. + +The relationships a derived property is computed from are part of the model, and the SysML Toolkit +answers them: a feature's types are the `type` of its `ownedTyping` relationships, a definition's +supertypes the `superclassifier` of its `ownedSubclassification`s, what a feature subsets the +`subsettedFeature` of its `ownedSubsetting`s. + + +```js +const wheels = model.resolve("Vehicles::Vehicle::wheels"); +let types; +try { + types = wheels.type; // derived: the SysML Toolkit may refuse it +} catch (refusal) { + if (!(refusal instanceof NotImplementedInToolkit)) throw refusal; + console.log("not answered:", refusal.message); + types = wheels.ownedTyping.map((typing) => typing.type); // what the model states +} +console.log("wheels:", types.map((t) => t.qualifiedName)); // [ 'Vehicles::Wheel' ] + +const sports = model.resolve("Vehicles::SportsCar"); +console.log("SportsCar specializes", sports.ownedSubclassification.map((s) => s.superclassifier.qualifiedName)); +try { + console.log("SportsCar inherits", sports.inheritedFeature.filter((f) => !f.isLibraryElement).map((f) => f.declaredName)); +} catch (refusal) { + if (!(refusal instanceof NotImplementedInToolkit)) throw refusal; + console.log("not answered:", refusal.message); +} +``` + +A reference that does not resolve throws `UnresolvedReference`, and an element that is no longer +there `Gone`. + +## Operations + +The specification's operations are methods under their own names, with the specification's +parameters. The SysML Toolkit has a body for a part of them (`effectiveName()`, `resolve`, +`resolveGlobal`, `resolveLocal`, `visibleMemberships`, `supertypes`, `evaluate`, ...), and answers +a call only where its evidence for your model is complete; otherwise, and for the operations it +has no body for (`isCompatibleWith`, `specializes`, `allSupertypes`, ...), the call raises +`NotImplementedInToolkit`, as a property read does. Whether `resolve` is answered, for example, +depends on the names in your model: catch the refusal where your code can go on. Two operation +names are suffixed so they cannot collide: `instantiatedTypeOp()` and +`MultiplicityRange.valueOfOp()`. + + +```js +console.log(vehicle.effectiveName()); // Vehicle +const membership = model.resolve("Vehicles").resolve("Vehicle"); // Namespace::resolve: a Membership +console.log(membership.$metaclass, membership.memberElement.qualifiedName); +``` + +## Write a model out as JSON + +The SysML Toolkit writes the model as full-form interchange JSON, with the inherited and imported +members filled in (`{ closures: false }` writes each element's own side only, as the command-line +tool does): + + +```js +const backend = await ToolkitBackend.open({ sources: { "model.sysml": readFileSync("model.sysml", "utf8") }, libraryDir: "sysml.library" }); +writeFileSync("model.full.json", backend.fullJson()); +const exported = new Model(backend); // the same session, as a model +``` + +## Next + +- [tutorial.mjs](tutorial.mjs), a runnable walk through the example model with both backends: + `node examples/typescript/tutorial.mjs` (payload) or `--toolkit`. +- [../queries/](../queries/README.md): parametric queries over whole models (reachable states, + bills of materials, connectivity, requirements), the same in every language. +- The names of every class and member are the specification's; see + [Names](../../README.md#names) for the rules. +- [skills/sysml-sdk-typescript](../../skills/sysml-sdk-typescript/SKILL.md) teaches a coding + agent the same. diff --git a/examples/typescript/tutorial.mjs b/examples/typescript/tutorial.mjs new file mode 100644 index 0000000..eb06445 --- /dev/null +++ b/examples/typescript/tutorial.mjs @@ -0,0 +1,83 @@ +// SysML v2 SDK, JavaScript / TypeScript: a first walk through a model. +// +// Run from the repository root: +// +// node examples/typescript/tutorial.mjs reads examples/vehicle.full.json +// node examples/typescript/tutorial.mjs --toolkit reads examples/vehicle.sysml through the SysML Toolkit +// +// The payload is a full-form interchange export any SysML v2 tool can produce; this one came +// from the SysML Toolkit. Its references into the standard library resolve against the library +// as JSON, published with each SDK release. In this repository both are generated by +// `python tools/export_example.py --library `. The SysML Toolkit path loads the +// WebAssembly build of the binding library, which is the same in Node and in a browser (build it +// first: see abi/README.md). +// +// Everything is spelled as in the OMG specification: ownedMember, ownedFeature, +// qualifiedName, type. Elements are Proxy objects; `is(el, "PartDefinition")` answers the +// metaclass question, because JavaScript has no class hierarchy to lean on here. + +import { readFileSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { ToolkitBackend, Model, NotImplementedInToolkit, PayloadLibrary, is } from "../../ts/index.mjs"; // `sysml` once published + +const root = join(dirname(fileURLToPath(import.meta.url)), "..", ".."); +const toolkit = process.argv.includes("--toolkit"); +const readJson = (...path) => JSON.parse(readFileSync(join(root, ...path), "utf8")); +const model = toolkit + ? new Model(await ToolkitBackend.open({ sources: { "vehicle.sysml": readFileSync(join(root, "examples", "vehicle.sysml"), "utf8") } })) + : Model.fromFullJson(readJson("examples", "vehicle.full.json"), + { library: new PayloadLibrary(readJson("examples", "sysml.library.full.json")) }); + +// A read the SysML Toolkit may refuse: where it cannot vouch for a value yet, it says so +// (NotImplementedInToolkit) instead of answering; the tutorial shows the refusal and goes on. +function refusalOr(read) { + try { + return read(); + } catch (e) { + if (!(e instanceof NotImplementedInToolkit)) throw e; + return `(${e.message})`; + } +} + +// 1. Find an element by its qualified name. +const vehicle = model.resolve("Vehicles::Vehicle"); +console.log(`${vehicle.qualifiedName} is a ${vehicle.$metaclass}`); + +// 2. Ask about metaclasses with is(); the hierarchy comes from the metamodel table. +const vehicles = model.resolve("Vehicles"); +const definitions = vehicles.ownedMember.filter((m) => is(m, "Definition")); +console.log("definitions:", definitions.map((d) => d.declaredName).join(", ")); + +// 3. Walk a definition's features and their declared types. +console.log(`\nfeatures of ${vehicle.declaredName}:`); +for (const feature of vehicle.ownedFeature) { + const types = refusalOr(() => feature.type.map((t) => t.declaredName).join(", ") || "untyped"); + console.log(` ${feature.$metaclass.padEnd(16)} ${(feature.declaredName ?? "(unnamed)").padEnd(10)} : ${types}`); +} + +// 4. Documentation is a member like any other. +for (const doc of vehicle.documentation) console.log(`\ndoc: ${doc.body.trim()}`); + +// 5. A usage and the definition it is typed by. +const myCar = model.resolve("Vehicles::myCar"); +console.log(`\n${myCar.qualifiedName} is typed by ${refusalOr(() => myCar.type.map((t) => t.qualifiedName))}`); + +// 6. Inheritance. Through the SysML Toolkit, inherited features are computed. A payload holds what +// the exporting tool wrote: this file was exported at the closure level, so it has them too; an +// export by the SysML Toolkit's command-line tool would list the owned side only. With the +// standard library, every part also inherits the library's features (`self`, `start`, ...); +// `isLibraryElement` tells them apart. +const sports = model.resolve("Vehicles::SportsCar"); +const inherited = refusalOr(() => sports.inheritedFeature.filter((f) => !f.isLibraryElement).length); +console.log(`\n${sports.declaredName} owns ${sports.ownedFeature.map((f) => f.declaredName)}; inherited: ${inherited}`); + +// 7. Honest refusal. Through the SysML Toolkit, a member it cannot vouch for yet says so instead of +// answering, as the reads above show where it does. Through a payload there is nobody to say so: +// the file holds what the exporting tool wrote. +try { + console.log(`\npartDefinition of myCar: ${myCar.partDefinition.map((d) => d.qualifiedName)}`); +} catch (e) { + if (!(e instanceof NotImplementedInToolkit)) throw e; + console.log(`\nnot answered by the SysML Toolkit, and it says so: ${e.message}`); +} diff --git a/examples/vehicle.sysml b/examples/vehicle.sysml new file mode 100644 index 0000000..8649339 --- /dev/null +++ b/examples/vehicle.sysml @@ -0,0 +1,41 @@ +package Vehicles { + doc /* A small vehicle model used by every tutorial in this folder. */ + + attribute def Length; + attribute def Mass; + attribute def Power; + attribute def Volume; + attribute def Speed; + + part def Wheel { + attribute diameter : Length; + attribute width : Length; + } + part def Engine { + attribute power : Power; + port fuelIn; + } + part def FuelTank { + attribute capacity : Volume; + port fuelOut; + } + + part def Vehicle { + doc /* The general vehicle: four wheels, one engine, one tank. */ + part wheels : Wheel[4]; + part engine : Engine; + part tank : FuelTank; + attribute mass : Mass; + connect tank.fuelOut to engine.fuelIn; + } + + part def SportsCar :> Vehicle { + doc /* Inherits everything from Vehicle and adds a spoiler. */ + part spoiler; + attribute topSpeed : Speed; + } + + part myCar : SportsCar { + attribute :>> mass = 1400; + } +} diff --git a/java/src/org/openmbee/sysml/Backend.java b/java/src/org/openmbee/sysml/Backend.java new file mode 100644 index 0000000..a435db0 --- /dev/null +++ b/java/src/org/openmbee/sysml/Backend.java @@ -0,0 +1,29 @@ +package org.openmbee.sysml; + +/** + * The backend contract: everything the generated surface needs. + * + * The protocol is defined over opaque per-backend element handles; + * an id-keyed backend (payload, REST) simply uses element ids as its + * handles, which is why this payload-backed runtime types them as + * String. {@link #elementId} maps a handle to the element's stable id. + */ +public interface Backend { + Object get(String handle, String prop); + + String metaclass(String handle); + + String elementId(String handle); + + /** Qualified name to handle, or null if absent. */ + String resolve(String qualifiedName); + + Iterable allHandles(); + + /** + * A specification operation on the element {@code handle}, by its specification name, with + * its arguments in order (elements as wrappers, collections as lists). A backend that cannot + * evaluate the operation throws {@link NotImplementedInToolkitException}. + */ + Object call(String handle, String op, java.util.List args); +} diff --git a/java/src/org/openmbee/sysml/El.java b/java/src/org/openmbee/sysml/El.java new file mode 100644 index 0000000..258dcf3 --- /dev/null +++ b/java/src/org/openmbee/sysml/El.java @@ -0,0 +1,55 @@ +package org.openmbee.sysml; + +/** Base of every generated element class. A wrapper holds (model, handle); + * identity is by the backend's stable element id. */ +public abstract class El implements Element { + private final Model model; + private final String handle; + + protected El(Model model, String handle) { + this.model = model; + this.handle = handle; + } + + @Override + public final String $id() { + return model.backend().elementId(handle); + } + + @Override + public final String $metaclass() { + return model.backend().metaclass(handle); + } + + @Override + public final Model $model() { + return model; + } + + @Override + public final Object $raw(String prop) { + return model.backend().get(handle, prop); + } + + /** The backend handle (= element id for payload backends). */ + public final String $handle() { + return handle; + } + + @Override + public final boolean equals(Object o) { + return o instanceof El other && other.model == model && other.$id().equals($id()); + } + + @Override + public final int hashCode() { + return $id().hashCode(); + } + + @Override + public final String toString() { + Object qn = model.backend().get(handle, "qualifiedName"); + String label = qn instanceof String s && !s.isEmpty() ? s : $id(); + return "<" + $metaclass() + " " + label + ">"; + } +} diff --git a/java/src/org/openmbee/sysml/Element.java b/java/src/org/openmbee/sysml/Element.java new file mode 100644 index 0000000..7a2b99d --- /dev/null +++ b/java/src/org/openmbee/sysml/Element.java @@ -0,0 +1,85 @@ +package org.openmbee.sysml; + +/** + * Runtime core of every element. Spec properties live on the generated + * interfaces (org.openmbee.sysml.classes) as default methods; identity and + * escape hatches live here. + * + * Collision rule: runtime members are {@code $}-prefixed — + * spec camelCase can never start with {@code $}, so a generated member + * can never shadow a runtime one. tools/gen_classes_java.py enforces + * the invariant at generation time. + */ +public interface Element { + /** The element's stable id, via the backend's elementId(handle). */ + String $id(); + + /** The backend handle this wrapper holds (= id for payload backends). */ + String $handle(); + + String $metaclass(); + + Model $model(); + + /** Escape hatch: raw backend value, no wrapping. */ + Object $raw(String prop); + + // --- typed-getter converters (generated members call these) --------- + // Lists are erased, so the blind cast is safe: the backend mints + // wrappers by @type, and the table types match the mint (table 0.5.0). + + @SuppressWarnings("unchecked") + default java.util.List $list(Object v) { + return v == null ? java.util.List.of() : (java.util.List) v; + } + + @SuppressWarnings("unchecked") + default T $ref(Object v) { + return (T) v; + } + + default Boolean $bool(Object v) { + return (Boolean) v; + } + + default String $string(Object v) { + return (String) v; + } + + default Long $int(Object v) { + return v == null ? null : ((Number) v).longValue(); + } + + default Double $real(Object v) { + return v == null ? null : ((Number) v).doubleValue(); + } + + // --- the members of the metaclass Element, which every element has ------ + // Written by tools/gen_classes_java.py between the two marker lines. + + // BEGIN GENERATED + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default org.openmbee.sysml.classes.OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default org.openmbee.sysml.classes.Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.classes.Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default org.openmbee.sysml.classes.Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + // END GENERATED +} diff --git a/java/src/org/openmbee/sysml/GoneException.java b/java/src/org/openmbee/sysml/GoneException.java new file mode 100644 index 0000000..e161b8b --- /dev/null +++ b/java/src/org/openmbee/sysml/GoneException.java @@ -0,0 +1,8 @@ +package org.openmbee.sysml; + +/** The element no longer exists in the backend's current state. */ +public final class GoneException extends SdkException { + public GoneException(String message) { + super(message); + } +} diff --git a/java/src/org/openmbee/sysml/Json.java b/java/src/org/openmbee/sysml/Json.java new file mode 100644 index 0000000..b7ff55d --- /dev/null +++ b/java/src/org/openmbee/sysml/Json.java @@ -0,0 +1,172 @@ +package org.openmbee.sysml; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Minimal JSON parser (zero dependencies): objects become LinkedHashMap, + * arrays ArrayList, numbers Long (integral) or Double, plus String, + * Boolean, and null. Sufficient for full-form interchange payloads and + * metamodel.json; not a general validating parser. + */ +public final class Json { + private final String s; + private int i; + + private Json(String s) { + this.s = s; + } + + public static Object parse(String text) { + Json p = new Json(text); + p.ws(); + Object v = p.value(); + p.ws(); + if (p.i != text.length()) + throw p.err("trailing data"); + return v; + } + + private RuntimeException err(String what) { + return new IllegalArgumentException("JSON: " + what + " at offset " + i); + } + + private void ws() { + while (i < s.length() && Character.isWhitespace(s.charAt(i))) + i++; + } + + private char peek() { + if (i >= s.length()) + throw err("unexpected end of input"); + return s.charAt(i); + } + + private void expect(char c) { + if (peek() != c) + throw err("expected '" + c + "'"); + i++; + } + + private Object value() { + return switch (peek()) { + case '{' -> object(); + case '[' -> array(); + case '"' -> string(); + case 't' -> literal("true", Boolean.TRUE); + case 'f' -> literal("false", Boolean.FALSE); + case 'n' -> literal("null", null); + default -> number(); + }; + } + + private Object literal(String lit, Object value) { + if (!s.startsWith(lit, i)) + throw err("bad literal"); + i += lit.length(); + return value; + } + + private Map object() { + expect('{'); + ws(); + Map m = new LinkedHashMap<>(); + if (peek() == '}') { + i++; + return m; + } + while (true) { + String k = string(); + ws(); + expect(':'); + ws(); + m.put(k, value()); + ws(); + if (peek() == ',') { + i++; + ws(); + continue; + } + expect('}'); + return m; + } + } + + private List array() { + expect('['); + ws(); + List a = new ArrayList<>(); + if (peek() == ']') { + i++; + return a; + } + while (true) { + a.add(value()); + ws(); + if (peek() == ',') { + i++; + ws(); + continue; + } + expect(']'); + return a; + } + } + + private String string() { + expect('"'); + StringBuilder b = new StringBuilder(); + while (true) { + char c = peek(); + i++; + if (c == '"') + return b.toString(); + if (c != '\\') { + b.append(c); + continue; + } + char e = peek(); + i++; + switch (e) { + case '"' -> b.append('"'); + case '\\' -> b.append('\\'); + case '/' -> b.append('/'); + case 'b' -> b.append('\b'); + case 'f' -> b.append('\f'); + case 'n' -> b.append('\n'); + case 'r' -> b.append('\r'); + case 't' -> b.append('\t'); + case 'u' -> { + if (i + 4 > s.length()) + throw err("truncated \\u escape"); + b.append((char) Integer.parseInt(s.substring(i, i + 4), 16)); + i += 4; + } + default -> throw err("bad escape '\\" + e + "'"); + } + } + } + + private Object number() { + int start = i; + if (peek() == '-') + i++; + while (i < s.length() && "0123456789+-.eE".indexOf(s.charAt(i)) >= 0) + i++; + String t = s.substring(start, i); + if (t.indexOf('.') < 0 && t.indexOf('e') < 0 && t.indexOf('E') < 0) { + try { + return Long.parseLong(t); + } catch (NumberFormatException ignore) { + // fall through to double + } + } + try { + return Double.parseDouble(t); + } catch (NumberFormatException e) { + throw err("bad number '" + t + "'"); + } + } +} diff --git a/java/src/org/openmbee/sysml/Model.java b/java/src/org/openmbee/sysml/Model.java new file mode 100644 index 0000000..143933a --- /dev/null +++ b/java/src/org/openmbee/sysml/Model.java @@ -0,0 +1,131 @@ +package org.openmbee.sysml; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.openmbee.sysml.classes.ClassMap; + +/** Entry point: wraps a backend and mints typed wrappers by metaclass. */ +public final class Model { + private final Backend backend; + private final Map cache = new HashMap<>(); + + public Model(Backend backend) { + this.backend = backend; + } + + public static Model fromFullJson(String json) { + return new Model(PayloadBackend.fromJson(json)); + } + + /** A model read from a full-form interchange element array. With {@code library}, references + * into the standard library resolve against it; its elements are not the model's. */ + public static Model fromFullJson(String json, PayloadLibrary library) { + return new Model(PayloadBackend.fromJson(json, library)); + } + + public Backend backend() { + return backend; + } + + public Element element(String handle) { + Element w = cache.get(handle); + if (w != null) + return w; + String mc = backend.metaclass(handle); // throws Gone if absent + var make = ClassMap.FACTORIES.get(mc); + w = make != null ? make.apply(this, handle) : new UnknownEl(this, handle); + cache.put(handle, w); + return w; + } + + public Element resolve(String qualifiedName) { + String handle = backend.resolve(qualifiedName); + return handle == null ? null : element(handle); + } + + public List all() { + List out = new ArrayList<>(); + for (String handle : backend.allHandles()) + out.add(element(handle)); + return out; + } + + /** The top-level namespaces: the elements without an owner that are namespaces (a + * membership may have no owner either). */ + public List roots() { + List out = new ArrayList<>(); + for (Element el : all()) + if (el instanceof org.openmbee.sysml.classes.Namespace && el.getOwner() == null) + out.add(el); + return out; + } + + public List elementsOfType(java.lang.Class type) { + List out = new ArrayList<>(); + for (Element el : all()) + if (type.isInstance(el)) + out.add(type.cast(el)); + return out; + } + + /** + * Every generated member routes through here: the backend value, + * wrapped. A read never second-guesses the backend. Mirrors P.__get__ + * in the Python runtime. + */ + public Object read(Element el, String prop) { + Object raw = backend.get(el.$handle(), prop); + return wrap(raw, el.$metaclass() + "." + prop + " (element " + el.$handle() + ")"); + } + + /** + * Every generated operation routes through here: the backend evaluates it (the SysML Toolkit + * answers or refuses; a payload refuses), and the result is wrapped like a property value. + */ + public Object call(Element el, String op, Object[] args) { + Object raw = backend.call(el.$handle(), op, java.util.Arrays.asList(args)); + return wrap(raw, el.$metaclass() + "." + op + "() (element " + el.$handle() + ")"); + } + + private static String idRef(Object v) { + return v instanceof Map m && m.size() == 1 + && m.get("@id") instanceof String id ? id : null; + } + + public Object wrap(Object raw, String at) { + String id = idRef(raw); + if (id != null) { + try { + return element(id); + } catch (GoneException e) { + throw new UnresolvedReferenceException( + "dangling reference @id='" + id + "' at " + at + + ": target is not in this model; the SDK requires " + + "resolved models"); + } + } + if (raw instanceof Map m && m.get("@ref") instanceof String spelling) + throw new UnresolvedReferenceException( + "unresolved reference '" + spelling + "' at " + at + + " (the SysML Toolkit's @ref passthrough is non-standard " + + "best-effort); the SDK requires resolved models — use " + + "$raw() for the raw value"); + if (raw instanceof List l) { + List out = new ArrayList<>(l.size()); + for (Object v : l) + out.add(wrap(v, at)); + return out; + } + return raw; + } +} + +/** Fallback for metaclasses missing from the generated registry. */ +final class UnknownEl extends El { + UnknownEl(Model model, String handle) { + super(model, handle); + } +} diff --git a/java/src/org/openmbee/sysml/NotComputedException.java b/java/src/org/openmbee/sysml/NotComputedException.java new file mode 100644 index 0000000..cca76a9 --- /dev/null +++ b/java/src/org/openmbee/sysml/NotComputedException.java @@ -0,0 +1,9 @@ +package org.openmbee.sysml; + +/** A property the backend reports it does not compute. Reserved for a + * backend that says so itself; never inferred from an empty result. */ +public final class NotComputedException extends SdkException { + public NotComputedException(String message) { + super(message); + } +} diff --git a/java/src/org/openmbee/sysml/NotImplementedInToolkitException.java b/java/src/org/openmbee/sysml/NotImplementedInToolkitException.java new file mode 100644 index 0000000..b4eaffa --- /dev/null +++ b/java/src/org/openmbee/sysml/NotImplementedInToolkitException.java @@ -0,0 +1,9 @@ +package org.openmbee.sysml; + +/** A specification member the SysML Toolkit does not answer: thrown when the SysML Toolkit reports + * the member as not implemented, and for every operation on a payload model. */ +public final class NotImplementedInToolkitException extends SdkException { + public NotImplementedInToolkitException(String message) { + super(message); + } +} diff --git a/java/src/org/openmbee/sysml/PayloadBackend.java b/java/src/org/openmbee/sysml/PayloadBackend.java new file mode 100644 index 0000000..af616cb --- /dev/null +++ b/java/src/org/openmbee/sysml/PayloadBackend.java @@ -0,0 +1,89 @@ +package org.openmbee.sysml; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** Read-only backend over a full-form interchange element array. + * Handles are the element ids themselves. With a library, an id or qualified name the payload does + * not hold is looked up in the library; the library's elements are not the model's, so + * {@link #allHandles()} lists the payload's only. */ +public final class PayloadBackend implements Backend { + private final Map> byId = new LinkedHashMap<>(); + private final Map byQname = new LinkedHashMap<>(); + private final PayloadLibrary library; + + public PayloadBackend(List elements) { + this(elements, null); + } + + public PayloadBackend(List elements, PayloadLibrary library) { + index(elements, byId, byQname); + this.library = library; + } + + /** Elements by id (document order, the last of a repeated id) and ids by qualified name (the + * first). */ + static void index(List elements, Map> byId, Map byQname) { + for (Object o : elements) { + if (!(o instanceof Map e) || !(e.get("@id") instanceof String id)) + continue; + byId.put(id, e); + if (e.get("qualifiedName") instanceof String qn && !qn.isEmpty()) + byQname.putIfAbsent(qn, id); + } + } + + public static PayloadBackend fromJson(String json) { + return new PayloadBackend((List) Json.parse(json)); + } + + public static PayloadBackend fromJson(String json, PayloadLibrary library) { + return new PayloadBackend((List) Json.parse(json), library); + } + + private Map require(String handle) { + Map el = byId.get(handle); + if (el == null && library != null) + el = library.byId.get(handle); + if (el == null) + throw new GoneException("no element " + handle + " in this payload"); + return el; + } + + @Override + public Object get(String handle, String prop) { + return require(handle).get(prop); + } + + @Override + public String metaclass(String handle) { + return (String) require(handle).get("@type"); + } + + @Override + public String elementId(String handle) { + require(handle); + return handle; + } + + @Override + public String resolve(String qualifiedName) { + String handle = byQname.get(qualifiedName); + if (handle == null && library != null) + handle = library.byQname.get(qualifiedName); + return handle; + } + + @Override + public Iterable allHandles() { + return byId.keySet(); + } + + /** A payload holds property values only; there is nothing to evaluate an operation with. */ + @Override + public Object call(String handle, String op, List args) { + throw new NotImplementedInToolkitException(op + "(): operations are not available on " + + "payload models; load the model through the SysML Toolkit backend"); + } +} diff --git a/java/src/org/openmbee/sysml/PayloadLibrary.java b/java/src/org/openmbee/sysml/PayloadLibrary.java new file mode 100644 index 0000000..e0269f4 --- /dev/null +++ b/java/src/org/openmbee/sysml/PayloadLibrary.java @@ -0,0 +1,26 @@ +package org.openmbee.sysml; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** A standard library read from a full-form interchange element array, such as the library JSON + * published with the SDK. Index it once and pass it to any number of payload models: their + * references into the library then resolve by the library's normative ids. */ +public final class PayloadLibrary { + final Map> byId = new LinkedHashMap<>(); + final Map byQname = new LinkedHashMap<>(); + + public PayloadLibrary(List elements) { + PayloadBackend.index(elements, byId, byQname); + } + + public static PayloadLibrary fromJson(String json) { + return new PayloadLibrary((List) Json.parse(json)); + } + + /** The number of library elements. */ + public int size() { + return byId.size(); + } +} diff --git a/java/src/org/openmbee/sysml/SdkException.java b/java/src/org/openmbee/sysml/SdkException.java new file mode 100644 index 0000000..41d25da --- /dev/null +++ b/java/src/org/openmbee/sysml/SdkException.java @@ -0,0 +1,8 @@ +package org.openmbee.sysml; + +/** Base of all SDK-specific errors. */ +public class SdkException extends RuntimeException { + public SdkException(String message) { + super(message); + } +} diff --git a/java/src/org/openmbee/sysml/ToolkitBackend.java b/java/src/org/openmbee/sysml/ToolkitBackend.java new file mode 100644 index 0000000..9990230 --- /dev/null +++ b/java/src/org/openmbee/sysml/ToolkitBackend.java @@ -0,0 +1,532 @@ +package org.openmbee.sysml; + +import java.lang.foreign.Arena; +import java.lang.foreign.FunctionDescriptor; +import java.lang.foreign.Linker; +import java.lang.foreign.MemoryLayout; +import java.lang.foreign.MemorySegment; +import java.lang.foreign.SymbolLookup; +import java.lang.foreign.ValueLayout; +import java.lang.invoke.MethodHandle; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The SysML Toolkit backend: Java over the binding library ({@code abi/}) through the foreign + * function API. Implements the same {@link Backend} contract as {@link PayloadBackend}, so the + * generated interfaces and {@link Model} are untouched. Handles are the integers the library + * mints, carried as decimal strings to fit the contract; references come back as + * {@code {"@id": handle}} so {@link Model#wrap} mints typed elements as it does for payloads. + * + *

Dispatch: {@code get(handle, prop)} finds the declaring class of {@code prop} for the + * element's metaclass through {@link ToolkitTable}, then calls that symbol. The per-member + * static form follows once the generator emits symbols into the interfaces. + * + *

Operations: {@code call(handle, op, args)} finds the operation's row the same way and + * passes each argument as the binding library's parameter C type says. + * + *

Status codes follow the ABI specification: NOT_IMPLEMENTED raises + * {@link NotImplementedInToolkitException}, NOT_APPLICABLE is an absent value, INVALID_HANDLE + * raises {@link GoneException}, UNRESOLVED raises {@link UnresolvedReferenceException}. + * + *

Needs JDK 22, or JDK 21 with {@code --enable-preview}. + */ +public final class ToolkitBackend implements Backend, AutoCloseable { + + // -- status codes (ABI section 3) -------------------------------------------------------- + private static final int OK = 0, NOT_IMPLEMENTED = 1, NOT_APPLICABLE = 2, INVALID_HANDLE = 3, UNRESOLVED = 7; + + // -- struct layouts (ABI section 4), x86-64 -------------------------------------------- + private static final long STR_SIZE = 32, STR_PTR = 0, STR_LEN = 8, STR_PRESENT = 16, STR_OWNER = 24; + private static final long HANDLES_SIZE = 24, H_ITEMS = 0, H_LEN = 8, H_OWNER = 16; + private static final long REF_SIZE = 16, BOOL_SIZE = 2, NUM_SIZE = 16; + private static final long OPTS_SIZE = 72; + + /** One loaded library, shared by every session created from it. */ + public static final class Library { + final Arena arena = Arena.ofShared(); + final Linker linker = Linker.nativeLinker(); + final SymbolLookup lookup; + final MethodHandle free, sessionOpen, sessionClose, sessionRoots, lastError, metaclass, userElements, fullJson; + private final Map members = new HashMap<>(); + + public Library(Path path) { + lookup = SymbolLookup.libraryLookup(path, arena); + free = down("sysmlv2_free", FunctionDescriptor.ofVoid(ValueLayout.ADDRESS)); + sessionOpen = down("sysmlv2_session_open", FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); + sessionClose = down("sysmlv2_session_close", FunctionDescriptor.ofVoid(ValueLayout.ADDRESS)); + sessionRoots = down("sysmlv2_session_roots", FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); + lastError = down("sysmlv2_last_error", FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); + metaclass = down("sysmlv2_metaclass", FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.JAVA_LONG, ValueLayout.ADDRESS)); + userElements = down("sysmlv2_user_elements", FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); + fullJson = down("sysmlv2_session_full_json", FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.JAVA_INT, ValueLayout.ADDRESS)); + MethodHandle digest = down("sysmlv2_names_digest", FunctionDescriptor.of(ValueLayout.ADDRESS)); + MethodHandle digestLen = down("sysmlv2_names_digest_len", FunctionDescriptor.of(ValueLayout.JAVA_LONG)); + try { + MemorySegment p = (MemorySegment) digest.invokeExact(); + long n = (long) digestLen.invokeExact(); + String have = new String(p.reinterpret(n).toArray(ValueLayout.JAVA_BYTE), StandardCharsets.UTF_8); + if (!have.equals(ToolkitTable.NAMES_DIGEST)) + throw new SdkException("binding library " + path + " was generated from naming table " + + have.substring(0, 12) + ", this SDK from " + ToolkitTable.NAMES_DIGEST.substring(0, 12) + "; regenerate one side"); + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("cannot read the library's naming-table digest: " + t); + } + } + + private MethodHandle down(String symbol, FunctionDescriptor fd) { + return linker.downcallHandle(lookup.find(symbol).orElseThrow( + () -> new SdkException("binding library lacks " + symbol)), fd); + } + + /** A per-member function: (session, handle, out*) -> status. */ + MethodHandle member(String symbol) { + return members.computeIfAbsent(symbol, s -> down(s, + FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.JAVA_LONG, ValueLayout.ADDRESS))); + } + + void free(MemorySegment owner) { + if (owner.address() == 0) return; + try { + free.invokeExact(owner); + } catch (Throwable t) { + throw new SdkException("sysmlv2_free failed: " + t); + } + } + + /** SYSMLV2_ABI; else the library this jar carries for the running platform; else + * abi/target/release above the working directory (a build of the SDK's source). */ + public static Path defaultPath() { + String env = System.getenv("SYSMLV2_ABI"); + if (env != null) return Path.of(env); + String os = System.getProperty("os.name").toLowerCase(); + String name = os.contains("win") ? "sysmlv2_abi.dll" : os.contains("mac") ? "libsysmlv2_abi.dylib" : "libsysmlv2_abi.so"; + Path carried = carried(platform(os), name); + if (carried != null) return carried; + Path d = Path.of("").toAbsolutePath(); + while (d != null) { + Path candidate = d.resolve("abi").resolve("target").resolve("release").resolve(name); + if (java.nio.file.Files.exists(candidate)) return candidate; + d = d.getParent(); + } + throw new SdkException("binding library not found: this jar carries none for " + platform(os) + "; set SYSMLV2_ABI to the library file in the release's sysmlv2_abi archive for this platform (sysmlv2_abi.dll, libsysmlv2_abi.so or libsysmlv2_abi.dylib), or one built from abi/ in the SDK source"); + } + + /** The directory of the jar's libraries for the running platform: windows-x86_64, + * linux-x86_64, macos-aarch64 or macos-x86_64. */ + static String platform(String os) { + String arch = System.getProperty("os.arch").toLowerCase(); + String a = arch.equals("amd64") || arch.equals("x86_64") ? "x86_64" + : arch.equals("aarch64") || arch.equals("arm64") ? "aarch64" : arch; + return (os.contains("win") ? "windows" : os.contains("mac") ? "macos" : "linux") + "-" + a; + } + + /** The library this jar carries for {@code platform}, or null. A library cannot be loaded + * from inside a jar, so it is copied out once, into a directory of the temporary directory + * named after its digest. */ + static Path carried(String platform, String name) { + String resource = "native/" + platform + "/" + name; + try (java.io.InputStream in = ToolkitBackend.class.getResourceAsStream(resource)) { + if (in == null) return null; + byte[] bytes = in.readAllBytes(); + String digest = java.util.HexFormat.of().formatHex( + java.security.MessageDigest.getInstance("SHA-256").digest(bytes)).substring(0, 16); + Path dir = Path.of(System.getProperty("java.io.tmpdir"), "sysmlv2-abi-" + digest); + Path lib = dir.resolve(name); + if (java.nio.file.Files.isRegularFile(lib) && java.nio.file.Files.size(lib) == bytes.length) return lib; + java.nio.file.Files.createDirectories(dir); + Path part = java.nio.file.Files.createTempFile(dir, name, ".part"); + java.nio.file.Files.write(part, bytes); + try { + java.nio.file.Files.move(part, lib, java.nio.file.StandardCopyOption.ATOMIC_MOVE); + } catch (java.io.IOException raced) { // another process copied it out first + java.nio.file.Files.deleteIfExists(part); + if (!java.nio.file.Files.isRegularFile(lib)) throw raced; + } + return lib; + } catch (java.io.IOException | java.security.NoSuchAlgorithmException e) { + throw new SdkException("cannot copy out the binding library " + resource + ": " + e); + } + } + } + + private static Library defaultLibrary; + + public static synchronized Library library() { + if (defaultLibrary == null) defaultLibrary = new Library(Library.defaultPath()); + return defaultLibrary; + } + + // -- instance ------------------------------------------------------------------------------ + + private final Library lib; + private MemorySegment session; + private final Map metaclassCache = new HashMap<>(); + private final Map declaringCache = new HashMap<>(); + + private ToolkitBackend(Library lib, MemorySegment session) { + this.lib = lib; + this.session = session; + } + + /** Open a session over files. */ + public static ToolkitBackend open(List paths) { + return open(library(), paths, null, null); + } + + /** Open a session over in-memory sources: unit name to text. */ + public static ToolkitBackend openSources(Map sources) { + return open(library(), List.of(), sources, null); + } + + public static ToolkitBackend open(Library lib, List paths, Map sources, String libraryDir) { + if (sources == null || sources.isEmpty()) + for (String p : paths) + if (!java.nio.file.Files.isRegularFile(Path.of(p))) + throw new SdkException("model file not found: " + Path.of(p).toAbsolutePath()); + if (libraryDir != null && !java.nio.file.Files.isDirectory(Path.of(libraryDir))) + throw new SdkException("library directory not found: " + Path.of(libraryDir).toAbsolutePath()); + try (Arena arena = Arena.ofConfined()) { + MemorySegment opts = arena.allocate(OPTS_SIZE); + if (sources != null && !sources.isEmpty()) { + MemorySegment names = arena.allocate(STR_SIZE * sources.size()); + MemorySegment texts = arena.allocate(STR_SIZE * sources.size()); + int i = 0; + for (Map.Entry e : sources.entrySet()) { + writeStr(arena, names.asSlice(i * STR_SIZE, STR_SIZE), e.getKey()); + writeStr(arena, texts.asSlice(i * STR_SIZE, STR_SIZE), e.getValue()); + i++; + } + opts.set(ValueLayout.ADDRESS, 16, names); + opts.set(ValueLayout.ADDRESS, 24, texts); + opts.set(ValueLayout.JAVA_LONG, 32, sources.size()); + } else { + MemorySegment arr = arena.allocate(STR_SIZE * Math.max(1, paths.size())); + for (int i = 0; i < paths.size(); i++) + writeStr(arena, arr.asSlice(i * STR_SIZE, STR_SIZE), paths.get(i)); + opts.set(ValueLayout.ADDRESS, 0, arr); + opts.set(ValueLayout.JAVA_LONG, 8, paths.size()); + } + if (libraryDir != null) + writeStr(arena, opts.asSlice(40, STR_SIZE), libraryDir); + MemorySegment out = arena.allocate(ValueLayout.ADDRESS); + int st = (int) lib.sessionOpen.invokeExact(opts, out); + if (st != OK) + throw new SdkException("the SysML Toolkit could not load the model: status " + st + " (the SysML Toolkit's reason is on stderr)"); + return new ToolkitBackend(lib, out.get(ValueLayout.ADDRESS, 0)); + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("session open failed: " + t); + } + } + + private static void writeStr(Arena arena, MemorySegment str, String value) { + byte[] bytes = value.getBytes(StandardCharsets.UTF_8); + MemorySegment buf = arena.allocate(Math.max(1, bytes.length)); + MemorySegment.copy(bytes, 0, buf, ValueLayout.JAVA_BYTE, 0, bytes.length); + str.set(ValueLayout.ADDRESS, STR_PTR, buf); + str.set(ValueLayout.JAVA_LONG, STR_LEN, bytes.length); + str.set(ValueLayout.JAVA_BYTE, STR_PRESENT, (byte) 1); + str.set(ValueLayout.ADDRESS, STR_OWNER, MemorySegment.NULL); + } + + @Override + public void close() { + if (session != null) { + try { + lib.sessionClose.invokeExact(session); + } catch (Throwable t) { + throw new SdkException("session close failed: " + t); + } + session = null; + } + } + + /** The model as full-form interchange JSON, from the SysML Toolkit's own emitter, with the + * closures. */ + public String fullJson() { + return fullJson(true); + } + + /** + * The model as full-form interchange JSON, from the SysML Toolkit's own emitter. With + * {@code closures} the inheritance-aware properties carry the specification's values, + * inherited and imported members included; without, the owned side only, as the + * SysML Toolkit's command-line export writes them. + */ + public String fullJson(boolean closures) { + try (Arena arena = Arena.ofConfined()) { + MemorySegment out = arena.allocate(STR_SIZE); + int st = (int) lib.fullJson.invokeExact(session, closures ? 1 : 0, out); + check(st, "full_json"); + return takeStr(out); + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("full_json failed: " + t); + } + } + + /** The user-unit document roots. */ + public List roots() { + try (Arena arena = Arena.ofConfined()) { + MemorySegment out = arena.allocate(HANDLES_SIZE); + int st = (int) lib.sessionRoots.invokeExact(session, out); + check(st, "roots"); + return takeHandles(out); + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("roots failed: " + t); + } + } + + // -- errors and result unpacking ----------------------------------------------------------- + + private String lastError() { + try (Arena arena = Arena.ofConfined()) { + MemorySegment out = arena.allocate(STR_SIZE); + int ignored = (int) lib.lastError.invokeExact(session, out); + String s = takeStr(out); + return s == null ? "" : s; + } catch (Throwable t) { + return ""; + } + } + + /** True when a value is present; false for NOT_APPLICABLE; throws otherwise. */ + private boolean check(int st, String where) { + if (st == OK) return true; + if (st == NOT_APPLICABLE) return false; + String msg = lastError(); + if (st == NOT_IMPLEMENTED) + throw new NotImplementedInToolkitException(msg.isEmpty() ? where + ": not implemented by the SysML Toolkit" : msg); + if (st == INVALID_HANDLE) + throw new GoneException(msg.isEmpty() ? where + ": invalid handle" : msg); + if (st == UNRESOLVED) + throw new UnresolvedReferenceException(msg.isEmpty() ? where + ": a reference did not resolve" : msg); + throw new SdkException(where + ": status " + st + ": " + msg); + } + + private String takeStr(MemorySegment str) { + boolean present = str.get(ValueLayout.JAVA_BYTE, STR_PRESENT) != 0; + MemorySegment ptr = str.get(ValueLayout.ADDRESS, STR_PTR); + long len = str.get(ValueLayout.JAVA_LONG, STR_LEN); + String value = (present && ptr.address() != 0) + ? new String(ptr.reinterpret(len).toArray(ValueLayout.JAVA_BYTE), StandardCharsets.UTF_8) : null; + lib.free(str.get(ValueLayout.ADDRESS, STR_OWNER)); + return value; + } + + private List takeHandles(MemorySegment hs) { + MemorySegment items = hs.get(ValueLayout.ADDRESS, H_ITEMS); + long len = hs.get(ValueLayout.JAVA_LONG, H_LEN); + List out = new ArrayList<>((int) len); + if (len > 0) { + MemorySegment arr = items.reinterpret(len * 8); + for (long i = 0; i < len; i++) out.add(Long.toString(arr.getAtIndex(ValueLayout.JAVA_LONG, i))); + } + lib.free(hs.get(ValueLayout.ADDRESS, H_OWNER)); + return out; + } + + private static long outSize(String code) { + return switch (code) { case "H" -> HANDLES_SIZE; case "S", "T" -> STR_SIZE; case "B" -> BOOL_SIZE; default -> NUM_SIZE; }; + } + + private Object call(String symbol, String code, long handle, String where) { + try (Arena arena = Arena.ofConfined()) { + MemorySegment out = arena.allocate(outSize(code)); + int st = (int) lib.member(symbol).invokeExact(session, handle, out); + return unpack(code, out, st, where); + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException(where + " failed: " + t); + } + } + + /** The result in {@code out} as the backend contract carries it, after checking the status. */ + private Object unpack(String code, MemorySegment out, int st, String where) { + if (!check(st, where)) return "H".equals(code) || "T".equals(code) ? List.of() : null; + switch (code) { + case "H": { + List refs = new ArrayList<>(); + for (String h : takeHandles(out)) refs.add(Map.of("@id", h)); + return refs; + } + case "R": + return out.get(ValueLayout.JAVA_BYTE, 0) != 0 ? Map.of("@id", Long.toString(out.get(ValueLayout.JAVA_LONG, 8))) : null; + case "S": + return takeStr(out); + case "T": { // a list of strings (a requirement's `text`), as JSON text + String text = takeStr(out); + return text == null ? List.of() : Json.parse(text); + } + case "B": + return out.get(ValueLayout.JAVA_BYTE, 0) != 0 ? Boolean.valueOf(out.get(ValueLayout.JAVA_BYTE, 1) != 0) : null; + case "I": + return out.get(ValueLayout.JAVA_BYTE, 0) != 0 ? Long.valueOf(out.get(ValueLayout.JAVA_LONG, 8)) : null; + default: + return out.get(ValueLayout.JAVA_BYTE, 0) != 0 ? Double.valueOf(out.get(ValueLayout.JAVA_DOUBLE, 8)) : null; + } + } + + // -- the backend contract ------------------------------------------------------------------ + + private String[] declaring(String metaclass, String prop) { + String key = metaclass + "::" + prop; + if (declaringCache.containsKey(key)) return declaringCache.get(key); + java.util.ArrayDeque stack = new java.util.ArrayDeque<>(); + java.util.HashSet seen = new java.util.HashSet<>(); + stack.push(metaclass); + String[] found = null; + while (!stack.isEmpty()) { + String c = stack.pop(); + if (!seen.add(c)) continue; + String[] e = ToolkitTable.FUNCS.get(c + "::" + prop); + if (e != null) { found = e; break; } + for (String b : ToolkitTable.BASES.getOrDefault(c, new String[0])) stack.push(b); + } + declaringCache.put(key, found); + return found; + } + + @Override + public Object get(String handle, String prop) { + String mc = metaclass(handle); + String[] e = declaring(mc, prop); + if (e == null) return null; // not a member of this metaclass: absent, as the payload backend answers + return call(e[0], e[1], Long.parseLong(handle), mc + "." + prop); + } + + /** + * A specification operation. Each argument is passed as the binding library's parameter C type + * says: an element as its handle, a list of elements as a handle array, a Boolean as a C bool, + * anything else as text. The library answers or refuses. + */ + @Override + public Object call(String handle, String op, List args) { + String mc = metaclass(handle); + String where = mc + "." + op + "()"; + String[] e = declaring(mc, op + "()"); + if (e == null) throw new SdkException(where + ": the binding library has no such operation"); + String[] types = e[2].isEmpty() ? new String[0] : e[2].split(";"); + try (Arena arena = Arena.ofConfined()) { + List layouts = new ArrayList<>(List.of(ValueLayout.ADDRESS, ValueLayout.JAVA_LONG)); + List values = new ArrayList<>(List.of(session, Long.parseLong(handle))); + for (int i = 0; i < types.length; i++) { + Object a = i < args.size() ? args.get(i) : null; + switch (types[i]) { + case "Handle" -> { + // The binding library has no "no element": refuse it rather than pass a + // handle that names some other element. + if (!(a instanceof Element el)) + throw new IllegalArgumentException(where + ": argument " + (i + 1) + " must be an element, not " + a); + layouts.add(ValueLayout.JAVA_LONG); + values.add(Long.parseLong(el.$handle())); + } + case "bool" -> { + layouts.add(ValueLayout.JAVA_BOOLEAN); + values.add(Boolean.TRUE.equals(a)); + } + case "Handles" -> { + List items = a instanceof List l ? l : List.of(); + MemorySegment arr = arena.allocate(8L * Math.max(1, items.size())); + for (int k = 0; k < items.size(); k++) { + if (!(items.get(k) instanceof Element x)) + throw new IllegalArgumentException(where + ": argument " + (i + 1) + " must hold elements only, not " + items.get(k)); + arr.setAtIndex(ValueLayout.JAVA_LONG, k, Long.parseLong(x.$handle())); + } + MemorySegment hs = arena.allocate(HANDLES_SIZE); + hs.set(ValueLayout.ADDRESS, H_ITEMS, arr); + hs.set(ValueLayout.JAVA_LONG, H_LEN, items.size()); + hs.set(ValueLayout.ADDRESS, H_OWNER, MemorySegment.NULL); + layouts.add(ValueLayout.ADDRESS); + values.add(hs); + } + default -> { + MemorySegment s = arena.allocate(STR_SIZE); + writeStr(arena, s, a == null ? "" : a instanceof Element el ? el.$id() : String.valueOf(a)); + layouts.add(ValueLayout.ADDRESS); + values.add(s); + } + } + } + MemorySegment out = arena.allocate(outSize(e[1])); + layouts.add(ValueLayout.ADDRESS); + values.add(out); + MethodHandle f = lib.linker.downcallHandle(lib.lookup.find(e[0]).orElseThrow(), + FunctionDescriptor.of(ValueLayout.JAVA_INT, layouts.toArray(new MemoryLayout[0]))); + int st = (int) f.invokeWithArguments(values); + return unpack(e[1], out, st, where); + } catch (SdkException | IllegalArgumentException ex) { + throw ex; + } catch (Throwable t) { + throw new SdkException(where + " failed: " + t); + } + } + + @Override + public String metaclass(String handle) { + String mc = metaclassCache.get(handle); + if (mc != null) return mc; + try (Arena arena = Arena.ofConfined()) { + MemorySegment out = arena.allocate(STR_SIZE); + int st = (int) lib.metaclass.invokeExact(session, Long.parseLong(handle), out); + check(st, "metaclass(" + handle + ")"); + mc = takeStr(out); + metaclassCache.put(handle, mc); + return mc; + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("metaclass failed: " + t); + } + } + + @Override + public String elementId(String handle) { + Object v = call("sysmlv2_element_element_id", "S", Long.parseLong(handle), "elementId"); + return v == null ? "" : (String) v; + } + + @Override + public String resolve(String qualifiedName) { + try (Arena arena = Arena.ofConfined()) { + MemorySegment arg = arena.allocate(STR_SIZE); + writeStr(arena, arg, qualifiedName); + MemorySegment out = arena.allocate(REF_SIZE); + MethodHandle f = lib.linker.downcallHandle(lib.lookup.find("sysmlv2_session_resolve").orElseThrow(), + FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.ADDRESS)); + int st = (int) f.invokeExact(session, arg, out); + if (!check(st, "resolve(" + qualifiedName + ")")) return null; + return out.get(ValueLayout.JAVA_BYTE, 0) != 0 ? Long.toString(out.get(ValueLayout.JAVA_LONG, 8)) : null; + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("resolve failed: " + t); + } + } + + @Override + public Iterable allHandles() { + try (Arena arena = Arena.ofConfined()) { + MemorySegment out = arena.allocate(HANDLES_SIZE); + int st = (int) lib.userElements.invokeExact(session, out); + check(st, "user_elements"); + return takeHandles(out); + } catch (SdkException e) { + throw e; + } catch (Throwable t) { + throw new SdkException("user_elements failed: " + t); + } + } +} diff --git a/java/src/org/openmbee/sysml/ToolkitTable.java b/java/src/org/openmbee/sysml/ToolkitTable.java new file mode 100644 index 0000000..896adb0 --- /dev/null +++ b/java/src/org/openmbee/sysml/ToolkitTable.java @@ -0,0 +1,690 @@ +// Generated by tools/gen_toolkit_table_java.py. Do not edit. +package org.openmbee.sysml; + +import java.util.HashMap; +import java.util.Map; + +/** Dispatch data for {@link ToolkitBackend}: spec member to C symbol, result code and, for an + * operation, its parameters' C types joined by ';'; plus bases. */ +final class ToolkitTable { + static final String NAMES_DIGEST = "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351"; + static final Map FUNCS = new HashMap<>(); + static final Map BASES = new HashMap<>(); + private ToolkitTable() {} + private static void funcs0() { + FUNCS.put("AcceptActionUsage::payloadArgument", new String[] {"sysmlv2_accept_action_usage_payload_argument", "R", ""}); + FUNCS.put("AcceptActionUsage::payloadParameter", new String[] {"sysmlv2_accept_action_usage_payload_parameter", "R", ""}); + FUNCS.put("AcceptActionUsage::receiverArgument", new String[] {"sysmlv2_accept_action_usage_receiver_argument", "R", ""}); + FUNCS.put("AcceptActionUsage::isTriggerAction()", new String[] {"sysmlv2_accept_action_usage_is_trigger_action", "B", ""}); + FUNCS.put("ActionDefinition::action", new String[] {"sysmlv2_action_definition_action", "H", ""}); + FUNCS.put("ActionUsage::actionDefinition", new String[] {"sysmlv2_action_usage_action_definition", "H", ""}); + FUNCS.put("ActionUsage::argument()", new String[] {"sysmlv2_action_usage_argument", "R", "Str"}); + FUNCS.put("ActionUsage::inputParameter()", new String[] {"sysmlv2_action_usage_input_parameter", "R", "Str"}); + FUNCS.put("ActionUsage::inputParameters()", new String[] {"sysmlv2_action_usage_input_parameters", "H", ""}); + FUNCS.put("ActionUsage::isSubactionUsage()", new String[] {"sysmlv2_action_usage_is_subaction_usage", "B", ""}); + FUNCS.put("ActorMembership::ownedActorParameter", new String[] {"sysmlv2_actor_membership_owned_actor_parameter", "R", ""}); + FUNCS.put("AllocationDefinition::allocation", new String[] {"sysmlv2_allocation_definition_allocation", "H", ""}); + FUNCS.put("AllocationUsage::allocationDefinition", new String[] {"sysmlv2_allocation_usage_allocation_definition", "H", ""}); + FUNCS.put("AnalysisCaseDefinition::resultExpression", new String[] {"sysmlv2_analysis_case_definition_result_expression", "R", ""}); + FUNCS.put("AnalysisCaseUsage::analysisCaseDefinition", new String[] {"sysmlv2_analysis_case_usage_analysis_case_definition", "R", ""}); + FUNCS.put("AnalysisCaseUsage::resultExpression", new String[] {"sysmlv2_analysis_case_usage_result_expression", "R", ""}); + FUNCS.put("AnnotatingElement::annotatedElement", new String[] {"sysmlv2_annotating_element_annotated_element", "H", ""}); + FUNCS.put("AnnotatingElement::annotation", new String[] {"sysmlv2_annotating_element_annotation", "H", ""}); + FUNCS.put("AnnotatingElement::ownedAnnotatingRelationship", new String[] {"sysmlv2_annotating_element_owned_annotating_relationship", "H", ""}); + FUNCS.put("AnnotatingElement::owningAnnotatingRelationship", new String[] {"sysmlv2_annotating_element_owning_annotating_relationship", "R", ""}); + FUNCS.put("Annotation::annotatedElement", new String[] {"sysmlv2_annotation_annotated_element", "R", ""}); + FUNCS.put("Annotation::annotatingElement", new String[] {"sysmlv2_annotation_annotating_element", "R", ""}); + FUNCS.put("Annotation::ownedAnnotatingElement", new String[] {"sysmlv2_annotation_owned_annotating_element", "R", ""}); + FUNCS.put("Annotation::owningAnnotatedElement", new String[] {"sysmlv2_annotation_owning_annotated_element", "R", ""}); + FUNCS.put("Annotation::owningAnnotatingElement", new String[] {"sysmlv2_annotation_owning_annotating_element", "R", ""}); + FUNCS.put("AssertConstraintUsage::assertedConstraint", new String[] {"sysmlv2_assert_constraint_usage_asserted_constraint", "R", ""}); + FUNCS.put("AssignmentActionUsage::referent", new String[] {"sysmlv2_assignment_action_usage_referent", "R", ""}); + FUNCS.put("AssignmentActionUsage::targetArgument", new String[] {"sysmlv2_assignment_action_usage_target_argument", "R", ""}); + FUNCS.put("AssignmentActionUsage::valueExpression", new String[] {"sysmlv2_assignment_action_usage_value_expression", "R", ""}); + FUNCS.put("Association::associationEnd", new String[] {"sysmlv2_association_association_end", "H", ""}); + FUNCS.put("Association::relatedType", new String[] {"sysmlv2_association_related_type", "H", ""}); + FUNCS.put("Association::sourceType", new String[] {"sysmlv2_association_source_type", "R", ""}); + FUNCS.put("Association::targetType", new String[] {"sysmlv2_association_target_type", "H", ""}); + FUNCS.put("AttributeUsage::attributeDefinition", new String[] {"sysmlv2_attribute_usage_attribute_definition", "H", ""}); + FUNCS.put("Behavior::parameter", new String[] {"sysmlv2_behavior_parameter", "H", ""}); + FUNCS.put("Behavior::step", new String[] {"sysmlv2_behavior_step", "H", ""}); + FUNCS.put("BooleanExpression::predicate", new String[] {"sysmlv2_boolean_expression_predicate", "R", ""}); + FUNCS.put("CalculationDefinition::calculation", new String[] {"sysmlv2_calculation_definition_calculation", "H", ""}); + FUNCS.put("CalculationUsage::calculationDefinition", new String[] {"sysmlv2_calculation_usage_calculation_definition", "R", ""}); + FUNCS.put("CaseDefinition::actorParameter", new String[] {"sysmlv2_case_definition_actor_parameter", "H", ""}); + FUNCS.put("CaseDefinition::objectiveRequirement", new String[] {"sysmlv2_case_definition_objective_requirement", "R", ""}); + FUNCS.put("CaseDefinition::subjectParameter", new String[] {"sysmlv2_case_definition_subject_parameter", "R", ""}); + FUNCS.put("CaseUsage::actorParameter", new String[] {"sysmlv2_case_usage_actor_parameter", "H", ""}); + FUNCS.put("CaseUsage::caseDefinition", new String[] {"sysmlv2_case_usage_case_definition", "R", ""}); + FUNCS.put("CaseUsage::objectiveRequirement", new String[] {"sysmlv2_case_usage_objective_requirement", "R", ""}); + FUNCS.put("CaseUsage::subjectParameter", new String[] {"sysmlv2_case_usage_subject_parameter", "R", ""}); + FUNCS.put("Classifier::ownedSubclassification", new String[] {"sysmlv2_classifier_owned_subclassification", "H", ""}); + FUNCS.put("Comment::body", new String[] {"sysmlv2_comment_body", "S", ""}); + FUNCS.put("Comment::locale", new String[] {"sysmlv2_comment_locale", "S", ""}); + FUNCS.put("ConcernUsage::concernDefinition", new String[] {"sysmlv2_concern_usage_concern_definition", "R", ""}); + FUNCS.put("ConjugatedPortDefinition::originalPortDefinition", new String[] {"sysmlv2_conjugated_port_definition_original_port_definition", "R", ""}); + FUNCS.put("ConjugatedPortDefinition::ownedPortConjugator", new String[] {"sysmlv2_conjugated_port_definition_owned_port_conjugator", "R", ""}); + FUNCS.put("ConjugatedPortTyping::conjugatedPortDefinition", new String[] {"sysmlv2_conjugated_port_typing_conjugated_port_definition", "R", ""}); + FUNCS.put("ConjugatedPortTyping::portDefinition", new String[] {"sysmlv2_conjugated_port_typing_port_definition", "R", ""}); + FUNCS.put("Conjugation::conjugatedType", new String[] {"sysmlv2_conjugation_conjugated_type", "R", ""}); + FUNCS.put("Conjugation::originalType", new String[] {"sysmlv2_conjugation_original_type", "R", ""}); + FUNCS.put("Conjugation::owningType", new String[] {"sysmlv2_conjugation_owning_type", "R", ""}); + FUNCS.put("ConnectionDefinition::connectionEnd", new String[] {"sysmlv2_connection_definition_connection_end", "H", ""}); + FUNCS.put("ConnectionUsage::connectionDefinition", new String[] {"sysmlv2_connection_usage_connection_definition", "H", ""}); + FUNCS.put("Connector::association", new String[] {"sysmlv2_connector_association", "H", ""}); + FUNCS.put("Connector::connectorEnd", new String[] {"sysmlv2_connector_connector_end", "H", ""}); + FUNCS.put("Connector::defaultFeaturingType", new String[] {"sysmlv2_connector_default_featuring_type", "R", ""}); + FUNCS.put("Connector::relatedFeature", new String[] {"sysmlv2_connector_related_feature", "H", ""}); + FUNCS.put("Connector::sourceFeature", new String[] {"sysmlv2_connector_source_feature", "R", ""}); + FUNCS.put("Connector::targetFeature", new String[] {"sysmlv2_connector_target_feature", "H", ""}); + FUNCS.put("ConstraintUsage::constraintDefinition", new String[] {"sysmlv2_constraint_usage_constraint_definition", "R", ""}); + FUNCS.put("ControlNode::multiplicityHasBounds()", new String[] {"sysmlv2_control_node_multiplicity_has_bounds", "B", "Handle;Str;Str"}); + FUNCS.put("CrossSubsetting::crossedFeature", new String[] {"sysmlv2_cross_subsetting_crossed_feature", "R", ""}); + FUNCS.put("CrossSubsetting::crossingFeature", new String[] {"sysmlv2_cross_subsetting_crossing_feature", "R", ""}); + FUNCS.put("Definition::directedUsage", new String[] {"sysmlv2_definition_directed_usage", "H", ""}); + FUNCS.put("Definition::isVariation", new String[] {"sysmlv2_definition_is_variation", "B", ""}); + FUNCS.put("Definition::ownedAction", new String[] {"sysmlv2_definition_owned_action", "H", ""}); + FUNCS.put("Definition::ownedAllocation", new String[] {"sysmlv2_definition_owned_allocation", "H", ""}); + FUNCS.put("Definition::ownedAnalysisCase", new String[] {"sysmlv2_definition_owned_analysis_case", "H", ""}); + FUNCS.put("Definition::ownedAttribute", new String[] {"sysmlv2_definition_owned_attribute", "H", ""}); + FUNCS.put("Definition::ownedCalculation", new String[] {"sysmlv2_definition_owned_calculation", "H", ""}); + FUNCS.put("Definition::ownedCase", new String[] {"sysmlv2_definition_owned_case", "H", ""}); + FUNCS.put("Definition::ownedConcern", new String[] {"sysmlv2_definition_owned_concern", "H", ""}); + FUNCS.put("Definition::ownedConnection", new String[] {"sysmlv2_definition_owned_connection", "H", ""}); + FUNCS.put("Definition::ownedConstraint", new String[] {"sysmlv2_definition_owned_constraint", "H", ""}); + FUNCS.put("Definition::ownedEnumeration", new String[] {"sysmlv2_definition_owned_enumeration", "H", ""}); + FUNCS.put("Definition::ownedFlow", new String[] {"sysmlv2_definition_owned_flow", "H", ""}); + FUNCS.put("Definition::ownedInterface", new String[] {"sysmlv2_definition_owned_interface", "H", ""}); + FUNCS.put("Definition::ownedItem", new String[] {"sysmlv2_definition_owned_item", "H", ""}); + FUNCS.put("Definition::ownedMetadata", new String[] {"sysmlv2_definition_owned_metadata", "H", ""}); + FUNCS.put("Definition::ownedOccurrence", new String[] {"sysmlv2_definition_owned_occurrence", "H", ""}); + FUNCS.put("Definition::ownedPart", new String[] {"sysmlv2_definition_owned_part", "H", ""}); + FUNCS.put("Definition::ownedPort", new String[] {"sysmlv2_definition_owned_port", "H", ""}); + FUNCS.put("Definition::ownedReference", new String[] {"sysmlv2_definition_owned_reference", "H", ""}); + FUNCS.put("Definition::ownedRendering", new String[] {"sysmlv2_definition_owned_rendering", "H", ""}); + FUNCS.put("Definition::ownedRequirement", new String[] {"sysmlv2_definition_owned_requirement", "H", ""}); + FUNCS.put("Definition::ownedState", new String[] {"sysmlv2_definition_owned_state", "H", ""}); + FUNCS.put("Definition::ownedTransition", new String[] {"sysmlv2_definition_owned_transition", "H", ""}); + FUNCS.put("Definition::ownedUsage", new String[] {"sysmlv2_definition_owned_usage", "H", ""}); + FUNCS.put("Definition::ownedUseCase", new String[] {"sysmlv2_definition_owned_use_case", "H", ""}); + FUNCS.put("Definition::ownedVerificationCase", new String[] {"sysmlv2_definition_owned_verification_case", "H", ""}); + FUNCS.put("Definition::ownedView", new String[] {"sysmlv2_definition_owned_view", "H", ""}); + FUNCS.put("Definition::ownedViewpoint", new String[] {"sysmlv2_definition_owned_viewpoint", "H", ""}); + FUNCS.put("Definition::usage", new String[] {"sysmlv2_definition_usage", "H", ""}); + FUNCS.put("Definition::variant", new String[] {"sysmlv2_definition_variant", "H", ""}); + FUNCS.put("Definition::variantMembership", new String[] {"sysmlv2_definition_variant_membership", "H", ""}); + FUNCS.put("Dependency::client", new String[] {"sysmlv2_dependency_client", "H", ""}); + FUNCS.put("Dependency::supplier", new String[] {"sysmlv2_dependency_supplier", "H", ""}); + FUNCS.put("Differencing::differencingType", new String[] {"sysmlv2_differencing_differencing_type", "R", ""}); + FUNCS.put("Differencing::typeDifferenced", new String[] {"sysmlv2_differencing_type_differenced", "R", ""}); + FUNCS.put("Disjoining::disjoiningType", new String[] {"sysmlv2_disjoining_disjoining_type", "R", ""}); + FUNCS.put("Disjoining::owningType", new String[] {"sysmlv2_disjoining_owning_type", "R", ""}); + FUNCS.put("Disjoining::typeDisjoined", new String[] {"sysmlv2_disjoining_type_disjoined", "R", ""}); + FUNCS.put("Documentation::documentedElement", new String[] {"sysmlv2_documentation_documented_element", "R", ""}); + FUNCS.put("Element::aliasIds", new String[] {"sysmlv2_element_alias_ids", "T", ""}); + FUNCS.put("Element::declaredName", new String[] {"sysmlv2_element_declared_name", "S", ""}); + FUNCS.put("Element::declaredShortName", new String[] {"sysmlv2_element_declared_short_name", "S", ""}); + FUNCS.put("Element::documentation", new String[] {"sysmlv2_element_documentation", "H", ""}); + FUNCS.put("Element::elementId", new String[] {"sysmlv2_element_element_id", "S", ""}); + FUNCS.put("Element::isImpliedIncluded", new String[] {"sysmlv2_element_is_implied_included", "B", ""}); + FUNCS.put("Element::isLibraryElement", new String[] {"sysmlv2_element_is_library_element", "B", ""}); + FUNCS.put("Element::name", new String[] {"sysmlv2_element_name", "S", ""}); + FUNCS.put("Element::ownedAnnotation", new String[] {"sysmlv2_element_owned_annotation", "H", ""}); + FUNCS.put("Element::ownedElement", new String[] {"sysmlv2_element_owned_element", "H", ""}); + FUNCS.put("Element::ownedRelationship", new String[] {"sysmlv2_element_owned_relationship", "H", ""}); + FUNCS.put("Element::owner", new String[] {"sysmlv2_element_owner", "R", ""}); + FUNCS.put("Element::owningMembership", new String[] {"sysmlv2_element_owning_membership", "R", ""}); + FUNCS.put("Element::owningNamespace", new String[] {"sysmlv2_element_owning_namespace", "R", ""}); + FUNCS.put("Element::owningRelationship", new String[] {"sysmlv2_element_owning_relationship", "R", ""}); + FUNCS.put("Element::qualifiedName", new String[] {"sysmlv2_element_qualified_name", "S", ""}); + FUNCS.put("Element::shortName", new String[] {"sysmlv2_element_short_name", "S", ""}); + FUNCS.put("Element::textualRepresentation", new String[] {"sysmlv2_element_textual_representation", "H", ""}); + FUNCS.put("Element::effectiveName()", new String[] {"sysmlv2_element_effective_name", "S", ""}); + FUNCS.put("Element::effectiveShortName()", new String[] {"sysmlv2_element_effective_short_name", "S", ""}); + FUNCS.put("Element::escapedName()", new String[] {"sysmlv2_element_escaped_name", "S", ""}); + FUNCS.put("Element::libraryNamespace()", new String[] {"sysmlv2_element_library_namespace", "R", ""}); + FUNCS.put("Element::path()", new String[] {"sysmlv2_element_path", "S", ""}); + FUNCS.put("ElementFilterMembership::condition", new String[] {"sysmlv2_element_filter_membership_condition", "R", ""}); + FUNCS.put("EnumerationDefinition::enumeratedValue", new String[] {"sysmlv2_enumeration_definition_enumerated_value", "H", ""}); + FUNCS.put("EnumerationUsage::enumerationDefinition", new String[] {"sysmlv2_enumeration_usage_enumeration_definition", "R", ""}); + FUNCS.put("EventOccurrenceUsage::eventOccurrence", new String[] {"sysmlv2_event_occurrence_usage_event_occurrence", "R", ""}); + FUNCS.put("ExhibitStateUsage::exhibitedState", new String[] {"sysmlv2_exhibit_state_usage_exhibited_state", "R", ""}); + FUNCS.put("Expression::function", new String[] {"sysmlv2_expression_function", "R", ""}); + FUNCS.put("Expression::isModelLevelEvaluable", new String[] {"sysmlv2_expression_is_model_level_evaluable", "B", ""}); + FUNCS.put("Expression::result", new String[] {"sysmlv2_expression_result", "R", ""}); + FUNCS.put("Expression::checkCondition()", new String[] {"sysmlv2_expression_check_condition", "B", "Handle"}); + FUNCS.put("Expression::evaluate()", new String[] {"sysmlv2_expression_evaluate", "H", "Handle"}); + FUNCS.put("Expression::modelLevelEvaluable()", new String[] {"sysmlv2_expression_model_level_evaluable", "B", "Handles"}); + FUNCS.put("Feature::chainingFeature", new String[] {"sysmlv2_feature_chaining_feature", "H", ""}); + FUNCS.put("Feature::crossFeature", new String[] {"sysmlv2_feature_cross_feature", "R", ""}); + FUNCS.put("Feature::direction", new String[] {"sysmlv2_feature_direction", "S", ""}); + FUNCS.put("Feature::endOwningType", new String[] {"sysmlv2_feature_end_owning_type", "R", ""}); + FUNCS.put("Feature::featureTarget", new String[] {"sysmlv2_feature_feature_target", "R", ""}); + FUNCS.put("Feature::featuringType", new String[] {"sysmlv2_feature_featuring_type", "H", ""}); + FUNCS.put("Feature::isComposite", new String[] {"sysmlv2_feature_is_composite", "B", ""}); + } + private static void funcs1() { + FUNCS.put("Feature::isConstant", new String[] {"sysmlv2_feature_is_constant", "B", ""}); + FUNCS.put("Feature::isDerived", new String[] {"sysmlv2_feature_is_derived", "B", ""}); + FUNCS.put("Feature::isEnd", new String[] {"sysmlv2_feature_is_end", "B", ""}); + FUNCS.put("Feature::isOrdered", new String[] {"sysmlv2_feature_is_ordered", "B", ""}); + FUNCS.put("Feature::isPortion", new String[] {"sysmlv2_feature_is_portion", "B", ""}); + FUNCS.put("Feature::isUnique", new String[] {"sysmlv2_feature_is_unique", "B", ""}); + FUNCS.put("Feature::isVariable", new String[] {"sysmlv2_feature_is_variable", "B", ""}); + FUNCS.put("Feature::ownedCrossSubsetting", new String[] {"sysmlv2_feature_owned_cross_subsetting", "R", ""}); + FUNCS.put("Feature::ownedFeatureChaining", new String[] {"sysmlv2_feature_owned_feature_chaining", "H", ""}); + FUNCS.put("Feature::ownedFeatureInverting", new String[] {"sysmlv2_feature_owned_feature_inverting", "H", ""}); + FUNCS.put("Feature::ownedRedefinition", new String[] {"sysmlv2_feature_owned_redefinition", "H", ""}); + FUNCS.put("Feature::ownedReferenceSubsetting", new String[] {"sysmlv2_feature_owned_reference_subsetting", "R", ""}); + FUNCS.put("Feature::ownedSubsetting", new String[] {"sysmlv2_feature_owned_subsetting", "H", ""}); + FUNCS.put("Feature::ownedTypeFeaturing", new String[] {"sysmlv2_feature_owned_type_featuring", "H", ""}); + FUNCS.put("Feature::ownedTyping", new String[] {"sysmlv2_feature_owned_typing", "H", ""}); + FUNCS.put("Feature::owningFeatureMembership", new String[] {"sysmlv2_feature_owning_feature_membership", "R", ""}); + FUNCS.put("Feature::owningType", new String[] {"sysmlv2_feature_owning_type", "R", ""}); + FUNCS.put("Feature::type", new String[] {"sysmlv2_feature_type", "H", ""}); + FUNCS.put("Feature::allRedefinedFeatures()", new String[] {"sysmlv2_feature_all_redefined_features", "H", ""}); + FUNCS.put("Feature::asCartesianProduct()", new String[] {"sysmlv2_feature_as_cartesian_product", "H", ""}); + FUNCS.put("Feature::canAccess()", new String[] {"sysmlv2_feature_can_access", "B", "Handle"}); + FUNCS.put("Feature::directionFor()", new String[] {"sysmlv2_feature_direction_for", "S", "Handle"}); + FUNCS.put("Feature::isCartesianProduct()", new String[] {"sysmlv2_feature_is_cartesian_product", "B", ""}); + FUNCS.put("Feature::isFeaturedWithin()", new String[] {"sysmlv2_feature_is_featured_within", "B", "Handle"}); + FUNCS.put("Feature::isFeaturingType()", new String[] {"sysmlv2_feature_is_featuring_type", "B", "Handle"}); + FUNCS.put("Feature::isOwnedCrossFeature()", new String[] {"sysmlv2_feature_is_owned_cross_feature", "B", ""}); + FUNCS.put("Feature::namingFeature()", new String[] {"sysmlv2_feature_naming_feature", "R", ""}); + FUNCS.put("Feature::ownedCrossFeature()", new String[] {"sysmlv2_feature_owned_cross_feature", "R", ""}); + FUNCS.put("Feature::redefines()", new String[] {"sysmlv2_feature_redefines", "B", "Handle"}); + FUNCS.put("Feature::redefinesFromLibrary()", new String[] {"sysmlv2_feature_redefines_from_library", "B", "Str"}); + FUNCS.put("Feature::subsetsChain()", new String[] {"sysmlv2_feature_subsets_chain", "B", "Handle;Handle"}); + FUNCS.put("Feature::typingFeatures()", new String[] {"sysmlv2_feature_typing_features", "H", ""}); + FUNCS.put("FeatureChainExpression::targetFeature", new String[] {"sysmlv2_feature_chain_expression_target_feature", "R", ""}); + FUNCS.put("FeatureChainExpression::sourceTargetFeature()", new String[] {"sysmlv2_feature_chain_expression_source_target_feature", "R", ""}); + FUNCS.put("FeatureChaining::chainingFeature", new String[] {"sysmlv2_feature_chaining_chaining_feature", "R", ""}); + FUNCS.put("FeatureChaining::featureChained", new String[] {"sysmlv2_feature_chaining_feature_chained", "R", ""}); + FUNCS.put("FeatureInverting::featureInverted", new String[] {"sysmlv2_feature_inverting_feature_inverted", "R", ""}); + FUNCS.put("FeatureInverting::invertingFeature", new String[] {"sysmlv2_feature_inverting_inverting_feature", "R", ""}); + FUNCS.put("FeatureInverting::owningFeature", new String[] {"sysmlv2_feature_inverting_owning_feature", "R", ""}); + FUNCS.put("FeatureMembership::ownedMemberFeature", new String[] {"sysmlv2_feature_membership_owned_member_feature", "R", ""}); + FUNCS.put("FeatureMembership::owningType", new String[] {"sysmlv2_feature_membership_owning_type", "R", ""}); + FUNCS.put("FeatureReferenceExpression::referent", new String[] {"sysmlv2_feature_reference_expression_referent", "R", ""}); + FUNCS.put("FeatureTyping::owningFeature", new String[] {"sysmlv2_feature_typing_owning_feature", "R", ""}); + FUNCS.put("FeatureTyping::type", new String[] {"sysmlv2_feature_typing_type", "R", ""}); + FUNCS.put("FeatureTyping::typedFeature", new String[] {"sysmlv2_feature_typing_typed_feature", "R", ""}); + FUNCS.put("FeatureValue::featureWithValue", new String[] {"sysmlv2_feature_value_feature_with_value", "R", ""}); + FUNCS.put("FeatureValue::isDefault", new String[] {"sysmlv2_feature_value_is_default", "B", ""}); + FUNCS.put("FeatureValue::isInitial", new String[] {"sysmlv2_feature_value_is_initial", "B", ""}); + FUNCS.put("FeatureValue::value", new String[] {"sysmlv2_feature_value_value", "R", ""}); + FUNCS.put("Flow::flowEnd", new String[] {"sysmlv2_flow_flow_end", "H", ""}); + FUNCS.put("Flow::interaction", new String[] {"sysmlv2_flow_interaction", "H", ""}); + FUNCS.put("Flow::payloadFeature", new String[] {"sysmlv2_flow_payload_feature", "R", ""}); + FUNCS.put("Flow::payloadType", new String[] {"sysmlv2_flow_payload_type", "H", ""}); + FUNCS.put("Flow::sourceOutputFeature", new String[] {"sysmlv2_flow_source_output_feature", "R", ""}); + FUNCS.put("Flow::targetInputFeature", new String[] {"sysmlv2_flow_target_input_feature", "R", ""}); + FUNCS.put("FlowDefinition::flowEnd", new String[] {"sysmlv2_flow_definition_flow_end", "H", ""}); + FUNCS.put("FlowUsage::flowDefinition", new String[] {"sysmlv2_flow_usage_flow_definition", "H", ""}); + FUNCS.put("ForLoopActionUsage::loopVariable", new String[] {"sysmlv2_for_loop_action_usage_loop_variable", "R", ""}); + FUNCS.put("ForLoopActionUsage::seqArgument", new String[] {"sysmlv2_for_loop_action_usage_seq_argument", "R", ""}); + FUNCS.put("FramedConcernMembership::ownedConcern", new String[] {"sysmlv2_framed_concern_membership_owned_concern", "R", ""}); + FUNCS.put("FramedConcernMembership::referencedConcern", new String[] {"sysmlv2_framed_concern_membership_referenced_concern", "R", ""}); + FUNCS.put("Function::expression", new String[] {"sysmlv2_function_expression", "H", ""}); + FUNCS.put("Function::isModelLevelEvaluable", new String[] {"sysmlv2_function_is_model_level_evaluable", "B", ""}); + FUNCS.put("Function::result", new String[] {"sysmlv2_function_result", "R", ""}); + FUNCS.put("IfActionUsage::elseAction", new String[] {"sysmlv2_if_action_usage_else_action", "R", ""}); + FUNCS.put("IfActionUsage::ifArgument", new String[] {"sysmlv2_if_action_usage_if_argument", "R", ""}); + FUNCS.put("IfActionUsage::thenAction", new String[] {"sysmlv2_if_action_usage_then_action", "R", ""}); + FUNCS.put("Import::importOwningNamespace", new String[] {"sysmlv2_import_import_owning_namespace", "R", ""}); + FUNCS.put("Import::importedElement", new String[] {"sysmlv2_import_imported_element", "R", ""}); + FUNCS.put("Import::isImportAll", new String[] {"sysmlv2_import_is_import_all", "B", ""}); + FUNCS.put("Import::isRecursive", new String[] {"sysmlv2_import_is_recursive", "B", ""}); + FUNCS.put("Import::visibility", new String[] {"sysmlv2_import_visibility", "S", ""}); + FUNCS.put("Import::importedMemberships()", new String[] {"sysmlv2_import_imported_memberships", "H", "Handles"}); + FUNCS.put("IncludeUseCaseUsage::useCaseIncluded", new String[] {"sysmlv2_include_use_case_usage_use_case_included", "R", ""}); + FUNCS.put("InstantiationExpression::argument", new String[] {"sysmlv2_instantiation_expression_argument", "H", ""}); + FUNCS.put("InstantiationExpression::instantiatedType", new String[] {"sysmlv2_instantiation_expression_instantiated_type", "R", ""}); + FUNCS.put("InstantiationExpression::instantiatedType()", new String[] {"sysmlv2_instantiation_expression_instantiated_type_op", "R", ""}); + FUNCS.put("InterfaceDefinition::interfaceEnd", new String[] {"sysmlv2_interface_definition_interface_end", "H", ""}); + FUNCS.put("InterfaceUsage::interfaceDefinition", new String[] {"sysmlv2_interface_usage_interface_definition", "H", ""}); + FUNCS.put("Intersecting::intersectingType", new String[] {"sysmlv2_intersecting_intersecting_type", "R", ""}); + FUNCS.put("Intersecting::typeIntersected", new String[] {"sysmlv2_intersecting_type_intersected", "R", ""}); + FUNCS.put("Invariant::isNegated", new String[] {"sysmlv2_invariant_is_negated", "B", ""}); + FUNCS.put("ItemUsage::itemDefinition", new String[] {"sysmlv2_item_usage_item_definition", "H", ""}); + FUNCS.put("LibraryPackage::isStandard", new String[] {"sysmlv2_library_package_is_standard", "B", ""}); + FUNCS.put("LiteralBoolean::value", new String[] {"sysmlv2_literal_boolean_value", "B", ""}); + FUNCS.put("LiteralInteger::value", new String[] {"sysmlv2_literal_integer_value", "I", ""}); + FUNCS.put("LiteralRational::value", new String[] {"sysmlv2_literal_rational_value", "F", ""}); + FUNCS.put("LiteralString::value", new String[] {"sysmlv2_literal_string_value", "S", ""}); + FUNCS.put("LoopActionUsage::bodyAction", new String[] {"sysmlv2_loop_action_usage_body_action", "R", ""}); + FUNCS.put("Membership::memberElement", new String[] {"sysmlv2_membership_member_element", "R", ""}); + FUNCS.put("Membership::memberElementId", new String[] {"sysmlv2_membership_member_element_id", "S", ""}); + FUNCS.put("Membership::memberName", new String[] {"sysmlv2_membership_member_name", "S", ""}); + FUNCS.put("Membership::memberShortName", new String[] {"sysmlv2_membership_member_short_name", "S", ""}); + FUNCS.put("Membership::membershipOwningNamespace", new String[] {"sysmlv2_membership_membership_owning_namespace", "R", ""}); + FUNCS.put("Membership::visibility", new String[] {"sysmlv2_membership_visibility", "S", ""}); + FUNCS.put("Membership::isDistinguishableFrom()", new String[] {"sysmlv2_membership_is_distinguishable_from", "B", "Handle"}); + FUNCS.put("MembershipImport::importedMembership", new String[] {"sysmlv2_membership_import_imported_membership", "R", ""}); + FUNCS.put("MetadataAccessExpression::referencedElement", new String[] {"sysmlv2_metadata_access_expression_referenced_element", "R", ""}); + FUNCS.put("MetadataAccessExpression::metaclassFeature()", new String[] {"sysmlv2_metadata_access_expression_metaclass_feature", "R", ""}); + FUNCS.put("MetadataFeature::metaclass", new String[] {"sysmlv2_metadata_feature_metaclass", "R", ""}); + FUNCS.put("MetadataFeature::evaluateFeature()", new String[] {"sysmlv2_metadata_feature_evaluate_feature", "H", "Handle"}); + FUNCS.put("MetadataFeature::isSemantic()", new String[] {"sysmlv2_metadata_feature_is_semantic", "B", ""}); + FUNCS.put("MetadataFeature::isSyntactic()", new String[] {"sysmlv2_metadata_feature_is_syntactic", "B", ""}); + FUNCS.put("MetadataFeature::syntaxElement()", new String[] {"sysmlv2_metadata_feature_syntax_element", "R", ""}); + FUNCS.put("MetadataUsage::metadataDefinition", new String[] {"sysmlv2_metadata_usage_metadata_definition", "R", ""}); + FUNCS.put("MultiplicityRange::bound", new String[] {"sysmlv2_multiplicity_range_bound", "H", ""}); + FUNCS.put("MultiplicityRange::lowerBound", new String[] {"sysmlv2_multiplicity_range_lower_bound", "R", ""}); + FUNCS.put("MultiplicityRange::upperBound", new String[] {"sysmlv2_multiplicity_range_upper_bound", "R", ""}); + FUNCS.put("MultiplicityRange::hasBounds()", new String[] {"sysmlv2_multiplicity_range_has_bounds", "B", "Str;Str"}); + FUNCS.put("MultiplicityRange::valueOf()", new String[] {"sysmlv2_multiplicity_range_value_of", "I", "Handle"}); + FUNCS.put("Namespace::importedMembership", new String[] {"sysmlv2_namespace_imported_membership", "H", ""}); + FUNCS.put("Namespace::member", new String[] {"sysmlv2_namespace_member", "H", ""}); + FUNCS.put("Namespace::membership", new String[] {"sysmlv2_namespace_membership", "H", ""}); + FUNCS.put("Namespace::ownedImport", new String[] {"sysmlv2_namespace_owned_import", "H", ""}); + FUNCS.put("Namespace::ownedMember", new String[] {"sysmlv2_namespace_owned_member", "H", ""}); + FUNCS.put("Namespace::ownedMembership", new String[] {"sysmlv2_namespace_owned_membership", "H", ""}); + FUNCS.put("Namespace::importedMemberships()", new String[] {"sysmlv2_namespace_imported_memberships", "H", "Handles"}); + FUNCS.put("Namespace::membershipsOfVisibility()", new String[] {"sysmlv2_namespace_memberships_of_visibility", "H", "Str;Handles"}); + FUNCS.put("Namespace::namesOf()", new String[] {"sysmlv2_namespace_names_of", "T", "Handle"}); + FUNCS.put("Namespace::qualificationOf()", new String[] {"sysmlv2_namespace_qualification_of", "S", "Str"}); + FUNCS.put("Namespace::resolve()", new String[] {"sysmlv2_namespace_resolve", "R", "Str"}); + FUNCS.put("Namespace::resolveGlobal()", new String[] {"sysmlv2_namespace_resolve_global", "R", "Str"}); + FUNCS.put("Namespace::resolveLocal()", new String[] {"sysmlv2_namespace_resolve_local", "R", "Str"}); + FUNCS.put("Namespace::resolveVisible()", new String[] {"sysmlv2_namespace_resolve_visible", "R", "Str"}); + FUNCS.put("Namespace::unqualifiedNameOf()", new String[] {"sysmlv2_namespace_unqualified_name_of", "S", "Str"}); + FUNCS.put("Namespace::visibilityOf()", new String[] {"sysmlv2_namespace_visibility_of", "S", "Handle"}); + FUNCS.put("Namespace::visibleMemberships()", new String[] {"sysmlv2_namespace_visible_memberships", "H", "Handles;bool;bool"}); + FUNCS.put("NamespaceImport::importedNamespace", new String[] {"sysmlv2_namespace_import_imported_namespace", "R", ""}); + FUNCS.put("ObjectiveMembership::ownedObjectiveRequirement", new String[] {"sysmlv2_objective_membership_owned_objective_requirement", "R", ""}); + FUNCS.put("OccurrenceDefinition::isIndividual", new String[] {"sysmlv2_occurrence_definition_is_individual", "B", ""}); + FUNCS.put("OccurrenceUsage::individualDefinition", new String[] {"sysmlv2_occurrence_usage_individual_definition", "R", ""}); + FUNCS.put("OccurrenceUsage::isIndividual", new String[] {"sysmlv2_occurrence_usage_is_individual", "B", ""}); + FUNCS.put("OccurrenceUsage::occurrenceDefinition", new String[] {"sysmlv2_occurrence_usage_occurrence_definition", "H", ""}); + FUNCS.put("OccurrenceUsage::portionKind", new String[] {"sysmlv2_occurrence_usage_portion_kind", "S", ""}); + FUNCS.put("OperatorExpression::operator", new String[] {"sysmlv2_operator_expression_operator", "S", ""}); + FUNCS.put("OwningMembership::ownedMemberElement", new String[] {"sysmlv2_owning_membership_owned_member_element", "R", ""}); + FUNCS.put("OwningMembership::ownedMemberElementId", new String[] {"sysmlv2_owning_membership_owned_member_element_id", "S", ""}); + FUNCS.put("OwningMembership::ownedMemberName", new String[] {"sysmlv2_owning_membership_owned_member_name", "S", ""}); + FUNCS.put("OwningMembership::ownedMemberShortName", new String[] {"sysmlv2_owning_membership_owned_member_short_name", "S", ""}); + FUNCS.put("Package::filterCondition", new String[] {"sysmlv2_package_filter_condition", "H", ""}); + FUNCS.put("Package::includeAsMember()", new String[] {"sysmlv2_package_include_as_member", "B", "Handle"}); + FUNCS.put("ParameterMembership::ownedMemberParameter", new String[] {"sysmlv2_parameter_membership_owned_member_parameter", "R", ""}); + FUNCS.put("ParameterMembership::parameterDirection()", new String[] {"sysmlv2_parameter_membership_parameter_direction", "S", ""}); + FUNCS.put("PartUsage::partDefinition", new String[] {"sysmlv2_part_usage_part_definition", "H", ""}); + FUNCS.put("PerformActionUsage::performedAction", new String[] {"sysmlv2_perform_action_usage_performed_action", "R", ""}); + FUNCS.put("PortConjugation::conjugatedPortDefinition", new String[] {"sysmlv2_port_conjugation_conjugated_port_definition", "R", ""}); + FUNCS.put("PortConjugation::originalPortDefinition", new String[] {"sysmlv2_port_conjugation_original_port_definition", "R", ""}); + FUNCS.put("PortDefinition::conjugatedPortDefinition", new String[] {"sysmlv2_port_definition_conjugated_port_definition", "R", ""}); + FUNCS.put("PortUsage::portDefinition", new String[] {"sysmlv2_port_usage_port_definition", "H", ""}); + FUNCS.put("Redefinition::redefinedFeature", new String[] {"sysmlv2_redefinition_redefined_feature", "R", ""}); + } + private static void funcs2() { + FUNCS.put("Redefinition::redefiningFeature", new String[] {"sysmlv2_redefinition_redefining_feature", "R", ""}); + FUNCS.put("ReferenceSubsetting::referencedFeature", new String[] {"sysmlv2_reference_subsetting_referenced_feature", "R", ""}); + FUNCS.put("ReferenceSubsetting::referencingFeature", new String[] {"sysmlv2_reference_subsetting_referencing_feature", "R", ""}); + FUNCS.put("Relationship::isImplied", new String[] {"sysmlv2_relationship_is_implied", "B", ""}); + FUNCS.put("Relationship::ownedRelatedElement", new String[] {"sysmlv2_relationship_owned_related_element", "H", ""}); + FUNCS.put("Relationship::owningRelatedElement", new String[] {"sysmlv2_relationship_owning_related_element", "R", ""}); + FUNCS.put("Relationship::relatedElement", new String[] {"sysmlv2_relationship_related_element", "H", ""}); + FUNCS.put("Relationship::source", new String[] {"sysmlv2_relationship_source", "H", ""}); + FUNCS.put("Relationship::target", new String[] {"sysmlv2_relationship_target", "H", ""}); + FUNCS.put("RenderingDefinition::rendering", new String[] {"sysmlv2_rendering_definition_rendering", "H", ""}); + FUNCS.put("RenderingUsage::renderingDefinition", new String[] {"sysmlv2_rendering_usage_rendering_definition", "R", ""}); + FUNCS.put("RequirementConstraintMembership::kind", new String[] {"sysmlv2_requirement_constraint_membership_kind", "S", ""}); + FUNCS.put("RequirementConstraintMembership::ownedConstraint", new String[] {"sysmlv2_requirement_constraint_membership_owned_constraint", "R", ""}); + FUNCS.put("RequirementConstraintMembership::referencedConstraint", new String[] {"sysmlv2_requirement_constraint_membership_referenced_constraint", "R", ""}); + FUNCS.put("RequirementDefinition::actorParameter", new String[] {"sysmlv2_requirement_definition_actor_parameter", "H", ""}); + FUNCS.put("RequirementDefinition::assumedConstraint", new String[] {"sysmlv2_requirement_definition_assumed_constraint", "H", ""}); + FUNCS.put("RequirementDefinition::framedConcern", new String[] {"sysmlv2_requirement_definition_framed_concern", "H", ""}); + FUNCS.put("RequirementDefinition::reqId", new String[] {"sysmlv2_requirement_definition_req_id", "S", ""}); + FUNCS.put("RequirementDefinition::requiredConstraint", new String[] {"sysmlv2_requirement_definition_required_constraint", "H", ""}); + FUNCS.put("RequirementDefinition::stakeholderParameter", new String[] {"sysmlv2_requirement_definition_stakeholder_parameter", "H", ""}); + FUNCS.put("RequirementDefinition::subjectParameter", new String[] {"sysmlv2_requirement_definition_subject_parameter", "R", ""}); + FUNCS.put("RequirementDefinition::text", new String[] {"sysmlv2_requirement_definition_text", "T", ""}); + FUNCS.put("RequirementUsage::actorParameter", new String[] {"sysmlv2_requirement_usage_actor_parameter", "H", ""}); + FUNCS.put("RequirementUsage::assumedConstraint", new String[] {"sysmlv2_requirement_usage_assumed_constraint", "H", ""}); + FUNCS.put("RequirementUsage::framedConcern", new String[] {"sysmlv2_requirement_usage_framed_concern", "H", ""}); + FUNCS.put("RequirementUsage::reqId", new String[] {"sysmlv2_requirement_usage_req_id", "S", ""}); + FUNCS.put("RequirementUsage::requiredConstraint", new String[] {"sysmlv2_requirement_usage_required_constraint", "H", ""}); + FUNCS.put("RequirementUsage::requirementDefinition", new String[] {"sysmlv2_requirement_usage_requirement_definition", "R", ""}); + FUNCS.put("RequirementUsage::stakeholderParameter", new String[] {"sysmlv2_requirement_usage_stakeholder_parameter", "H", ""}); + FUNCS.put("RequirementUsage::subjectParameter", new String[] {"sysmlv2_requirement_usage_subject_parameter", "R", ""}); + FUNCS.put("RequirementUsage::text", new String[] {"sysmlv2_requirement_usage_text", "T", ""}); + FUNCS.put("RequirementVerificationMembership::ownedRequirement", new String[] {"sysmlv2_requirement_verification_membership_owned_requirement", "R", ""}); + FUNCS.put("RequirementVerificationMembership::verifiedRequirement", new String[] {"sysmlv2_requirement_verification_membership_verified_requirement", "R", ""}); + FUNCS.put("ResultExpressionMembership::ownedResultExpression", new String[] {"sysmlv2_result_expression_membership_owned_result_expression", "R", ""}); + FUNCS.put("SatisfyRequirementUsage::satisfiedRequirement", new String[] {"sysmlv2_satisfy_requirement_usage_satisfied_requirement", "R", ""}); + FUNCS.put("SatisfyRequirementUsage::satisfyingFeature", new String[] {"sysmlv2_satisfy_requirement_usage_satisfying_feature", "R", ""}); + FUNCS.put("SendActionUsage::payloadArgument", new String[] {"sysmlv2_send_action_usage_payload_argument", "R", ""}); + FUNCS.put("SendActionUsage::receiverArgument", new String[] {"sysmlv2_send_action_usage_receiver_argument", "R", ""}); + FUNCS.put("SendActionUsage::senderArgument", new String[] {"sysmlv2_send_action_usage_sender_argument", "R", ""}); + FUNCS.put("Specialization::general", new String[] {"sysmlv2_specialization_general", "R", ""}); + FUNCS.put("Specialization::owningType", new String[] {"sysmlv2_specialization_owning_type", "R", ""}); + FUNCS.put("Specialization::specific", new String[] {"sysmlv2_specialization_specific", "R", ""}); + FUNCS.put("StakeholderMembership::ownedStakeholderParameter", new String[] {"sysmlv2_stakeholder_membership_owned_stakeholder_parameter", "R", ""}); + FUNCS.put("StateDefinition::doAction", new String[] {"sysmlv2_state_definition_do_action", "R", ""}); + FUNCS.put("StateDefinition::entryAction", new String[] {"sysmlv2_state_definition_entry_action", "R", ""}); + FUNCS.put("StateDefinition::exitAction", new String[] {"sysmlv2_state_definition_exit_action", "R", ""}); + FUNCS.put("StateDefinition::isParallel", new String[] {"sysmlv2_state_definition_is_parallel", "B", ""}); + FUNCS.put("StateDefinition::state", new String[] {"sysmlv2_state_definition_state", "H", ""}); + FUNCS.put("StateSubactionMembership::action", new String[] {"sysmlv2_state_subaction_membership_action", "R", ""}); + FUNCS.put("StateSubactionMembership::kind", new String[] {"sysmlv2_state_subaction_membership_kind", "S", ""}); + FUNCS.put("StateUsage::doAction", new String[] {"sysmlv2_state_usage_do_action", "R", ""}); + FUNCS.put("StateUsage::entryAction", new String[] {"sysmlv2_state_usage_entry_action", "R", ""}); + FUNCS.put("StateUsage::exitAction", new String[] {"sysmlv2_state_usage_exit_action", "R", ""}); + FUNCS.put("StateUsage::isParallel", new String[] {"sysmlv2_state_usage_is_parallel", "B", ""}); + FUNCS.put("StateUsage::stateDefinition", new String[] {"sysmlv2_state_usage_state_definition", "H", ""}); + FUNCS.put("StateUsage::isSubstateUsage()", new String[] {"sysmlv2_state_usage_is_substate_usage", "B", "bool"}); + FUNCS.put("Step::behavior", new String[] {"sysmlv2_step_behavior", "H", ""}); + FUNCS.put("Step::parameter", new String[] {"sysmlv2_step_parameter", "H", ""}); + FUNCS.put("Subclassification::owningClassifier", new String[] {"sysmlv2_subclassification_owning_classifier", "R", ""}); + FUNCS.put("Subclassification::subclassifier", new String[] {"sysmlv2_subclassification_subclassifier", "R", ""}); + FUNCS.put("Subclassification::superclassifier", new String[] {"sysmlv2_subclassification_superclassifier", "R", ""}); + FUNCS.put("SubjectMembership::ownedSubjectParameter", new String[] {"sysmlv2_subject_membership_owned_subject_parameter", "R", ""}); + FUNCS.put("Subsetting::owningFeature", new String[] {"sysmlv2_subsetting_owning_feature", "R", ""}); + FUNCS.put("Subsetting::subsettedFeature", new String[] {"sysmlv2_subsetting_subsetted_feature", "R", ""}); + FUNCS.put("Subsetting::subsettingFeature", new String[] {"sysmlv2_subsetting_subsetting_feature", "R", ""}); + FUNCS.put("TerminateActionUsage::terminatedOccurrenceArgument", new String[] {"sysmlv2_terminate_action_usage_terminated_occurrence_argument", "R", ""}); + FUNCS.put("TextualRepresentation::body", new String[] {"sysmlv2_textual_representation_body", "S", ""}); + FUNCS.put("TextualRepresentation::language", new String[] {"sysmlv2_textual_representation_language", "S", ""}); + FUNCS.put("TextualRepresentation::representedElement", new String[] {"sysmlv2_textual_representation_represented_element", "R", ""}); + FUNCS.put("TransitionFeatureMembership::kind", new String[] {"sysmlv2_transition_feature_membership_kind", "S", ""}); + FUNCS.put("TransitionFeatureMembership::transitionFeature", new String[] {"sysmlv2_transition_feature_membership_transition_feature", "R", ""}); + FUNCS.put("TransitionUsage::effectAction", new String[] {"sysmlv2_transition_usage_effect_action", "H", ""}); + FUNCS.put("TransitionUsage::guardExpression", new String[] {"sysmlv2_transition_usage_guard_expression", "H", ""}); + FUNCS.put("TransitionUsage::source", new String[] {"sysmlv2_transition_usage_source", "R", ""}); + FUNCS.put("TransitionUsage::succession", new String[] {"sysmlv2_transition_usage_succession", "R", ""}); + FUNCS.put("TransitionUsage::target", new String[] {"sysmlv2_transition_usage_target", "R", ""}); + FUNCS.put("TransitionUsage::triggerAction", new String[] {"sysmlv2_transition_usage_trigger_action", "H", ""}); + FUNCS.put("TransitionUsage::sourceFeature()", new String[] {"sysmlv2_transition_usage_source_feature", "R", ""}); + FUNCS.put("TransitionUsage::triggerPayloadParameter()", new String[] {"sysmlv2_transition_usage_trigger_payload_parameter", "R", ""}); + FUNCS.put("TriggerInvocationExpression::kind", new String[] {"sysmlv2_trigger_invocation_expression_kind", "S", ""}); + FUNCS.put("Type::differencingType", new String[] {"sysmlv2_type_differencing_type", "H", ""}); + FUNCS.put("Type::directedFeature", new String[] {"sysmlv2_type_directed_feature", "H", ""}); + FUNCS.put("Type::endFeature", new String[] {"sysmlv2_type_end_feature", "H", ""}); + FUNCS.put("Type::feature", new String[] {"sysmlv2_type_feature", "H", ""}); + FUNCS.put("Type::featureMembership", new String[] {"sysmlv2_type_feature_membership", "H", ""}); + FUNCS.put("Type::inheritedFeature", new String[] {"sysmlv2_type_inherited_feature", "H", ""}); + FUNCS.put("Type::inheritedMembership", new String[] {"sysmlv2_type_inherited_membership", "H", ""}); + FUNCS.put("Type::input", new String[] {"sysmlv2_type_input", "H", ""}); + FUNCS.put("Type::intersectingType", new String[] {"sysmlv2_type_intersecting_type", "H", ""}); + FUNCS.put("Type::isAbstract", new String[] {"sysmlv2_type_is_abstract", "B", ""}); + FUNCS.put("Type::isConjugated", new String[] {"sysmlv2_type_is_conjugated", "B", ""}); + FUNCS.put("Type::isSufficient", new String[] {"sysmlv2_type_is_sufficient", "B", ""}); + FUNCS.put("Type::multiplicity", new String[] {"sysmlv2_type_multiplicity", "R", ""}); + FUNCS.put("Type::output", new String[] {"sysmlv2_type_output", "H", ""}); + FUNCS.put("Type::ownedConjugator", new String[] {"sysmlv2_type_owned_conjugator", "R", ""}); + FUNCS.put("Type::ownedDifferencing", new String[] {"sysmlv2_type_owned_differencing", "H", ""}); + FUNCS.put("Type::ownedDisjoining", new String[] {"sysmlv2_type_owned_disjoining", "H", ""}); + FUNCS.put("Type::ownedEndFeature", new String[] {"sysmlv2_type_owned_end_feature", "H", ""}); + FUNCS.put("Type::ownedFeature", new String[] {"sysmlv2_type_owned_feature", "H", ""}); + FUNCS.put("Type::ownedFeatureMembership", new String[] {"sysmlv2_type_owned_feature_membership", "H", ""}); + FUNCS.put("Type::ownedIntersecting", new String[] {"sysmlv2_type_owned_intersecting", "H", ""}); + FUNCS.put("Type::ownedSpecialization", new String[] {"sysmlv2_type_owned_specialization", "H", ""}); + FUNCS.put("Type::ownedUnioning", new String[] {"sysmlv2_type_owned_unioning", "H", ""}); + FUNCS.put("Type::unioningType", new String[] {"sysmlv2_type_unioning_type", "H", ""}); + FUNCS.put("Type::allRedefinedFeaturesOf()", new String[] {"sysmlv2_type_all_redefined_features_of", "H", "Handle"}); + FUNCS.put("Type::allSupertypes()", new String[] {"sysmlv2_type_all_supertypes", "H", ""}); + FUNCS.put("Type::directionOf()", new String[] {"sysmlv2_type_direction_of", "S", "Handle"}); + FUNCS.put("Type::directionOfExcluding()", new String[] {"sysmlv2_type_direction_of_excluding", "S", "Handle;Handles"}); + FUNCS.put("Type::inheritableMemberships()", new String[] {"sysmlv2_type_inheritable_memberships", "H", "Handles;Handles;bool"}); + FUNCS.put("Type::inheritedMemberships()", new String[] {"sysmlv2_type_inherited_memberships", "H", "Handles;Handles;bool"}); + FUNCS.put("Type::isCompatibleWith()", new String[] {"sysmlv2_type_is_compatible_with", "B", "Handle"}); + FUNCS.put("Type::multiplicities()", new String[] {"sysmlv2_type_multiplicities", "H", ""}); + FUNCS.put("Type::nonPrivateMemberships()", new String[] {"sysmlv2_type_non_private_memberships", "H", "Handles;Handles;bool"}); + FUNCS.put("Type::removeRedefinedFeatures()", new String[] {"sysmlv2_type_remove_redefined_features", "H", "Handles"}); + FUNCS.put("Type::specializes()", new String[] {"sysmlv2_type_specializes", "B", "Handle"}); + FUNCS.put("Type::specializesFromLibrary()", new String[] {"sysmlv2_type_specializes_from_library", "B", "Str"}); + FUNCS.put("Type::supertypes()", new String[] {"sysmlv2_type_supertypes", "H", "bool"}); + FUNCS.put("TypeFeaturing::featureOfType", new String[] {"sysmlv2_type_featuring_feature_of_type", "R", ""}); + FUNCS.put("TypeFeaturing::featuringType", new String[] {"sysmlv2_type_featuring_featuring_type", "R", ""}); + FUNCS.put("TypeFeaturing::owningFeatureOfType", new String[] {"sysmlv2_type_featuring_owning_feature_of_type", "R", ""}); + FUNCS.put("Unioning::typeUnioned", new String[] {"sysmlv2_unioning_type_unioned", "R", ""}); + FUNCS.put("Unioning::unioningType", new String[] {"sysmlv2_unioning_unioning_type", "R", ""}); + FUNCS.put("Usage::definition", new String[] {"sysmlv2_usage_definition", "H", ""}); + FUNCS.put("Usage::directedUsage", new String[] {"sysmlv2_usage_directed_usage", "H", ""}); + FUNCS.put("Usage::isReference", new String[] {"sysmlv2_usage_is_reference", "B", ""}); + FUNCS.put("Usage::isVariation", new String[] {"sysmlv2_usage_is_variation", "B", ""}); + FUNCS.put("Usage::mayTimeVary", new String[] {"sysmlv2_usage_may_time_vary", "B", ""}); + FUNCS.put("Usage::nestedAction", new String[] {"sysmlv2_usage_nested_action", "H", ""}); + FUNCS.put("Usage::nestedAllocation", new String[] {"sysmlv2_usage_nested_allocation", "H", ""}); + FUNCS.put("Usage::nestedAnalysisCase", new String[] {"sysmlv2_usage_nested_analysis_case", "H", ""}); + FUNCS.put("Usage::nestedAttribute", new String[] {"sysmlv2_usage_nested_attribute", "H", ""}); + FUNCS.put("Usage::nestedCalculation", new String[] {"sysmlv2_usage_nested_calculation", "H", ""}); + FUNCS.put("Usage::nestedCase", new String[] {"sysmlv2_usage_nested_case", "H", ""}); + FUNCS.put("Usage::nestedConcern", new String[] {"sysmlv2_usage_nested_concern", "H", ""}); + FUNCS.put("Usage::nestedConnection", new String[] {"sysmlv2_usage_nested_connection", "H", ""}); + FUNCS.put("Usage::nestedConstraint", new String[] {"sysmlv2_usage_nested_constraint", "H", ""}); + FUNCS.put("Usage::nestedEnumeration", new String[] {"sysmlv2_usage_nested_enumeration", "H", ""}); + FUNCS.put("Usage::nestedFlow", new String[] {"sysmlv2_usage_nested_flow", "H", ""}); + FUNCS.put("Usage::nestedInterface", new String[] {"sysmlv2_usage_nested_interface", "H", ""}); + FUNCS.put("Usage::nestedItem", new String[] {"sysmlv2_usage_nested_item", "H", ""}); + FUNCS.put("Usage::nestedMetadata", new String[] {"sysmlv2_usage_nested_metadata", "H", ""}); + FUNCS.put("Usage::nestedOccurrence", new String[] {"sysmlv2_usage_nested_occurrence", "H", ""}); + FUNCS.put("Usage::nestedPart", new String[] {"sysmlv2_usage_nested_part", "H", ""}); + FUNCS.put("Usage::nestedPort", new String[] {"sysmlv2_usage_nested_port", "H", ""}); + FUNCS.put("Usage::nestedReference", new String[] {"sysmlv2_usage_nested_reference", "H", ""}); + FUNCS.put("Usage::nestedRendering", new String[] {"sysmlv2_usage_nested_rendering", "H", ""}); + FUNCS.put("Usage::nestedRequirement", new String[] {"sysmlv2_usage_nested_requirement", "H", ""}); + FUNCS.put("Usage::nestedState", new String[] {"sysmlv2_usage_nested_state", "H", ""}); + FUNCS.put("Usage::nestedTransition", new String[] {"sysmlv2_usage_nested_transition", "H", ""}); + FUNCS.put("Usage::nestedUsage", new String[] {"sysmlv2_usage_nested_usage", "H", ""}); + } + private static void funcs3() { + FUNCS.put("Usage::nestedUseCase", new String[] {"sysmlv2_usage_nested_use_case", "H", ""}); + FUNCS.put("Usage::nestedVerificationCase", new String[] {"sysmlv2_usage_nested_verification_case", "H", ""}); + FUNCS.put("Usage::nestedView", new String[] {"sysmlv2_usage_nested_view", "H", ""}); + FUNCS.put("Usage::nestedViewpoint", new String[] {"sysmlv2_usage_nested_viewpoint", "H", ""}); + FUNCS.put("Usage::owningDefinition", new String[] {"sysmlv2_usage_owning_definition", "R", ""}); + FUNCS.put("Usage::owningUsage", new String[] {"sysmlv2_usage_owning_usage", "R", ""}); + FUNCS.put("Usage::usage", new String[] {"sysmlv2_usage_usage", "H", ""}); + FUNCS.put("Usage::variant", new String[] {"sysmlv2_usage_variant", "H", ""}); + FUNCS.put("Usage::variantMembership", new String[] {"sysmlv2_usage_variant_membership", "H", ""}); + FUNCS.put("Usage::referencedFeatureTarget()", new String[] {"sysmlv2_usage_referenced_feature_target", "R", ""}); + FUNCS.put("UseCaseDefinition::includedUseCase", new String[] {"sysmlv2_use_case_definition_included_use_case", "H", ""}); + FUNCS.put("UseCaseUsage::includedUseCase", new String[] {"sysmlv2_use_case_usage_included_use_case", "H", ""}); + FUNCS.put("UseCaseUsage::useCaseDefinition", new String[] {"sysmlv2_use_case_usage_use_case_definition", "R", ""}); + FUNCS.put("VariantMembership::ownedVariantUsage", new String[] {"sysmlv2_variant_membership_owned_variant_usage", "R", ""}); + FUNCS.put("VerificationCaseDefinition::verifiedRequirement", new String[] {"sysmlv2_verification_case_definition_verified_requirement", "H", ""}); + FUNCS.put("VerificationCaseUsage::verificationCaseDefinition", new String[] {"sysmlv2_verification_case_usage_verification_case_definition", "R", ""}); + FUNCS.put("VerificationCaseUsage::verifiedRequirement", new String[] {"sysmlv2_verification_case_usage_verified_requirement", "H", ""}); + FUNCS.put("ViewDefinition::satisfiedViewpoint", new String[] {"sysmlv2_view_definition_satisfied_viewpoint", "H", ""}); + FUNCS.put("ViewDefinition::view", new String[] {"sysmlv2_view_definition_view", "H", ""}); + FUNCS.put("ViewDefinition::viewCondition", new String[] {"sysmlv2_view_definition_view_condition", "H", ""}); + FUNCS.put("ViewDefinition::viewRendering", new String[] {"sysmlv2_view_definition_view_rendering", "R", ""}); + FUNCS.put("ViewRenderingMembership::ownedRendering", new String[] {"sysmlv2_view_rendering_membership_owned_rendering", "R", ""}); + FUNCS.put("ViewRenderingMembership::referencedRendering", new String[] {"sysmlv2_view_rendering_membership_referenced_rendering", "R", ""}); + FUNCS.put("ViewUsage::exposedElement", new String[] {"sysmlv2_view_usage_exposed_element", "H", ""}); + FUNCS.put("ViewUsage::satisfiedViewpoint", new String[] {"sysmlv2_view_usage_satisfied_viewpoint", "H", ""}); + FUNCS.put("ViewUsage::viewCondition", new String[] {"sysmlv2_view_usage_view_condition", "H", ""}); + FUNCS.put("ViewUsage::viewDefinition", new String[] {"sysmlv2_view_usage_view_definition", "R", ""}); + FUNCS.put("ViewUsage::viewRendering", new String[] {"sysmlv2_view_usage_view_rendering", "R", ""}); + FUNCS.put("ViewUsage::includeAsExposed()", new String[] {"sysmlv2_view_usage_include_as_exposed", "B", "Handle"}); + FUNCS.put("ViewpointDefinition::viewpointStakeholder", new String[] {"sysmlv2_viewpoint_definition_viewpoint_stakeholder", "H", ""}); + FUNCS.put("ViewpointUsage::viewpointDefinition", new String[] {"sysmlv2_viewpoint_usage_viewpoint_definition", "R", ""}); + FUNCS.put("ViewpointUsage::viewpointStakeholder", new String[] {"sysmlv2_viewpoint_usage_viewpoint_stakeholder", "H", ""}); + FUNCS.put("WhileLoopActionUsage::untilArgument", new String[] {"sysmlv2_while_loop_action_usage_until_argument", "R", ""}); + FUNCS.put("WhileLoopActionUsage::whileArgument", new String[] {"sysmlv2_while_loop_action_usage_while_argument", "R", ""}); + } + private static void bases() { + BASES.put("AcceptActionUsage", new String[] {"ActionUsage"}); + BASES.put("ActionDefinition", new String[] {"OccurrenceDefinition", "Behavior"}); + BASES.put("ActionUsage", new String[] {"Step", "OccurrenceUsage"}); + BASES.put("ActorMembership", new String[] {"ParameterMembership"}); + BASES.put("AllocationDefinition", new String[] {"ConnectionDefinition"}); + BASES.put("AllocationUsage", new String[] {"ConnectionUsage"}); + BASES.put("AnalysisCaseDefinition", new String[] {"CaseDefinition"}); + BASES.put("AnalysisCaseUsage", new String[] {"CaseUsage"}); + BASES.put("AnnotatingElement", new String[] {"Element"}); + BASES.put("Annotation", new String[] {"Relationship"}); + BASES.put("AssertConstraintUsage", new String[] {"Invariant", "ConstraintUsage"}); + BASES.put("AssignmentActionUsage", new String[] {"ActionUsage"}); + BASES.put("Association", new String[] {"Classifier", "Relationship"}); + BASES.put("AssociationStructure", new String[] {"Structure", "Association"}); + BASES.put("AttributeDefinition", new String[] {"DataType", "Definition"}); + BASES.put("AttributeUsage", new String[] {"Usage"}); + BASES.put("Behavior", new String[] {"Class"}); + BASES.put("BindingConnector", new String[] {"Connector"}); + BASES.put("BindingConnectorAsUsage", new String[] {"BindingConnector", "ConnectorAsUsage"}); + BASES.put("BooleanExpression", new String[] {"Expression"}); + BASES.put("CalculationDefinition", new String[] {"ActionDefinition", "Function"}); + BASES.put("CalculationUsage", new String[] {"Expression", "ActionUsage"}); + BASES.put("CaseDefinition", new String[] {"CalculationDefinition"}); + BASES.put("CaseUsage", new String[] {"CalculationUsage"}); + BASES.put("Class", new String[] {"Classifier"}); + BASES.put("Classifier", new String[] {"Type"}); + BASES.put("CollectExpression", new String[] {"OperatorExpression"}); + BASES.put("Comment", new String[] {"AnnotatingElement"}); + BASES.put("ConcernDefinition", new String[] {"RequirementDefinition"}); + BASES.put("ConcernUsage", new String[] {"RequirementUsage"}); + BASES.put("ConjugatedPortDefinition", new String[] {"PortDefinition"}); + BASES.put("ConjugatedPortTyping", new String[] {"FeatureTyping"}); + BASES.put("Conjugation", new String[] {"Relationship"}); + BASES.put("ConnectionDefinition", new String[] {"AssociationStructure", "PartDefinition"}); + BASES.put("ConnectionUsage", new String[] {"PartUsage", "ConnectorAsUsage"}); + BASES.put("Connector", new String[] {"Feature", "Relationship"}); + BASES.put("ConnectorAsUsage", new String[] {"Usage", "Connector"}); + BASES.put("ConstraintDefinition", new String[] {"OccurrenceDefinition", "Predicate"}); + BASES.put("ConstraintUsage", new String[] {"OccurrenceUsage", "BooleanExpression"}); + BASES.put("ConstructorExpression", new String[] {"InstantiationExpression"}); + BASES.put("ControlNode", new String[] {"ActionUsage"}); + BASES.put("CrossSubsetting", new String[] {"Subsetting"}); + BASES.put("DataType", new String[] {"Classifier"}); + BASES.put("DecisionNode", new String[] {"ControlNode"}); + BASES.put("Definition", new String[] {"Classifier"}); + BASES.put("Dependency", new String[] {"Relationship"}); + BASES.put("Differencing", new String[] {"Relationship"}); + BASES.put("Disjoining", new String[] {"Relationship"}); + BASES.put("Documentation", new String[] {"Comment"}); + BASES.put("Element", new String[] {}); + BASES.put("ElementFilterMembership", new String[] {"OwningMembership"}); + BASES.put("EndFeatureMembership", new String[] {"FeatureMembership"}); + BASES.put("EnumerationDefinition", new String[] {"AttributeDefinition"}); + BASES.put("EnumerationUsage", new String[] {"AttributeUsage"}); + BASES.put("EventOccurrenceUsage", new String[] {"OccurrenceUsage"}); + BASES.put("ExhibitStateUsage", new String[] {"PerformActionUsage", "StateUsage"}); + BASES.put("Expose", new String[] {"Import"}); + BASES.put("Expression", new String[] {"Step"}); + BASES.put("Feature", new String[] {"Type"}); + BASES.put("FeatureChainExpression", new String[] {"OperatorExpression"}); + BASES.put("FeatureChaining", new String[] {"Relationship"}); + BASES.put("FeatureInverting", new String[] {"Relationship"}); + BASES.put("FeatureMembership", new String[] {"OwningMembership"}); + BASES.put("FeatureReferenceExpression", new String[] {"Expression"}); + BASES.put("FeatureTyping", new String[] {"Specialization"}); + BASES.put("FeatureValue", new String[] {"OwningMembership"}); + BASES.put("Flow", new String[] {"Connector", "Step"}); + BASES.put("FlowDefinition", new String[] {"ActionDefinition", "Interaction"}); + BASES.put("FlowEnd", new String[] {"Feature"}); + BASES.put("FlowUsage", new String[] {"ConnectorAsUsage", "Flow", "ActionUsage"}); + BASES.put("ForLoopActionUsage", new String[] {"LoopActionUsage"}); + BASES.put("ForkNode", new String[] {"ControlNode"}); + BASES.put("FramedConcernMembership", new String[] {"RequirementConstraintMembership"}); + BASES.put("Function", new String[] {"Behavior"}); + BASES.put("IfActionUsage", new String[] {"ActionUsage"}); + BASES.put("Import", new String[] {"Relationship"}); + BASES.put("IncludeUseCaseUsage", new String[] {"UseCaseUsage", "PerformActionUsage"}); + BASES.put("IndexExpression", new String[] {"OperatorExpression"}); + BASES.put("InstantiationExpression", new String[] {"Expression"}); + BASES.put("Interaction", new String[] {"Association", "Behavior"}); + BASES.put("InterfaceDefinition", new String[] {"ConnectionDefinition"}); + BASES.put("InterfaceUsage", new String[] {"ConnectionUsage"}); + BASES.put("Intersecting", new String[] {"Relationship"}); + BASES.put("Invariant", new String[] {"BooleanExpression"}); + BASES.put("InvocationExpression", new String[] {"InstantiationExpression"}); + BASES.put("ItemDefinition", new String[] {"Structure", "OccurrenceDefinition"}); + BASES.put("ItemUsage", new String[] {"OccurrenceUsage"}); + BASES.put("JoinNode", new String[] {"ControlNode"}); + BASES.put("LibraryPackage", new String[] {"Package"}); + BASES.put("LiteralBoolean", new String[] {"LiteralExpression"}); + BASES.put("LiteralExpression", new String[] {"Expression"}); + BASES.put("LiteralInfinity", new String[] {"LiteralExpression"}); + BASES.put("LiteralInteger", new String[] {"LiteralExpression"}); + BASES.put("LiteralRational", new String[] {"LiteralExpression"}); + BASES.put("LiteralString", new String[] {"LiteralExpression"}); + BASES.put("LoopActionUsage", new String[] {"ActionUsage"}); + BASES.put("Membership", new String[] {"Relationship"}); + BASES.put("MembershipExpose", new String[] {"MembershipImport", "Expose"}); + BASES.put("MembershipImport", new String[] {"Import"}); + BASES.put("MergeNode", new String[] {"ControlNode"}); + BASES.put("Metaclass", new String[] {"Structure"}); + BASES.put("MetadataAccessExpression", new String[] {"Expression"}); + BASES.put("MetadataDefinition", new String[] {"ItemDefinition", "Metaclass"}); + BASES.put("MetadataFeature", new String[] {"AnnotatingElement", "Feature"}); + BASES.put("MetadataUsage", new String[] {"MetadataFeature", "ItemUsage"}); + BASES.put("Multiplicity", new String[] {"Feature"}); + BASES.put("MultiplicityRange", new String[] {"Multiplicity"}); + BASES.put("Namespace", new String[] {"Element"}); + BASES.put("NamespaceExpose", new String[] {"Expose", "NamespaceImport"}); + BASES.put("NamespaceImport", new String[] {"Import"}); + BASES.put("NullExpression", new String[] {"Expression"}); + BASES.put("ObjectiveMembership", new String[] {"FeatureMembership"}); + BASES.put("OccurrenceDefinition", new String[] {"Definition", "Class"}); + BASES.put("OccurrenceUsage", new String[] {"Usage"}); + BASES.put("OperatorExpression", new String[] {"InvocationExpression"}); + BASES.put("OwningMembership", new String[] {"Membership"}); + BASES.put("Package", new String[] {"Namespace"}); + BASES.put("ParameterMembership", new String[] {"FeatureMembership"}); + BASES.put("PartDefinition", new String[] {"ItemDefinition"}); + BASES.put("PartUsage", new String[] {"ItemUsage"}); + BASES.put("PayloadFeature", new String[] {"Feature"}); + BASES.put("PerformActionUsage", new String[] {"EventOccurrenceUsage", "ActionUsage"}); + BASES.put("PortConjugation", new String[] {"Conjugation"}); + BASES.put("PortDefinition", new String[] {"Structure", "OccurrenceDefinition"}); + BASES.put("PortUsage", new String[] {"OccurrenceUsage"}); + BASES.put("Predicate", new String[] {"Function"}); + BASES.put("Redefinition", new String[] {"Subsetting"}); + BASES.put("ReferenceSubsetting", new String[] {"Subsetting"}); + BASES.put("ReferenceUsage", new String[] {"Usage"}); + BASES.put("Relationship", new String[] {"Element"}); + BASES.put("RenderingDefinition", new String[] {"PartDefinition"}); + BASES.put("RenderingUsage", new String[] {"PartUsage"}); + BASES.put("RequirementConstraintMembership", new String[] {"FeatureMembership"}); + BASES.put("RequirementDefinition", new String[] {"ConstraintDefinition"}); + BASES.put("RequirementUsage", new String[] {"ConstraintUsage"}); + BASES.put("RequirementVerificationMembership", new String[] {"RequirementConstraintMembership"}); + BASES.put("ResultExpressionMembership", new String[] {"FeatureMembership"}); + BASES.put("ReturnParameterMembership", new String[] {"ParameterMembership"}); + BASES.put("SatisfyRequirementUsage", new String[] {"RequirementUsage", "AssertConstraintUsage"}); + BASES.put("SelectExpression", new String[] {"OperatorExpression"}); + BASES.put("SendActionUsage", new String[] {"ActionUsage"}); + BASES.put("Specialization", new String[] {"Relationship"}); + BASES.put("StakeholderMembership", new String[] {"ParameterMembership"}); + BASES.put("StateDefinition", new String[] {"ActionDefinition"}); + BASES.put("StateSubactionMembership", new String[] {"FeatureMembership"}); + BASES.put("StateUsage", new String[] {"ActionUsage"}); + BASES.put("Step", new String[] {"Feature"}); + BASES.put("Structure", new String[] {"Class"}); + BASES.put("Subclassification", new String[] {"Specialization"}); + BASES.put("SubjectMembership", new String[] {"ParameterMembership"}); + BASES.put("Subsetting", new String[] {"Specialization"}); + BASES.put("Succession", new String[] {"Connector"}); + BASES.put("SuccessionAsUsage", new String[] {"ConnectorAsUsage", "Succession"}); + BASES.put("SuccessionFlow", new String[] {"Succession", "Flow"}); + BASES.put("SuccessionFlowUsage", new String[] {"SuccessionFlow", "FlowUsage"}); + BASES.put("TerminateActionUsage", new String[] {"ActionUsage"}); + BASES.put("TextualRepresentation", new String[] {"AnnotatingElement"}); + BASES.put("TransitionFeatureMembership", new String[] {"FeatureMembership"}); + BASES.put("TransitionUsage", new String[] {"ActionUsage"}); + BASES.put("TriggerInvocationExpression", new String[] {"InvocationExpression"}); + BASES.put("Type", new String[] {"Namespace"}); + BASES.put("TypeFeaturing", new String[] {"Relationship"}); + BASES.put("Unioning", new String[] {"Relationship"}); + BASES.put("Usage", new String[] {"Feature"}); + BASES.put("UseCaseDefinition", new String[] {"CaseDefinition"}); + BASES.put("UseCaseUsage", new String[] {"CaseUsage"}); + BASES.put("VariantMembership", new String[] {"OwningMembership"}); + BASES.put("VerificationCaseDefinition", new String[] {"CaseDefinition"}); + BASES.put("VerificationCaseUsage", new String[] {"CaseUsage"}); + BASES.put("ViewDefinition", new String[] {"PartDefinition"}); + BASES.put("ViewRenderingMembership", new String[] {"FeatureMembership"}); + BASES.put("ViewUsage", new String[] {"PartUsage"}); + BASES.put("ViewpointDefinition", new String[] {"RequirementDefinition"}); + BASES.put("ViewpointUsage", new String[] {"RequirementUsage"}); + BASES.put("WhileLoopActionUsage", new String[] {"LoopActionUsage"}); + } + static { + funcs0(); + funcs1(); + funcs2(); + funcs3(); + bases(); + } +} diff --git a/java/src/org/openmbee/sysml/UnresolvedReferenceException.java b/java/src/org/openmbee/sysml/UnresolvedReferenceException.java new file mode 100644 index 0000000..c378ddc --- /dev/null +++ b/java/src/org/openmbee/sysml/UnresolvedReferenceException.java @@ -0,0 +1,11 @@ +package org.openmbee.sysml; + +/** A reference that did not resolve — a SysML Toolkit {@code @ref} + * spelling passthrough (non-standard, best-effort) or a dangling + * {@code @id}. Typed navigation throws: the SDK requires resolved + * models. {@code $raw()} still exposes the raw value. */ +public final class UnresolvedReferenceException extends SdkException { + public UnresolvedReferenceException(String message) { + super(message); + } +} diff --git a/java/src/org/openmbee/sysml/checks/Checks.java b/java/src/org/openmbee/sysml/checks/Checks.java new file mode 100644 index 0000000..d3500ea --- /dev/null +++ b/java/src/org/openmbee/sysml/checks/Checks.java @@ -0,0 +1,217 @@ +// Smoke test + conformance runner for the Java SDK backend. +// Mirrors ../../demo.py; any failure throws and exits non-zero. +package org.openmbee.sysml.checks; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import org.openmbee.sysml.Element; +import org.openmbee.sysml.Model; +import org.openmbee.sysml.NotImplementedInToolkitException; +import org.openmbee.sysml.PayloadLibrary; +import org.openmbee.sysml.UnresolvedReferenceException; +import org.openmbee.sysml.classes.AttributeUsage; +import org.openmbee.sysml.classes.CalculationDefinition; +import org.openmbee.sysml.classes.Classifier; +import org.openmbee.sysml.classes.Definition; +import org.openmbee.sysml.classes.Feature; +import org.openmbee.sysml.classes.MetadataUsage; +import org.openmbee.sysml.classes.Namespace; +import org.openmbee.sysml.classes.PartDefinition; +import org.openmbee.sysml.classes.PartUsage; +import org.openmbee.sysml.classes.Subclassification; +import org.openmbee.sysml.classes.Type; +import org.openmbee.sysml.classes.Usage; + +public final class Checks { + private Checks() { } + + private static void check(boolean cond, String what) { + if (!cond) + throw new AssertionError("FAILED: " + what); + } + + private static Path findRepoRoot() { + Path d = Path.of("").toAbsolutePath(); + while (d != null) { + if (Files.exists(d.resolve("metamodel.json"))) + return d; + d = d.getParent(); + } + throw new IllegalStateException("metamodel.json not found above cwd"); + } + + public static void main(String[] args) throws Exception { + Path root = findRepoRoot(); + Conformance.run(root.resolve("metamodel.json")); + runSmoke(Files.readString(root.resolve("data").resolve("bigger.full.json"))); + System.out.println(); + System.out.println("ALL JAVA-BACKEND SMOKE TESTS PASSED"); + } + + private static void runSmoke(String payload) { + Model m = Model.fromFullJson(payload); + + // --- typed resolution and hierarchy ------------------------------- + Element vehicle = m.resolve("Demo::Vehicle"); + System.out.println("resolve: " + vehicle); + check(vehicle instanceof PartDefinition, "PartDefinition"); + check(vehicle instanceof Definition && vehicle instanceof Classifier + && vehicle instanceof Type && vehicle instanceof Namespace, + "hierarchy chain"); + check(!(vehicle instanceof Feature), "not Feature"); + System.out.println( + "instanceof chain: PartDefinition < Definition < Classifier < Type < Namespace OK"); + + // --- navigation ---------------------------------------------------- + List feats = (List) ((PartDefinition) vehicle).getOwnedFeature(); + StringBuilder fl = new StringBuilder(); + for (Object f : feats) + fl.append(fl.isEmpty() ? "" : ", ") + .append(((Element) f).$metaclass()).append(':') + .append(((Feature) f).getDeclaredName()); + System.out.println("ownedFeature: " + fl); + check(feats.size() == 7, "7 features"); + Feature wheel = null; + for (Object f : feats) + if ("wheel".equals(((Feature) f).getDeclaredName())) + wheel = (Feature) f; + check(wheel != null && wheel.$metaclass().equals("PartUsage"), "wheel"); + check(wheel.getOwner() == vehicle, "owner minted from cache"); + check(Boolean.TRUE.equals(wheel.getIsComposite()), "isComposite"); + check("Demo::Vehicle".equals(((PartDefinition) vehicle).getQualifiedName()), + "qualifiedName"); + + Element baseDef = m.resolve("Demo::Base"); + List sub = (List) ((Classifier) vehicle).getOwnedSubclassification(); + check(sub.size() == 1 + && ((Subclassification) sub.get(0)).getSuperclassifier() == baseDef, + "ownedSubclassification -> Base"); + + Usage vUsage = (Usage) m.resolve("Demo::v"); + List defs = (List) vUsage.getDefinition(); + check(defs.size() == 1 && defs.get(0) == vehicle, "v.definition"); + System.out.println("v.definition -> Vehicle OK"); + + // --- reads pass the backend value through unchanged ----------------- + // (no client-side check: a member the SysML Toolkit does not implement says so itself) + check(((PartDefinition) vehicle).getOwnedPart().isEmpty(), "ownedPart == []"); + check(((Type) vehicle).getInheritedFeature().isEmpty(), "inheritedFeature == []"); + System.out.println( + "unimplemented derivations -> [] (backend value, no second-guessing)"); + + // --- operation stubs are honest ------------------------------------ + try { + ((Type) vehicle).specializes((Type) baseDef); + check(false, "expected NotImplementedInToolkitException"); + } catch (NotImplementedInToolkitException e) { + System.out.println("Type.specializes() -> NotImplementedInToolkit (as designed)"); + } + + // (read-only guard is compile-time in Java: no setters are generated) + + // --- model-wide queries -------------------------------------------- + int parts = m.elementsOfType(PartUsage.class).size(); + int usages = m.elementsOfType(Usage.class).size(); + System.out.println("PartUsage: " + parts + ", all Usage subtypes: " + usages); + check(usages > parts, "subtype counts"); + + Element calc = m.resolve("Demo::Vehicle::K"); + check(calc instanceof CalculationDefinition, "K is CalculationDefinition"); + List inputs = (List) ((CalculationDefinition) calc).getInput(); + check(inputs.size() == 1 + && "x".equals(((Feature) inputs.get(0)).getDeclaredName()), "K.input"); + System.out.println("K.input -> [x] OK"); + + // --- collision rule: MetadataUsage.metaclass is the SPEC member ---- + String metaPayload = """ + [ + {"@id": "mc1", "@type": "Metaclass", "declaredName": "Safety", + "qualifiedName": "M::Safety"}, + {"@id": "m1", "@type": "MetadataUsage", "qualifiedName": "M::stubbed", + "metaclass": null}, + {"@id": "m2", "@type": "MetadataUsage", "qualifiedName": "M::filled", + "metaclass": {"@id": "mc1"}} + ] + """; + Model mm = Model.fromFullJson(metaPayload); + MetadataUsage mu = (MetadataUsage) mm.element("m1"); + check(mu.$metaclass().equals("MetadataUsage"), "runtime accessor ($-prefixed)"); + check(mu.getMetaclass() == null, "spec member: backend value passed through"); + check(((MetadataUsage) mm.element("m2")).getMetaclass() == mm.element("mc1"), + "filled metaclass re-check"); + System.out.println("MetadataUsage: .$metaclass() (runtime) vs .getMetaclass() (spec) OK"); + + // Elements come in document order; an id given twice keeps its first place and its last + // element. + Model ordered = Model.fromFullJson(""" + [ + {"@id": "z", "@type": "Package", "declaredName": "first"}, + {"@id": "a", "@type": "Package", "declaredName": "A"}, + {"@id": "z", "@type": "Package", "declaredName": "second"} + ] + """); + List ids = new java.util.ArrayList<>(); + for (Element e : ordered.all()) + ids.add(e.$id()); + check(ids.equals(List.of("z", "a")), "document order: " + ids); + check("second".equals(ordered.element("z").getDeclaredName()), "the last element of an id"); + System.out.println("payload elements in document order OK"); + + checkPayloadLibrary(); + } + + /** A payload model with a library: references the model does not hold resolve in the library, + * the library's elements are not the model's, the model wins an id or name both have, and a + * reference in neither still throws. The same checks run in every language. */ + private static void checkPayloadLibrary() { + PayloadLibrary library = PayloadLibrary.fromJson(""" + [ + {"@id": "lib", "@type": "LibraryPackage", "qualifiedName": "ScalarValues", "isLibraryElement": true}, + {"@id": "real", "@type": "DataType", "qualifiedName": "ScalarValues::Real", "declaredName": "Real", + "owner": {"@id": "lib"}, "isLibraryElement": true}, + {"@id": "clash", "@type": "Package", "declaredName": "from the library"}, + {"@id": "libP", "@type": "Package", "qualifiedName": "P"} + ] + """); + String model = """ + [ + {"@id": "pkg", "@type": "Package", "qualifiedName": "P", "declaredName": "P"}, + {"@id": "mass", "@type": "AttributeUsage", "qualifiedName": "P::mass", "owner": {"@id": "pkg"}, + "type": [{"@id": "real"}], "definition": [{"@id": "gone"}]}, + {"@id": "clash", "@type": "Package", "declaredName": "from the model"} + ] + """; + Model withLibrary = Model.fromFullJson(model, library); + AttributeUsage mass = (AttributeUsage) withLibrary.element("mass"); + Type real = mass.getType().get(0); + check("Real".equals(real.getDeclaredName()) && Boolean.TRUE.equals(real.getIsLibraryElement()), "library element"); + check("ScalarValues".equals(real.getOwner().getQualifiedName()), "library owner"); + check(real.equals(withLibrary.resolve("ScalarValues::Real")), "resolve into the library"); + List all = new java.util.ArrayList<>(); + for (Element e : withLibrary.all()) + all.add(e.$id()); + check(all.equals(List.of("pkg", "mass", "clash")), "all() lists the library: " + all); + List roots = new java.util.ArrayList<>(); + for (Element e : withLibrary.roots()) + roots.add(e.$id()); + check(roots.equals(List.of("pkg", "clash")), "roots() lists the library: " + roots); + check("from the model".equals(withLibrary.element("clash").getDeclaredName()), "the model's id wins"); + check("pkg".equals(withLibrary.resolve("P").$id()), "the model's name wins"); + check(throwsUnresolved(() -> mass.getDefinition()), "a reference in neither"); + Model withoutLibrary = Model.fromFullJson(model); + check(throwsUnresolved(() -> ((AttributeUsage) withoutLibrary.element("mass")).getType()), "no library, no resolution"); + check(withoutLibrary.resolve("ScalarValues::Real") == null, "no library, no name"); + System.out.println("payload model with a library OK"); + } + + private static boolean throwsUnresolved(Runnable read) { + try { + read.run(); + } catch (UnresolvedReferenceException e) { + return true; + } + return false; + } +} diff --git a/java/src/org/openmbee/sysml/checks/Conformance.java b/java/src/org/openmbee/sysml/checks/Conformance.java new file mode 100644 index 0000000..d78744e --- /dev/null +++ b/java/src/org/openmbee/sysml/checks/Conformance.java @@ -0,0 +1,165 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_conformance.py. +// +// Anti-drift: TABLE_SHA256 pins the table this file was generated from; +// the checks verify the generated interfaces + runtime against the live +// table via reflection. Invoked by Checks.java. +package org.openmbee.sysml.checks; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.HexFormat; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import java.util.TreeMap; + +import org.openmbee.sysml.Element; +import org.openmbee.sysml.Json; +import org.openmbee.sysml.Model; +import org.openmbee.sysml.NotImplementedInToolkitException; +import org.openmbee.sysml.classes.ClassMap; + +public final class Conformance { + public static final String TABLE_SHA256 = "17644f3a5d70189d76b5ecb95c2089aeda1f93b6705f8bce5eeae1faf023758b"; + + private Conformance() { } + + private static void check(boolean cond, String what) { + if (!cond) + throw new AssertionError("conformance FAILED: " + what); + } + + private static void ancestors(Map mm, String name, Set acc) { + for (Object b : (List) ((Map) mm.get(name)).get("bases")) + if (acc.add((String) b)) + ancestors(mm, (String) b, acc); + } + + // Every operation a class declares or inherits: name to parameter count. + private static Map flatOps(Map mm, String name) { + Set classes = new HashSet<>(List.of(name)); + ancestors(mm, name, classes); + Map ops = new TreeMap<>(); + for (String c : classes) + for (Object opo : (List) ((Map) mm.get(c)).get("ops")) + ops.put((String) ((Map) opo).get("name"), + ((List) ((Map) opo).get("params")).size()); + return ops; + } + + // Properties are read through `get` + the specification name. + private static String getter(String prop) { + return "get" + Character.toUpperCase(prop.charAt(0)) + prop.substring(1); + } + + // Invoke a generated default method; unwrap reflection's + // InvocationTargetException so SDK exceptions stay visible. + private static void invoke(Method m, Object target, Object[] args) + throws Exception { + try { + m.invoke(target, args); + } catch (InvocationTargetException e) { + if (e.getCause() instanceof Exception cause) + throw cause; + throw e; + } + } + + public static void run(Path metamodelPath) throws Exception { + byte[] raw = Files.readAllBytes(metamodelPath); + String digest = HexFormat.of() + .formatHex(MessageDigest.getInstance("SHA-256").digest(raw)); + check(digest.equals(TABLE_SHA256), + "metamodel.json changed since this harness was generated; " + + "rerun tools/gen_conformance.py"); + Map mm = (Map) ((Map) Json + .parse(new String(raw, StandardCharsets.UTF_8))).get("classes"); + + List names = new ArrayList<>(); + for (Object k : mm.keySet()) + names.add((String) k); + names.sort(null); + List concrete = new ArrayList<>(); + for (String n : names) + if (!(Boolean) ((Map) mm.get(n)).get("abstract")) + concrete.add(n); + + // --- generated surface matches the table -------------------------- + for (String n : names) { + Map info = (Map) mm.get(n); + var t = ClassMap.TYPE_MAP.get(n); + check(t != null, "TYPE_MAP[" + n + "] missing"); + check(ClassMap.FACTORIES.containsKey(n) + == !(Boolean) info.get("abstract"), "factory presence for " + n); + for (Object b : (List) info.get("bases")) + check(ClassMap.TYPE_MAP.get((String) b).isAssignableFrom(t), + n + " !< " + b); + if (n.equals("Element")) + continue; // spec root merges into the runtime Element + Set declared = new HashSet<>(); + for (Method m : t.getDeclaredMethods()) + declared.add(m.getName()); + Map props = (Map) info.get("props"); + for (Object p : props.keySet()) + check(declared.contains(getter((String) p)), + n + "." + getter((String) p) + "(): property getter missing"); + for (String o : flatOps(mm, n).keySet()) + check(declared.contains(o), n + "." + o + "(): operation missing"); + } + + // --- runtime honors the table ------------------------------------- + StringBuilder sb = new StringBuilder("["); + for (int i = 0; i < concrete.size(); i++) + sb.append(i == 0 ? "" : ",") + .append("{\"@id\":\"e-").append(concrete.get(i)) + .append("\",\"@type\":\"").append(concrete.get(i)).append("\"}"); + String payload = sb.append(']').toString(); + Model model = Model.fromFullJson(payload); + for (String n : concrete) { + Element el = model.element("e-" + n); + var t = ClassMap.TYPE_MAP.get(n); + check(el.$metaclass().equals(n), "$metaclass " + n); + check(el.$id().equals("e-" + n), "$id " + n); + check(t.isInstance(el), n + " instance of own interface"); + Set anc = new HashSet<>(); + ancestors(mm, n, anc); + for (String a : anc) + check(ClassMap.TYPE_MAP.get(a).isInstance(el), + n + " not instance of " + a); + Map props = (Map) ((Map) mm.get(n)).get("props"); + for (Object po : props.keySet()) { + Method read = t.getMethod(getter((String) po)); + // a property read never second-guesses the backend + invoke(read, el, new Object[0]); + } + for (Map.Entry entry : flatOps(mm, n).entrySet()) { + String o = entry.getKey(); + int arity = entry.getValue(); + Method op = null; + for (Method m : t.getMethods()) + if (m.getName().equals(o) && m.getParameterCount() == arity) { + op = m; + break; + } + check(op != null, n + "." + o + "(): not found"); + boolean threw = false; + try { + invoke(op, el, new Object[arity]); + } catch (NotImplementedInToolkitException e) { + threw = true; + } + check(threw, n + "." + o + "(): must throw NotImplementedInToolkit"); + } + } + + System.out.println("conformance OK: " + names.size() + " classes, " + + concrete.size() + " concrete, table " + TABLE_SHA256.substring(0, 12)); + } +} diff --git a/java/src/org/openmbee/sysml/checks/ToolkitChecks.java b/java/src/org/openmbee/sysml/checks/ToolkitChecks.java new file mode 100644 index 0000000..a38c403 --- /dev/null +++ b/java/src/org/openmbee/sysml/checks/ToolkitChecks.java @@ -0,0 +1,140 @@ +// Java reading directly from the SysML Toolkit through the binding library. +// Skips itself when the library is not built, so the payload checks still run everywhere; with +// SYSML_REQUIRE_TOOLKIT=1 a missing library is a failure instead. +package org.openmbee.sysml.checks; + +import java.util.List; +import java.util.Map; + +import org.openmbee.sysml.Element; +import org.openmbee.sysml.ToolkitBackend; +import org.openmbee.sysml.Model; +import org.openmbee.sysml.NotImplementedInToolkitException; +import org.openmbee.sysml.SdkException; +import org.openmbee.sysml.classes.ConnectionUsage; +import org.openmbee.sysml.classes.Feature; +import org.openmbee.sysml.classes.Membership; +import org.openmbee.sysml.classes.Package; +import org.openmbee.sysml.classes.PartDefinition; +import org.openmbee.sysml.classes.PartUsage; +import org.openmbee.sysml.classes.RequirementDefinition; +import org.openmbee.sysml.classes.Type; + +public final class ToolkitChecks { + private static void check(boolean cond, String what) { + if (!cond) throw new AssertionError("FAILED: " + what); + } + + /** A check that meets the SysML Toolkit's refusal of `member` first + * (NotImplementedInToolkitException naming it): an expected failure, reported as one. It + * fails when it passes (the SysML Toolkit answers now: remove the expectation) or when it + * stops on anything else. */ + private static void expectRefusal(String member, String reason, String what, Runnable body) { + try { + body.run(); + } catch (NotImplementedInToolkitException e) { + if (refusedMember(e.getMessage()).equals(member)) { + System.out.println("expected failure: " + what + ": the SysML Toolkit refuses " + member + " (" + reason + ")"); + return; + } + throw e; + } + throw new AssertionError("FAILED: " + what + ": the SysML Toolkit answers " + member + " now; remove the expected refusal"); + } + + /** The member a SysML Toolkit refusal names (`Type::inheritedMemberships()` gives + * `inheritedMemberships()`). */ + private static String refusedMember(String message) { + int i = message.indexOf(" is not answered by the SysML Toolkit"); + if (i < 0) return ""; + String head = message.substring(0, i).trim(); + int j = head.lastIndexOf("::"); + return j < 0 ? head : head.substring(j + 2); + } + + public static void main(String[] args) throws Exception { + try { + ToolkitBackend.Library.defaultPath(); + } catch (SdkException e) { + if ("1".equals(System.getenv("SYSML_REQUIRE_TOOLKIT"))) + throw new AssertionError("SYSML_REQUIRE_TOOLKIT=1 but " + e.getMessage()); + System.out.println("SysML Toolkit checks skipped: binding library not built"); + return; + } + String source = "package Demo { part def Wheel; part def Car { part wheels : Wheel[4]; attribute mass; } part def Sports :> Car { part spoiler; } part def Link { part a; part b; connect a to b; } }"; + try (ToolkitBackend be = ToolkitBackend.openSources(Map.of("inline.sysml", source))) { + Model m = new Model(be); + + Element car = m.resolve("Demo::Car"); + check(car instanceof PartDefinition, "Car is a PartDefinition"); + PartDefinition carDef = (PartDefinition) car; + check("Demo::Car".equals(carDef.getQualifiedName()), "qualifiedName"); + check(carDef.getOwner() instanceof Package, "owner is the package"); + + List feats = carDef.getOwnedFeature(); + check(feats.size() == 2 && "wheels".equals(feats.get(0).getDeclaredName()), "ownedFeature"); + check(feats.get(0) instanceof PartUsage, "wheels is a PartUsage"); + expectRefusal("type", "it waits on implied relationships", "type", () -> { + List types = feats.get(0).getType(); + check(types.size() == 1 && "Wheel".equals(types.get(0).getDeclaredName()), "type"); + }); + check(Boolean.TRUE.equals(feats.get(0).getIsComposite()), "isComposite"); + + PartDefinition sports = (PartDefinition) m.resolve("Demo::Sports"); + expectRefusal("inheritedFeature", "it waits on implied relationships", "inheritedFeature", () -> { + List inherited = sports.getInheritedFeature(); + check(inherited.size() == 2, "inheritedFeature computed by the SysML Toolkit: " + inherited.size()); + }); + + check(car == m.resolve("Demo::Car"), "wrappers are cached by handle"); + check(carDef.$id().length() == 36, "elementId is a UUID"); + + + // Operations, through the SysML Toolkit's operation entry point; it refuses what it + // cannot answer as specified. + check("Car".equals(carDef.effectiveName()), "effectiveName"); + expectRefusal("connectorEnd", "it waits on the implied end redefinitions", "an unnamed connection end is named by the end it redefines", () -> { + ConnectionUsage connection = null; + for (Feature f : ((PartDefinition) m.resolve("Demo::Link")).getOwnedFeature()) + if (f instanceof ConnectionUsage c) connection = c; + Feature end = connection.getConnectorEnd().get(0); + check(end.getDeclaredName() == null && "source".equals(end.effectiveName()), + "an unnamed connection end is named by the end it redefines: " + end.effectiveName()); + }); + expectRefusal("inheritedMemberships()", "its evidence is incomplete", "inheritedMemberships", () -> { + List memberships = sports.inheritedMemberships(List.of(), List.of(), false); + check(memberships.size() == 2 && "wheels".equals(memberships.get(0).getMemberName()), "inheritedMemberships"); + }); + boolean opRefused = false; + try { + sports.isCompatibleWith(carDef); + } catch (NotImplementedInToolkitException e) { + opRefused = e.getMessage().contains("isCompatibleWith"); + } + check(opRefused, "an operation the SysML Toolkit cannot answer as specified is refused"); + + check(be.fullJson().startsWith("["), "fullJson"); + } + + // Text beyond ASCII, a requirement's text (a list of strings), the members every element + // has, and the top-level namespaces. + String sizesSource = "package Sizes { doc /* Größe und Wärme */ requirement def Light { doc /* Keep it light. */ } part def Last; }"; + try (ToolkitBackend be = ToolkitBackend.openSources(Map.of("größe.sysml", sizesSource))) { + Model sizes = new Model(be); + check(sizes.resolve("Sizes::Last") instanceof PartDefinition, "a source with text beyond ASCII loads whole"); + check(sizes.resolve("Sizes").getDocumentation().get(0).getBody().contains("Größe und Wärme"), + "text beyond ASCII comes back intact"); + RequirementDefinition light = (RequirementDefinition) sizes.resolve("Sizes::Light"); + List text = light.getText(); + check(text.size() == 1 && text.get(0).startsWith("Keep it light."), "a requirement's text is a list of strings: " + text); + Element owner = light.getOwner(); + check("Sizes".equals(owner.getName()), "the members of Element, read on a plain Element"); + boolean found = false; + for (Element root : sizes.roots()) + for (Element member : ((org.openmbee.sysml.classes.Namespace) root).getOwnedMember()) + found |= "Sizes".equals(member.getName()); + check(found, "roots"); + } + System.out.println("ALL JAVA SYSML TOOLKIT CHECKS PASSED"); + } +} diff --git a/java/src/org/openmbee/sysml/classes/AcceptActionUsage.java b/java/src/org/openmbee/sysml/classes/AcceptActionUsage.java new file mode 100644 index 0000000..f487d37 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AcceptActionUsage.java @@ -0,0 +1,175 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AcceptActionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default Expression getPayloadArgument() { return $ref($model().read(this, "payloadArgument")); } + default ReferenceUsage getPayloadParameter() { return $ref($model().read(this, "payloadParameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Expression getReceiverArgument() { return $ref($model().read(this, "receiverArgument")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Boolean isTriggerAction() { return $bool($model().call(this, "isTriggerAction", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ActionDefinition.java b/java/src/org/openmbee/sysml/classes/ActionDefinition.java new file mode 100644 index 0000000..99164e4 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ActionDefinition.java @@ -0,0 +1,120 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ActionDefinition extends OccurrenceDefinition, Behavior { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ActionUsage.java b/java/src/org/openmbee/sysml/classes/ActionUsage.java new file mode 100644 index 0000000..2f81e1a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ActionUsage.java @@ -0,0 +1,171 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ActionUsage extends Step, OccurrenceUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ActorMembership.java b/java/src/org/openmbee/sysml/classes/ActorMembership.java new file mode 100644 index 0000000..d19c6ff --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ActorMembership.java @@ -0,0 +1,51 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ActorMembership extends ParameterMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default PartUsage getOwnedActorParameter() { return $ref($model().read(this, "ownedActorParameter")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default Feature getOwnedMemberParameter() { return $ref($model().read(this, "ownedMemberParameter")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String parameterDirection() { return $string($model().call(this, "parameterDirection", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AllocationDefinition.java b/java/src/org/openmbee/sysml/classes/AllocationDefinition.java new file mode 100644 index 0000000..3e589fb --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AllocationDefinition.java @@ -0,0 +1,129 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AllocationDefinition extends ConnectionDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAllocation() { return $list($model().read(this, "allocation")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default java.util.List getConnectionEnd() { return $list($model().read(this, "connectionEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AllocationUsage.java b/java/src/org/openmbee/sysml/classes/AllocationUsage.java new file mode 100644 index 0000000..93a9c5f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AllocationUsage.java @@ -0,0 +1,180 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AllocationUsage extends ConnectionUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAllocationDefinition() { return $list($model().read(this, "allocationDefinition")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectionDefinition() { return $list($model().read(this, "connectionDefinition")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPartDefinition() { return $list($model().read(this, "partDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AnalysisCaseDefinition.java b/java/src/org/openmbee/sysml/classes/AnalysisCaseDefinition.java new file mode 100644 index 0000000..6ebc6d4 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AnalysisCaseDefinition.java @@ -0,0 +1,128 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AnalysisCaseDefinition extends CaseDefinition { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getCalculation() { return $list($model().read(this, "calculation")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default Expression getResultExpression() { return $ref($model().read(this, "resultExpression")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AnalysisCaseUsage.java b/java/src/org/openmbee/sysml/classes/AnalysisCaseUsage.java new file mode 100644 index 0000000..dd19044 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AnalysisCaseUsage.java @@ -0,0 +1,184 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AnalysisCaseUsage extends CaseUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default AnalysisCaseDefinition getAnalysisCaseDefinition() { return $ref($model().read(this, "analysisCaseDefinition")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default Function getCalculationDefinition() { return $ref($model().read(this, "calculationDefinition")); } + default CaseDefinition getCaseDefinition() { return $ref($model().read(this, "caseDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default Expression getResultExpression() { return $ref($model().read(this, "resultExpression")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AnnotatingElement.java b/java/src/org/openmbee/sysml/classes/AnnotatingElement.java new file mode 100644 index 0000000..5c2c07e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AnnotatingElement.java @@ -0,0 +1,33 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface AnnotatingElement extends org.openmbee.sysml.Element { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAnnotatedElement() { return $list($model().read(this, "annotatedElement")); } + default java.util.List getAnnotation() { return $list($model().read(this, "annotation")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotatingRelationship() { return $list($model().read(this, "ownedAnnotatingRelationship")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Annotation getOwningAnnotatingRelationship() { return $ref($model().read(this, "owningAnnotatingRelationship")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Annotation.java b/java/src/org/openmbee/sysml/classes/Annotation.java new file mode 100644 index 0000000..134b11b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Annotation.java @@ -0,0 +1,40 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Annotation extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default org.openmbee.sysml.Element getAnnotatedElement() { return $ref($model().read(this, "annotatedElement")); } + default AnnotatingElement getAnnotatingElement() { return $ref($model().read(this, "annotatingElement")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default AnnotatingElement getOwnedAnnotatingElement() { return $ref($model().read(this, "ownedAnnotatingElement")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default org.openmbee.sysml.Element getOwningAnnotatedElement() { return $ref($model().read(this, "owningAnnotatedElement")); } + default AnnotatingElement getOwningAnnotatingElement() { return $ref($model().read(this, "owningAnnotatingElement")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AssertConstraintUsage.java b/java/src/org/openmbee/sysml/classes/AssertConstraintUsage.java new file mode 100644 index 0000000..28e1a8f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AssertConstraintUsage.java @@ -0,0 +1,176 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AssertConstraintUsage extends Invariant, ConstraintUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default ConstraintUsage getAssertedConstraint() { return $ref($model().read(this, "assertedConstraint")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Predicate getConstraintDefinition() { return $ref($model().read(this, "constraintDefinition")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsNegated() { return $bool($model().read(this, "isNegated")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AssignmentActionUsage.java b/java/src/org/openmbee/sysml/classes/AssignmentActionUsage.java new file mode 100644 index 0000000..8d3f8fc --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AssignmentActionUsage.java @@ -0,0 +1,174 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AssignmentActionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getReferent() { return $ref($model().read(this, "referent")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Expression getTargetArgument() { return $ref($model().read(this, "targetArgument")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default Expression getValueExpression() { return $ref($model().read(this, "valueExpression")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Association.java b/java/src/org/openmbee/sysml/classes/Association.java new file mode 100644 index 0000000..b632065 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Association.java @@ -0,0 +1,94 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Association extends Classifier, Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AssociationStructure.java b/java/src/org/openmbee/sysml/classes/AssociationStructure.java new file mode 100644 index 0000000..cacfd6d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AssociationStructure.java @@ -0,0 +1,94 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface AssociationStructure extends Structure, Association { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AttributeDefinition.java b/java/src/org/openmbee/sysml/classes/AttributeDefinition.java new file mode 100644 index 0000000..28740fc --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AttributeDefinition.java @@ -0,0 +1,116 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AttributeDefinition extends DataType, Definition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/AttributeUsage.java b/java/src/org/openmbee/sysml/classes/AttributeUsage.java new file mode 100644 index 0000000..39ef50b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/AttributeUsage.java @@ -0,0 +1,161 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface AttributeUsage extends Usage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAttributeDefinition() { return $list($model().read(this, "attributeDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Behavior.java b/java/src/org/openmbee/sysml/classes/Behavior.java new file mode 100644 index 0000000..cef7c4b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Behavior.java @@ -0,0 +1,86 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Behavior extends Class { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/BindingConnector.java b/java/src/org/openmbee/sysml/classes/BindingConnector.java new file mode 100644 index 0000000..727aa12 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/BindingConnector.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface BindingConnector extends Connector { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/BindingConnectorAsUsage.java b/java/src/org/openmbee/sysml/classes/BindingConnectorAsUsage.java new file mode 100644 index 0000000..dbfb6e7 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/BindingConnectorAsUsage.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface BindingConnectorAsUsage extends BindingConnector, ConnectorAsUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/BooleanExpression.java b/java/src/org/openmbee/sysml/classes/BooleanExpression.java new file mode 100644 index 0000000..108df6a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/BooleanExpression.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface BooleanExpression extends Expression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/CalculationDefinition.java b/java/src/org/openmbee/sysml/classes/CalculationDefinition.java new file mode 100644 index 0000000..a00b450 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/CalculationDefinition.java @@ -0,0 +1,124 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface CalculationDefinition extends ActionDefinition, Function { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getCalculation() { return $list($model().read(this, "calculation")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/CalculationUsage.java b/java/src/org/openmbee/sysml/classes/CalculationUsage.java new file mode 100644 index 0000000..834d647 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/CalculationUsage.java @@ -0,0 +1,178 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface CalculationUsage extends Expression, ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default Function getCalculationDefinition() { return $ref($model().read(this, "calculationDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/CaseDefinition.java b/java/src/org/openmbee/sysml/classes/CaseDefinition.java new file mode 100644 index 0000000..2104245 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/CaseDefinition.java @@ -0,0 +1,127 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface CaseDefinition extends CalculationDefinition { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getCalculation() { return $list($model().read(this, "calculation")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/CaseUsage.java b/java/src/org/openmbee/sysml/classes/CaseUsage.java new file mode 100644 index 0000000..4aaa234 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/CaseUsage.java @@ -0,0 +1,182 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface CaseUsage extends CalculationUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default Function getCalculationDefinition() { return $ref($model().read(this, "calculationDefinition")); } + default CaseDefinition getCaseDefinition() { return $ref($model().read(this, "caseDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Class.java b/java/src/org/openmbee/sysml/classes/Class.java new file mode 100644 index 0000000..79b2ff8 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Class.java @@ -0,0 +1,84 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Class extends Classifier { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ClassMap.java b/java/src/org/openmbee/sysml/classes/ClassMap.java new file mode 100644 index 0000000..70fda89 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ClassMap.java @@ -0,0 +1,374 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.function.BiFunction; + +import org.openmbee.sysml.Element; +import org.openmbee.sysml.Model; + +/** Generated maps: metaclass name to interface (all classes) and to + * element factory (concrete only). java.lang.Class is qualified + * throughout — bare Class here is the KerML metaclass interface. */ +public final class ClassMap { + private ClassMap() { } + + public static final Map> TYPE_MAP = typeMap(); + + public static final Map> + FACTORIES = factories(); + + private static Map> typeMap() { + Map> m = new LinkedHashMap<>(); + m.put("Element", Element.class); + m.put("AcceptActionUsage", AcceptActionUsage.class); + m.put("ActionDefinition", ActionDefinition.class); + m.put("ActionUsage", ActionUsage.class); + m.put("ActorMembership", ActorMembership.class); + m.put("AllocationDefinition", AllocationDefinition.class); + m.put("AllocationUsage", AllocationUsage.class); + m.put("AnalysisCaseDefinition", AnalysisCaseDefinition.class); + m.put("AnalysisCaseUsage", AnalysisCaseUsage.class); + m.put("AnnotatingElement", AnnotatingElement.class); + m.put("Annotation", Annotation.class); + m.put("AssertConstraintUsage", AssertConstraintUsage.class); + m.put("AssignmentActionUsage", AssignmentActionUsage.class); + m.put("Association", Association.class); + m.put("AssociationStructure", AssociationStructure.class); + m.put("AttributeDefinition", AttributeDefinition.class); + m.put("AttributeUsage", AttributeUsage.class); + m.put("Behavior", Behavior.class); + m.put("BindingConnector", BindingConnector.class); + m.put("BindingConnectorAsUsage", BindingConnectorAsUsage.class); + m.put("BooleanExpression", BooleanExpression.class); + m.put("CalculationDefinition", CalculationDefinition.class); + m.put("CalculationUsage", CalculationUsage.class); + m.put("CaseDefinition", CaseDefinition.class); + m.put("CaseUsage", CaseUsage.class); + m.put("Class", Class.class); + m.put("Classifier", Classifier.class); + m.put("CollectExpression", CollectExpression.class); + m.put("Comment", Comment.class); + m.put("ConcernDefinition", ConcernDefinition.class); + m.put("ConcernUsage", ConcernUsage.class); + m.put("ConjugatedPortDefinition", ConjugatedPortDefinition.class); + m.put("ConjugatedPortTyping", ConjugatedPortTyping.class); + m.put("Conjugation", Conjugation.class); + m.put("ConnectionDefinition", ConnectionDefinition.class); + m.put("ConnectionUsage", ConnectionUsage.class); + m.put("Connector", Connector.class); + m.put("ConnectorAsUsage", ConnectorAsUsage.class); + m.put("ConstraintDefinition", ConstraintDefinition.class); + m.put("ConstraintUsage", ConstraintUsage.class); + m.put("ConstructorExpression", ConstructorExpression.class); + m.put("ControlNode", ControlNode.class); + m.put("CrossSubsetting", CrossSubsetting.class); + m.put("DataType", DataType.class); + m.put("DecisionNode", DecisionNode.class); + m.put("Definition", Definition.class); + m.put("Dependency", Dependency.class); + m.put("Differencing", Differencing.class); + m.put("Disjoining", Disjoining.class); + m.put("Documentation", Documentation.class); + m.put("ElementFilterMembership", ElementFilterMembership.class); + m.put("EndFeatureMembership", EndFeatureMembership.class); + m.put("EnumerationDefinition", EnumerationDefinition.class); + m.put("EnumerationUsage", EnumerationUsage.class); + m.put("EventOccurrenceUsage", EventOccurrenceUsage.class); + m.put("ExhibitStateUsage", ExhibitStateUsage.class); + m.put("Expose", Expose.class); + m.put("Expression", Expression.class); + m.put("Feature", Feature.class); + m.put("FeatureChainExpression", FeatureChainExpression.class); + m.put("FeatureChaining", FeatureChaining.class); + m.put("FeatureInverting", FeatureInverting.class); + m.put("FeatureMembership", FeatureMembership.class); + m.put("FeatureReferenceExpression", FeatureReferenceExpression.class); + m.put("FeatureTyping", FeatureTyping.class); + m.put("FeatureValue", FeatureValue.class); + m.put("Flow", Flow.class); + m.put("FlowDefinition", FlowDefinition.class); + m.put("FlowEnd", FlowEnd.class); + m.put("FlowUsage", FlowUsage.class); + m.put("ForLoopActionUsage", ForLoopActionUsage.class); + m.put("ForkNode", ForkNode.class); + m.put("FramedConcernMembership", FramedConcernMembership.class); + m.put("Function", Function.class); + m.put("IfActionUsage", IfActionUsage.class); + m.put("Import", Import.class); + m.put("IncludeUseCaseUsage", IncludeUseCaseUsage.class); + m.put("IndexExpression", IndexExpression.class); + m.put("InstantiationExpression", InstantiationExpression.class); + m.put("Interaction", Interaction.class); + m.put("InterfaceDefinition", InterfaceDefinition.class); + m.put("InterfaceUsage", InterfaceUsage.class); + m.put("Intersecting", Intersecting.class); + m.put("Invariant", Invariant.class); + m.put("InvocationExpression", InvocationExpression.class); + m.put("ItemDefinition", ItemDefinition.class); + m.put("ItemUsage", ItemUsage.class); + m.put("JoinNode", JoinNode.class); + m.put("LibraryPackage", LibraryPackage.class); + m.put("LiteralBoolean", LiteralBoolean.class); + m.put("LiteralExpression", LiteralExpression.class); + m.put("LiteralInfinity", LiteralInfinity.class); + m.put("LiteralInteger", LiteralInteger.class); + m.put("LiteralRational", LiteralRational.class); + m.put("LiteralString", LiteralString.class); + m.put("LoopActionUsage", LoopActionUsage.class); + m.put("Membership", Membership.class); + m.put("MembershipExpose", MembershipExpose.class); + m.put("MembershipImport", MembershipImport.class); + m.put("MergeNode", MergeNode.class); + m.put("Metaclass", Metaclass.class); + m.put("MetadataAccessExpression", MetadataAccessExpression.class); + m.put("MetadataDefinition", MetadataDefinition.class); + m.put("MetadataFeature", MetadataFeature.class); + m.put("MetadataUsage", MetadataUsage.class); + m.put("Multiplicity", Multiplicity.class); + m.put("MultiplicityRange", MultiplicityRange.class); + m.put("Namespace", Namespace.class); + m.put("NamespaceExpose", NamespaceExpose.class); + m.put("NamespaceImport", NamespaceImport.class); + m.put("NullExpression", NullExpression.class); + m.put("ObjectiveMembership", ObjectiveMembership.class); + m.put("OccurrenceDefinition", OccurrenceDefinition.class); + m.put("OccurrenceUsage", OccurrenceUsage.class); + m.put("OperatorExpression", OperatorExpression.class); + m.put("OwningMembership", OwningMembership.class); + m.put("Package", Package.class); + m.put("ParameterMembership", ParameterMembership.class); + m.put("PartDefinition", PartDefinition.class); + m.put("PartUsage", PartUsage.class); + m.put("PayloadFeature", PayloadFeature.class); + m.put("PerformActionUsage", PerformActionUsage.class); + m.put("PortConjugation", PortConjugation.class); + m.put("PortDefinition", PortDefinition.class); + m.put("PortUsage", PortUsage.class); + m.put("Predicate", Predicate.class); + m.put("Redefinition", Redefinition.class); + m.put("ReferenceSubsetting", ReferenceSubsetting.class); + m.put("ReferenceUsage", ReferenceUsage.class); + m.put("Relationship", Relationship.class); + m.put("RenderingDefinition", RenderingDefinition.class); + m.put("RenderingUsage", RenderingUsage.class); + m.put("RequirementConstraintMembership", RequirementConstraintMembership.class); + m.put("RequirementDefinition", RequirementDefinition.class); + m.put("RequirementUsage", RequirementUsage.class); + m.put("RequirementVerificationMembership", RequirementVerificationMembership.class); + m.put("ResultExpressionMembership", ResultExpressionMembership.class); + m.put("ReturnParameterMembership", ReturnParameterMembership.class); + m.put("SatisfyRequirementUsage", SatisfyRequirementUsage.class); + m.put("SelectExpression", SelectExpression.class); + m.put("SendActionUsage", SendActionUsage.class); + m.put("Specialization", Specialization.class); + m.put("StakeholderMembership", StakeholderMembership.class); + m.put("StateDefinition", StateDefinition.class); + m.put("StateSubactionMembership", StateSubactionMembership.class); + m.put("StateUsage", StateUsage.class); + m.put("Step", Step.class); + m.put("Structure", Structure.class); + m.put("Subclassification", Subclassification.class); + m.put("SubjectMembership", SubjectMembership.class); + m.put("Subsetting", Subsetting.class); + m.put("Succession", Succession.class); + m.put("SuccessionAsUsage", SuccessionAsUsage.class); + m.put("SuccessionFlow", SuccessionFlow.class); + m.put("SuccessionFlowUsage", SuccessionFlowUsage.class); + m.put("TerminateActionUsage", TerminateActionUsage.class); + m.put("TextualRepresentation", TextualRepresentation.class); + m.put("TransitionFeatureMembership", TransitionFeatureMembership.class); + m.put("TransitionUsage", TransitionUsage.class); + m.put("TriggerInvocationExpression", TriggerInvocationExpression.class); + m.put("Type", Type.class); + m.put("TypeFeaturing", TypeFeaturing.class); + m.put("Unioning", Unioning.class); + m.put("Usage", Usage.class); + m.put("UseCaseDefinition", UseCaseDefinition.class); + m.put("UseCaseUsage", UseCaseUsage.class); + m.put("VariantMembership", VariantMembership.class); + m.put("VerificationCaseDefinition", VerificationCaseDefinition.class); + m.put("VerificationCaseUsage", VerificationCaseUsage.class); + m.put("ViewDefinition", ViewDefinition.class); + m.put("ViewRenderingMembership", ViewRenderingMembership.class); + m.put("ViewUsage", ViewUsage.class); + m.put("ViewpointDefinition", ViewpointDefinition.class); + m.put("ViewpointUsage", ViewpointUsage.class); + m.put("WhileLoopActionUsage", WhileLoopActionUsage.class); + return Collections.unmodifiableMap(m); + } + + private static Map> factories() { + Map> m = new LinkedHashMap<>(); + m.put("AcceptActionUsage", AcceptActionUsageEl::new); + m.put("ActionDefinition", ActionDefinitionEl::new); + m.put("ActionUsage", ActionUsageEl::new); + m.put("ActorMembership", ActorMembershipEl::new); + m.put("AllocationDefinition", AllocationDefinitionEl::new); + m.put("AllocationUsage", AllocationUsageEl::new); + m.put("AnalysisCaseDefinition", AnalysisCaseDefinitionEl::new); + m.put("AnalysisCaseUsage", AnalysisCaseUsageEl::new); + m.put("AnnotatingElement", AnnotatingElementEl::new); + m.put("Annotation", AnnotationEl::new); + m.put("AssertConstraintUsage", AssertConstraintUsageEl::new); + m.put("AssignmentActionUsage", AssignmentActionUsageEl::new); + m.put("Association", AssociationEl::new); + m.put("AssociationStructure", AssociationStructureEl::new); + m.put("AttributeDefinition", AttributeDefinitionEl::new); + m.put("AttributeUsage", AttributeUsageEl::new); + m.put("Behavior", BehaviorEl::new); + m.put("BindingConnector", BindingConnectorEl::new); + m.put("BindingConnectorAsUsage", BindingConnectorAsUsageEl::new); + m.put("BooleanExpression", BooleanExpressionEl::new); + m.put("CalculationDefinition", CalculationDefinitionEl::new); + m.put("CalculationUsage", CalculationUsageEl::new); + m.put("CaseDefinition", CaseDefinitionEl::new); + m.put("CaseUsage", CaseUsageEl::new); + m.put("Class", ClassEl::new); + m.put("Classifier", ClassifierEl::new); + m.put("CollectExpression", CollectExpressionEl::new); + m.put("Comment", CommentEl::new); + m.put("ConcernDefinition", ConcernDefinitionEl::new); + m.put("ConcernUsage", ConcernUsageEl::new); + m.put("ConjugatedPortDefinition", ConjugatedPortDefinitionEl::new); + m.put("ConjugatedPortTyping", ConjugatedPortTypingEl::new); + m.put("Conjugation", ConjugationEl::new); + m.put("ConnectionDefinition", ConnectionDefinitionEl::new); + m.put("ConnectionUsage", ConnectionUsageEl::new); + m.put("Connector", ConnectorEl::new); + m.put("ConstraintDefinition", ConstraintDefinitionEl::new); + m.put("ConstraintUsage", ConstraintUsageEl::new); + m.put("ConstructorExpression", ConstructorExpressionEl::new); + m.put("CrossSubsetting", CrossSubsettingEl::new); + m.put("DataType", DataTypeEl::new); + m.put("DecisionNode", DecisionNodeEl::new); + m.put("Definition", DefinitionEl::new); + m.put("Dependency", DependencyEl::new); + m.put("Differencing", DifferencingEl::new); + m.put("Disjoining", DisjoiningEl::new); + m.put("Documentation", DocumentationEl::new); + m.put("ElementFilterMembership", ElementFilterMembershipEl::new); + m.put("EndFeatureMembership", EndFeatureMembershipEl::new); + m.put("EnumerationDefinition", EnumerationDefinitionEl::new); + m.put("EnumerationUsage", EnumerationUsageEl::new); + m.put("EventOccurrenceUsage", EventOccurrenceUsageEl::new); + m.put("ExhibitStateUsage", ExhibitStateUsageEl::new); + m.put("Expression", ExpressionEl::new); + m.put("Feature", FeatureEl::new); + m.put("FeatureChainExpression", FeatureChainExpressionEl::new); + m.put("FeatureChaining", FeatureChainingEl::new); + m.put("FeatureInverting", FeatureInvertingEl::new); + m.put("FeatureMembership", FeatureMembershipEl::new); + m.put("FeatureReferenceExpression", FeatureReferenceExpressionEl::new); + m.put("FeatureTyping", FeatureTypingEl::new); + m.put("FeatureValue", FeatureValueEl::new); + m.put("Flow", FlowEl::new); + m.put("FlowDefinition", FlowDefinitionEl::new); + m.put("FlowEnd", FlowEndEl::new); + m.put("FlowUsage", FlowUsageEl::new); + m.put("ForLoopActionUsage", ForLoopActionUsageEl::new); + m.put("ForkNode", ForkNodeEl::new); + m.put("FramedConcernMembership", FramedConcernMembershipEl::new); + m.put("Function", FunctionEl::new); + m.put("IfActionUsage", IfActionUsageEl::new); + m.put("IncludeUseCaseUsage", IncludeUseCaseUsageEl::new); + m.put("IndexExpression", IndexExpressionEl::new); + m.put("Interaction", InteractionEl::new); + m.put("InterfaceDefinition", InterfaceDefinitionEl::new); + m.put("InterfaceUsage", InterfaceUsageEl::new); + m.put("Intersecting", IntersectingEl::new); + m.put("Invariant", InvariantEl::new); + m.put("InvocationExpression", InvocationExpressionEl::new); + m.put("ItemDefinition", ItemDefinitionEl::new); + m.put("ItemUsage", ItemUsageEl::new); + m.put("JoinNode", JoinNodeEl::new); + m.put("LibraryPackage", LibraryPackageEl::new); + m.put("LiteralBoolean", LiteralBooleanEl::new); + m.put("LiteralExpression", LiteralExpressionEl::new); + m.put("LiteralInfinity", LiteralInfinityEl::new); + m.put("LiteralInteger", LiteralIntegerEl::new); + m.put("LiteralRational", LiteralRationalEl::new); + m.put("LiteralString", LiteralStringEl::new); + m.put("Membership", MembershipEl::new); + m.put("MembershipExpose", MembershipExposeEl::new); + m.put("MembershipImport", MembershipImportEl::new); + m.put("MergeNode", MergeNodeEl::new); + m.put("Metaclass", MetaclassEl::new); + m.put("MetadataAccessExpression", MetadataAccessExpressionEl::new); + m.put("MetadataDefinition", MetadataDefinitionEl::new); + m.put("MetadataFeature", MetadataFeatureEl::new); + m.put("MetadataUsage", MetadataUsageEl::new); + m.put("Multiplicity", MultiplicityEl::new); + m.put("MultiplicityRange", MultiplicityRangeEl::new); + m.put("Namespace", NamespaceEl::new); + m.put("NamespaceExpose", NamespaceExposeEl::new); + m.put("NamespaceImport", NamespaceImportEl::new); + m.put("NullExpression", NullExpressionEl::new); + m.put("ObjectiveMembership", ObjectiveMembershipEl::new); + m.put("OccurrenceDefinition", OccurrenceDefinitionEl::new); + m.put("OccurrenceUsage", OccurrenceUsageEl::new); + m.put("OperatorExpression", OperatorExpressionEl::new); + m.put("OwningMembership", OwningMembershipEl::new); + m.put("Package", PackageEl::new); + m.put("ParameterMembership", ParameterMembershipEl::new); + m.put("PartDefinition", PartDefinitionEl::new); + m.put("PartUsage", PartUsageEl::new); + m.put("PayloadFeature", PayloadFeatureEl::new); + m.put("PerformActionUsage", PerformActionUsageEl::new); + m.put("PortConjugation", PortConjugationEl::new); + m.put("PortDefinition", PortDefinitionEl::new); + m.put("PortUsage", PortUsageEl::new); + m.put("Predicate", PredicateEl::new); + m.put("Redefinition", RedefinitionEl::new); + m.put("ReferenceSubsetting", ReferenceSubsettingEl::new); + m.put("ReferenceUsage", ReferenceUsageEl::new); + m.put("RenderingDefinition", RenderingDefinitionEl::new); + m.put("RenderingUsage", RenderingUsageEl::new); + m.put("RequirementConstraintMembership", RequirementConstraintMembershipEl::new); + m.put("RequirementDefinition", RequirementDefinitionEl::new); + m.put("RequirementUsage", RequirementUsageEl::new); + m.put("RequirementVerificationMembership", RequirementVerificationMembershipEl::new); + m.put("ResultExpressionMembership", ResultExpressionMembershipEl::new); + m.put("ReturnParameterMembership", ReturnParameterMembershipEl::new); + m.put("SatisfyRequirementUsage", SatisfyRequirementUsageEl::new); + m.put("SelectExpression", SelectExpressionEl::new); + m.put("SendActionUsage", SendActionUsageEl::new); + m.put("Specialization", SpecializationEl::new); + m.put("StakeholderMembership", StakeholderMembershipEl::new); + m.put("StateDefinition", StateDefinitionEl::new); + m.put("StateSubactionMembership", StateSubactionMembershipEl::new); + m.put("StateUsage", StateUsageEl::new); + m.put("Step", StepEl::new); + m.put("Structure", StructureEl::new); + m.put("Subclassification", SubclassificationEl::new); + m.put("SubjectMembership", SubjectMembershipEl::new); + m.put("Subsetting", SubsettingEl::new); + m.put("Succession", SuccessionEl::new); + m.put("SuccessionAsUsage", SuccessionAsUsageEl::new); + m.put("SuccessionFlow", SuccessionFlowEl::new); + m.put("SuccessionFlowUsage", SuccessionFlowUsageEl::new); + m.put("TerminateActionUsage", TerminateActionUsageEl::new); + m.put("TextualRepresentation", TextualRepresentationEl::new); + m.put("TransitionFeatureMembership", TransitionFeatureMembershipEl::new); + m.put("TransitionUsage", TransitionUsageEl::new); + m.put("TriggerInvocationExpression", TriggerInvocationExpressionEl::new); + m.put("Type", TypeEl::new); + m.put("TypeFeaturing", TypeFeaturingEl::new); + m.put("Unioning", UnioningEl::new); + m.put("Usage", UsageEl::new); + m.put("UseCaseDefinition", UseCaseDefinitionEl::new); + m.put("UseCaseUsage", UseCaseUsageEl::new); + m.put("VariantMembership", VariantMembershipEl::new); + m.put("VerificationCaseDefinition", VerificationCaseDefinitionEl::new); + m.put("VerificationCaseUsage", VerificationCaseUsageEl::new); + m.put("ViewDefinition", ViewDefinitionEl::new); + m.put("ViewRenderingMembership", ViewRenderingMembershipEl::new); + m.put("ViewUsage", ViewUsageEl::new); + m.put("ViewpointDefinition", ViewpointDefinitionEl::new); + m.put("ViewpointUsage", ViewpointUsageEl::new); + m.put("WhileLoopActionUsage", WhileLoopActionUsageEl::new); + return Collections.unmodifiableMap(m); + } +} diff --git a/java/src/org/openmbee/sysml/classes/Classifier.java b/java/src/org/openmbee/sysml/classes/Classifier.java new file mode 100644 index 0000000..b639b25 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Classifier.java @@ -0,0 +1,84 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Classifier extends Type { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/CollectExpression.java b/java/src/org/openmbee/sysml/classes/CollectExpression.java new file mode 100644 index 0000000..879db0c --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/CollectExpression.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface CollectExpression extends OperatorExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default String getOperator() { return $string($model().read(this, "operator")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Comment.java b/java/src/org/openmbee/sysml/classes/Comment.java new file mode 100644 index 0000000..9483a18 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Comment.java @@ -0,0 +1,35 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Comment extends AnnotatingElement { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAnnotatedElement() { return $list($model().read(this, "annotatedElement")); } + default java.util.List getAnnotation() { return $list($model().read(this, "annotation")); } + default String getBody() { return $string($model().read(this, "body")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getLocale() { return $string($model().read(this, "locale")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotatingRelationship() { return $list($model().read(this, "ownedAnnotatingRelationship")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Annotation getOwningAnnotatingRelationship() { return $ref($model().read(this, "owningAnnotatingRelationship")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConcernDefinition.java b/java/src/org/openmbee/sysml/classes/ConcernDefinition.java new file mode 100644 index 0000000..d457070 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConcernDefinition.java @@ -0,0 +1,130 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConcernDefinition extends RequirementDefinition { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConcernUsage.java b/java/src/org/openmbee/sysml/classes/ConcernUsage.java new file mode 100644 index 0000000..e43ed76 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConcernUsage.java @@ -0,0 +1,184 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConcernUsage extends RequirementUsage { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default ConcernDefinition getConcernDefinition() { return $ref($model().read(this, "concernDefinition")); } + default Predicate getConstraintDefinition() { return $ref($model().read(this, "constraintDefinition")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default RequirementDefinition getRequirementDefinition() { return $ref($model().read(this, "requirementDefinition")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConjugatedPortDefinition.java b/java/src/org/openmbee/sysml/classes/ConjugatedPortDefinition.java new file mode 100644 index 0000000..6012ab7 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConjugatedPortDefinition.java @@ -0,0 +1,120 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConjugatedPortDefinition extends PortDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default ConjugatedPortDefinition getConjugatedPortDefinition() { return $ref($model().read(this, "conjugatedPortDefinition")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default PortDefinition getOriginalPortDefinition() { return $ref($model().read(this, "originalPortDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default PortConjugation getOwnedPortConjugator() { return $ref($model().read(this, "ownedPortConjugator")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConjugatedPortTyping.java b/java/src/org/openmbee/sysml/classes/ConjugatedPortTyping.java new file mode 100644 index 0000000..330bb9f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConjugatedPortTyping.java @@ -0,0 +1,43 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConjugatedPortTyping extends FeatureTyping { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default ConjugatedPortDefinition getConjugatedPortDefinition() { return $ref($model().read(this, "conjugatedPortDefinition")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default PortDefinition getPortDefinition() { return $ref($model().read(this, "portDefinition")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Type getType() { return $ref($model().read(this, "type")); } + default Feature getTypedFeature() { return $ref($model().read(this, "typedFeature")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Conjugation.java b/java/src/org/openmbee/sysml/classes/Conjugation.java new file mode 100644 index 0000000..93910fe --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Conjugation.java @@ -0,0 +1,38 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Conjugation extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default Type getConjugatedType() { return $ref($model().read(this, "conjugatedType")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default Type getOriginalType() { return $ref($model().read(this, "originalType")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConnectionDefinition.java b/java/src/org/openmbee/sysml/classes/ConnectionDefinition.java new file mode 100644 index 0000000..01e6e02 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConnectionDefinition.java @@ -0,0 +1,128 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConnectionDefinition extends AssociationStructure, PartDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default java.util.List getConnectionEnd() { return $list($model().read(this, "connectionEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConnectionUsage.java b/java/src/org/openmbee/sysml/classes/ConnectionUsage.java new file mode 100644 index 0000000..295850b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConnectionUsage.java @@ -0,0 +1,179 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConnectionUsage extends PartUsage, ConnectorAsUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectionDefinition() { return $list($model().read(this, "connectionDefinition")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPartDefinition() { return $list($model().read(this, "partDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Connector.java b/java/src/org/openmbee/sysml/classes/Connector.java new file mode 100644 index 0000000..0332c27 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Connector.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Connector extends Feature, Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConnectorAsUsage.java b/java/src/org/openmbee/sysml/classes/ConnectorAsUsage.java new file mode 100644 index 0000000..f4bbdb6 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConnectorAsUsage.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — SysML 20250201. */ +public interface ConnectorAsUsage extends Usage, Connector { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConstraintDefinition.java b/java/src/org/openmbee/sysml/classes/ConstraintDefinition.java new file mode 100644 index 0000000..5c89eb8 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConstraintDefinition.java @@ -0,0 +1,122 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConstraintDefinition extends OccurrenceDefinition, Predicate { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConstraintUsage.java b/java/src/org/openmbee/sysml/classes/ConstraintUsage.java new file mode 100644 index 0000000..f57b9c4 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConstraintUsage.java @@ -0,0 +1,174 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ConstraintUsage extends OccurrenceUsage, BooleanExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Predicate getConstraintDefinition() { return $ref($model().read(this, "constraintDefinition")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ConstructorExpression.java b/java/src/org/openmbee/sysml/classes/ConstructorExpression.java new file mode 100644 index 0000000..3735aa8 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ConstructorExpression.java @@ -0,0 +1,133 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface ConstructorExpression extends InstantiationExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ControlNode.java b/java/src/org/openmbee/sysml/classes/ControlNode.java new file mode 100644 index 0000000..33e4984 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ControlNode.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — SysML 20250201. */ +public interface ControlNode extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default Boolean multiplicityHasBounds(Multiplicity mult, Long lower, Long upper) { return $bool($model().call(this, "multiplicityHasBounds", new Object[] {mult, lower, upper})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/CrossSubsetting.java b/java/src/org/openmbee/sysml/classes/CrossSubsetting.java new file mode 100644 index 0000000..439a2d0 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/CrossSubsetting.java @@ -0,0 +1,43 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface CrossSubsetting extends Subsetting { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default Feature getCrossedFeature() { return $ref($model().read(this, "crossedFeature")); } + default Feature getCrossingFeature() { return $ref($model().read(this, "crossingFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default Feature getSubsettedFeature() { return $ref($model().read(this, "subsettedFeature")); } + default Feature getSubsettingFeature() { return $ref($model().read(this, "subsettingFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/DataType.java b/java/src/org/openmbee/sysml/classes/DataType.java new file mode 100644 index 0000000..aa51018 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/DataType.java @@ -0,0 +1,84 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface DataType extends Classifier { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/DecisionNode.java b/java/src/org/openmbee/sysml/classes/DecisionNode.java new file mode 100644 index 0000000..e692dbd --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/DecisionNode.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface DecisionNode extends ControlNode { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default Boolean multiplicityHasBounds(Multiplicity mult, Long lower, Long upper) { return $bool($model().call(this, "multiplicityHasBounds", new Object[] {mult, lower, upper})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Definition.java b/java/src/org/openmbee/sysml/classes/Definition.java new file mode 100644 index 0000000..9d22329 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Definition.java @@ -0,0 +1,116 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface Definition extends Classifier { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Dependency.java b/java/src/org/openmbee/sysml/classes/Dependency.java new file mode 100644 index 0000000..f613ddb --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Dependency.java @@ -0,0 +1,37 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Dependency extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getClient() { return $list($model().read(this, "client")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getSupplier() { return $list($model().read(this, "supplier")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Differencing.java b/java/src/org/openmbee/sysml/classes/Differencing.java new file mode 100644 index 0000000..b2b4ed9 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Differencing.java @@ -0,0 +1,37 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Differencing extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDifferencingType() { return $ref($model().read(this, "differencingType")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Type getTypeDifferenced() { return $ref($model().read(this, "typeDifferenced")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Disjoining.java b/java/src/org/openmbee/sysml/classes/Disjoining.java new file mode 100644 index 0000000..8cdbf20 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Disjoining.java @@ -0,0 +1,38 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Disjoining extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDisjoiningType() { return $ref($model().read(this, "disjoiningType")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Type getTypeDisjoined() { return $ref($model().read(this, "typeDisjoined")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Documentation.java b/java/src/org/openmbee/sysml/classes/Documentation.java new file mode 100644 index 0000000..104a43a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Documentation.java @@ -0,0 +1,36 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Documentation extends Comment { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAnnotatedElement() { return $list($model().read(this, "annotatedElement")); } + default java.util.List getAnnotation() { return $list($model().read(this, "annotation")); } + default String getBody() { return $string($model().read(this, "body")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default org.openmbee.sysml.Element getDocumentedElement() { return $ref($model().read(this, "documentedElement")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getLocale() { return $string($model().read(this, "locale")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotatingRelationship() { return $list($model().read(this, "ownedAnnotatingRelationship")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Annotation getOwningAnnotatingRelationship() { return $ref($model().read(this, "owningAnnotatingRelationship")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ElementFilterMembership.java b/java/src/org/openmbee/sysml/classes/ElementFilterMembership.java new file mode 100644 index 0000000..e2638f9 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ElementFilterMembership.java @@ -0,0 +1,47 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface ElementFilterMembership extends OwningMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default Expression getCondition() { return $ref($model().read(this, "condition")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/EndFeatureMembership.java b/java/src/org/openmbee/sysml/classes/EndFeatureMembership.java new file mode 100644 index 0000000..8180fd6 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/EndFeatureMembership.java @@ -0,0 +1,48 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface EndFeatureMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/EnumerationDefinition.java b/java/src/org/openmbee/sysml/classes/EnumerationDefinition.java new file mode 100644 index 0000000..5601494 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/EnumerationDefinition.java @@ -0,0 +1,117 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface EnumerationDefinition extends AttributeDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getEnumeratedValue() { return $list($model().read(this, "enumeratedValue")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/EnumerationUsage.java b/java/src/org/openmbee/sysml/classes/EnumerationUsage.java new file mode 100644 index 0000000..2af65d6 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/EnumerationUsage.java @@ -0,0 +1,162 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface EnumerationUsage extends AttributeUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAttributeDefinition() { return $list($model().read(this, "attributeDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default EnumerationDefinition getEnumerationDefinition() { return $ref($model().read(this, "enumerationDefinition")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/EventOccurrenceUsage.java b/java/src/org/openmbee/sysml/classes/EventOccurrenceUsage.java new file mode 100644 index 0000000..fa2f163 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/EventOccurrenceUsage.java @@ -0,0 +1,165 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface EventOccurrenceUsage extends OccurrenceUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default OccurrenceUsage getEventOccurrence() { return $ref($model().read(this, "eventOccurrence")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ExhibitStateUsage.java b/java/src/org/openmbee/sysml/classes/ExhibitStateUsage.java new file mode 100644 index 0000000..7ce14c0 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ExhibitStateUsage.java @@ -0,0 +1,180 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ExhibitStateUsage extends PerformActionUsage, StateUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default ActionUsage getDoAction() { return $ref($model().read(this, "doAction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default ActionUsage getEntryAction() { return $ref($model().read(this, "entryAction")); } + default OccurrenceUsage getEventOccurrence() { return $ref($model().read(this, "eventOccurrence")); } + default StateUsage getExhibitedState() { return $ref($model().read(this, "exhibitedState")); } + default ActionUsage getExitAction() { return $ref($model().read(this, "exitAction")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsParallel() { return $bool($model().read(this, "isParallel")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default ActionUsage getPerformedAction() { return $ref($model().read(this, "performedAction")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStateDefinition() { return $list($model().read(this, "stateDefinition")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Boolean isSubstateUsage(Boolean isParallel) { return $bool($model().call(this, "isSubstateUsage", new Object[] {isParallel})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Expose.java b/java/src/org/openmbee/sysml/classes/Expose.java new file mode 100644 index 0000000..1bd580b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Expose.java @@ -0,0 +1,41 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — SysML 20250201. */ +public interface Expose extends Import { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Namespace getImportOwningNamespace() { return $ref($model().read(this, "importOwningNamespace")); } + default org.openmbee.sysml.Element getImportedElement() { return $ref($model().read(this, "importedElement")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsImportAll() { return $bool($model().read(this, "isImportAll")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsRecursive() { return $bool($model().read(this, "isRecursive")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Expression.java b/java/src/org/openmbee/sysml/classes/Expression.java new file mode 100644 index 0000000..e4f39c3 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Expression.java @@ -0,0 +1,130 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Expression extends Step { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Feature.java b/java/src/org/openmbee/sysml/classes/Feature.java new file mode 100644 index 0000000..91c9801 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Feature.java @@ -0,0 +1,122 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Feature extends Type { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureChainExpression.java b/java/src/org/openmbee/sysml/classes/FeatureChainExpression.java new file mode 100644 index 0000000..32c23f2 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureChainExpression.java @@ -0,0 +1,136 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureChainExpression extends OperatorExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default String getOperator() { return $string($model().read(this, "operator")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Feature getTargetFeature() { return $ref($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Feature sourceTargetFeature() { return $ref($model().call(this, "sourceTargetFeature", new Object[] {})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureChaining.java b/java/src/org/openmbee/sysml/classes/FeatureChaining.java new file mode 100644 index 0000000..8b46266 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureChaining.java @@ -0,0 +1,37 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureChaining extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default Feature getChainingFeature() { return $ref($model().read(this, "chainingFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Feature getFeatureChained() { return $ref($model().read(this, "featureChained")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureInverting.java b/java/src/org/openmbee/sysml/classes/FeatureInverting.java new file mode 100644 index 0000000..e255f8d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureInverting.java @@ -0,0 +1,38 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureInverting extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Feature getFeatureInverted() { return $ref($model().read(this, "featureInverted")); } + default Feature getInvertingFeature() { return $ref($model().read(this, "invertingFeature")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureMembership.java b/java/src/org/openmbee/sysml/classes/FeatureMembership.java new file mode 100644 index 0000000..7e4cc0b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureMembership.java @@ -0,0 +1,48 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureMembership extends OwningMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureReferenceExpression.java b/java/src/org/openmbee/sysml/classes/FeatureReferenceExpression.java new file mode 100644 index 0000000..cadee1e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureReferenceExpression.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureReferenceExpression extends Expression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getReferent() { return $ref($model().read(this, "referent")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureTyping.java b/java/src/org/openmbee/sysml/classes/FeatureTyping.java new file mode 100644 index 0000000..f3eb2a0 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureTyping.java @@ -0,0 +1,41 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureTyping extends Specialization { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Type getType() { return $ref($model().read(this, "type")); } + default Feature getTypedFeature() { return $ref($model().read(this, "typedFeature")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FeatureValue.java b/java/src/org/openmbee/sysml/classes/FeatureValue.java new file mode 100644 index 0000000..2648dd7 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FeatureValue.java @@ -0,0 +1,50 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FeatureValue extends OwningMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Feature getFeatureWithValue() { return $ref($model().read(this, "featureWithValue")); } + default Boolean getIsDefault() { return $bool($model().read(this, "isDefault")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsInitial() { return $bool($model().read(this, "isInitial")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Expression getValue() { return $ref($model().read(this, "value")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Flow.java b/java/src/org/openmbee/sysml/classes/Flow.java new file mode 100644 index 0000000..82db716 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Flow.java @@ -0,0 +1,142 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Flow extends Connector, Step { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFlowEnd() { return $list($model().read(this, "flowEnd")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getInteraction() { return $list($model().read(this, "interaction")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default PayloadFeature getPayloadFeature() { return $ref($model().read(this, "payloadFeature")); } + default java.util.List getPayloadType() { return $list($model().read(this, "payloadType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default Feature getSourceOutputFeature() { return $ref($model().read(this, "sourceOutputFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default Feature getTargetInputFeature() { return $ref($model().read(this, "targetInputFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FlowDefinition.java b/java/src/org/openmbee/sysml/classes/FlowDefinition.java new file mode 100644 index 0000000..61dfb53 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FlowDefinition.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface FlowDefinition extends ActionDefinition, Interaction { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getFlowEnd() { return $list($model().read(this, "flowEnd")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FlowEnd.java b/java/src/org/openmbee/sysml/classes/FlowEnd.java new file mode 100644 index 0000000..060e395 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FlowEnd.java @@ -0,0 +1,122 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface FlowEnd extends Feature { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FlowUsage.java b/java/src/org/openmbee/sysml/classes/FlowUsage.java new file mode 100644 index 0000000..2501b1d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FlowUsage.java @@ -0,0 +1,190 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface FlowUsage extends ConnectorAsUsage, Flow, ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFlowDefinition() { return $list($model().read(this, "flowDefinition")); } + default java.util.List getFlowEnd() { return $list($model().read(this, "flowEnd")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getInteraction() { return $list($model().read(this, "interaction")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default PayloadFeature getPayloadFeature() { return $ref($model().read(this, "payloadFeature")); } + default java.util.List getPayloadType() { return $list($model().read(this, "payloadType")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default Feature getSourceOutputFeature() { return $ref($model().read(this, "sourceOutputFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default Feature getTargetInputFeature() { return $ref($model().read(this, "targetInputFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ForLoopActionUsage.java b/java/src/org/openmbee/sysml/classes/ForLoopActionUsage.java new file mode 100644 index 0000000..c8ccb58 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ForLoopActionUsage.java @@ -0,0 +1,174 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ForLoopActionUsage extends LoopActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default ActionUsage getBodyAction() { return $ref($model().read(this, "bodyAction")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default ReferenceUsage getLoopVariable() { return $ref($model().read(this, "loopVariable")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Expression getSeqArgument() { return $ref($model().read(this, "seqArgument")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ForkNode.java b/java/src/org/openmbee/sysml/classes/ForkNode.java new file mode 100644 index 0000000..dd22297 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ForkNode.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ForkNode extends ControlNode { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default Boolean multiplicityHasBounds(Multiplicity mult, Long lower, Long upper) { return $bool($model().call(this, "multiplicityHasBounds", new Object[] {mult, lower, upper})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/FramedConcernMembership.java b/java/src/org/openmbee/sysml/classes/FramedConcernMembership.java new file mode 100644 index 0000000..72fbc1e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/FramedConcernMembership.java @@ -0,0 +1,53 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface FramedConcernMembership extends RequirementConstraintMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getKind() { return $string($model().read(this, "kind")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default ConcernUsage getOwnedConcern() { return $ref($model().read(this, "ownedConcern")); } + default ConstraintUsage getOwnedConstraint() { return $ref($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default ConcernUsage getReferencedConcern() { return $ref($model().read(this, "referencedConcern")); } + default ConstraintUsage getReferencedConstraint() { return $ref($model().read(this, "referencedConstraint")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Function.java b/java/src/org/openmbee/sysml/classes/Function.java new file mode 100644 index 0000000..b5184f5 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Function.java @@ -0,0 +1,89 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Function extends Behavior { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/IfActionUsage.java b/java/src/org/openmbee/sysml/classes/IfActionUsage.java new file mode 100644 index 0000000..036791a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/IfActionUsage.java @@ -0,0 +1,174 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface IfActionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default ActionUsage getElseAction() { return $ref($model().read(this, "elseAction")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Expression getIfArgument() { return $ref($model().read(this, "ifArgument")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default ActionUsage getThenAction() { return $ref($model().read(this, "thenAction")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Impls.java b/java/src/org/openmbee/sysml/classes/Impls.java new file mode 100644 index 0000000..eab39f5 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Impls.java @@ -0,0 +1,675 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +// One file may hold many non-public top-level classes; every impl +// is an empty shell — behavior lives on the interfaces. +package org.openmbee.sysml.classes; + +import org.openmbee.sysml.El; +import org.openmbee.sysml.Model; + +final class AcceptActionUsageEl extends El implements AcceptActionUsage { + AcceptActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ActionDefinitionEl extends El implements ActionDefinition { + ActionDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ActionUsageEl extends El implements ActionUsage { + ActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ActorMembershipEl extends El implements ActorMembership { + ActorMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class AllocationDefinitionEl extends El implements AllocationDefinition { + AllocationDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class AllocationUsageEl extends El implements AllocationUsage { + AllocationUsageEl(Model model, String handle) { super(model, handle); } +} + +final class AnalysisCaseDefinitionEl extends El implements AnalysisCaseDefinition { + AnalysisCaseDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class AnalysisCaseUsageEl extends El implements AnalysisCaseUsage { + AnalysisCaseUsageEl(Model model, String handle) { super(model, handle); } +} + +final class AnnotatingElementEl extends El implements AnnotatingElement { + AnnotatingElementEl(Model model, String handle) { super(model, handle); } +} + +final class AnnotationEl extends El implements Annotation { + AnnotationEl(Model model, String handle) { super(model, handle); } +} + +final class AssertConstraintUsageEl extends El implements AssertConstraintUsage { + AssertConstraintUsageEl(Model model, String handle) { super(model, handle); } +} + +final class AssignmentActionUsageEl extends El implements AssignmentActionUsage { + AssignmentActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class AssociationEl extends El implements Association { + AssociationEl(Model model, String handle) { super(model, handle); } +} + +final class AssociationStructureEl extends El implements AssociationStructure { + AssociationStructureEl(Model model, String handle) { super(model, handle); } +} + +final class AttributeDefinitionEl extends El implements AttributeDefinition { + AttributeDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class AttributeUsageEl extends El implements AttributeUsage { + AttributeUsageEl(Model model, String handle) { super(model, handle); } +} + +final class BehaviorEl extends El implements Behavior { + BehaviorEl(Model model, String handle) { super(model, handle); } +} + +final class BindingConnectorEl extends El implements BindingConnector { + BindingConnectorEl(Model model, String handle) { super(model, handle); } +} + +final class BindingConnectorAsUsageEl extends El implements BindingConnectorAsUsage { + BindingConnectorAsUsageEl(Model model, String handle) { super(model, handle); } +} + +final class BooleanExpressionEl extends El implements BooleanExpression { + BooleanExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class CalculationDefinitionEl extends El implements CalculationDefinition { + CalculationDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class CalculationUsageEl extends El implements CalculationUsage { + CalculationUsageEl(Model model, String handle) { super(model, handle); } +} + +final class CaseDefinitionEl extends El implements CaseDefinition { + CaseDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class CaseUsageEl extends El implements CaseUsage { + CaseUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ClassEl extends El implements Class { + ClassEl(Model model, String handle) { super(model, handle); } +} + +final class ClassifierEl extends El implements Classifier { + ClassifierEl(Model model, String handle) { super(model, handle); } +} + +final class CollectExpressionEl extends El implements CollectExpression { + CollectExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class CommentEl extends El implements Comment { + CommentEl(Model model, String handle) { super(model, handle); } +} + +final class ConcernDefinitionEl extends El implements ConcernDefinition { + ConcernDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ConcernUsageEl extends El implements ConcernUsage { + ConcernUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ConjugatedPortDefinitionEl extends El implements ConjugatedPortDefinition { + ConjugatedPortDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ConjugatedPortTypingEl extends El implements ConjugatedPortTyping { + ConjugatedPortTypingEl(Model model, String handle) { super(model, handle); } +} + +final class ConjugationEl extends El implements Conjugation { + ConjugationEl(Model model, String handle) { super(model, handle); } +} + +final class ConnectionDefinitionEl extends El implements ConnectionDefinition { + ConnectionDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ConnectionUsageEl extends El implements ConnectionUsage { + ConnectionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ConnectorEl extends El implements Connector { + ConnectorEl(Model model, String handle) { super(model, handle); } +} + +final class ConstraintDefinitionEl extends El implements ConstraintDefinition { + ConstraintDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ConstraintUsageEl extends El implements ConstraintUsage { + ConstraintUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ConstructorExpressionEl extends El implements ConstructorExpression { + ConstructorExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class CrossSubsettingEl extends El implements CrossSubsetting { + CrossSubsettingEl(Model model, String handle) { super(model, handle); } +} + +final class DataTypeEl extends El implements DataType { + DataTypeEl(Model model, String handle) { super(model, handle); } +} + +final class DecisionNodeEl extends El implements DecisionNode { + DecisionNodeEl(Model model, String handle) { super(model, handle); } +} + +final class DefinitionEl extends El implements Definition { + DefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class DependencyEl extends El implements Dependency { + DependencyEl(Model model, String handle) { super(model, handle); } +} + +final class DifferencingEl extends El implements Differencing { + DifferencingEl(Model model, String handle) { super(model, handle); } +} + +final class DisjoiningEl extends El implements Disjoining { + DisjoiningEl(Model model, String handle) { super(model, handle); } +} + +final class DocumentationEl extends El implements Documentation { + DocumentationEl(Model model, String handle) { super(model, handle); } +} + +final class ElementFilterMembershipEl extends El implements ElementFilterMembership { + ElementFilterMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class EndFeatureMembershipEl extends El implements EndFeatureMembership { + EndFeatureMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class EnumerationDefinitionEl extends El implements EnumerationDefinition { + EnumerationDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class EnumerationUsageEl extends El implements EnumerationUsage { + EnumerationUsageEl(Model model, String handle) { super(model, handle); } +} + +final class EventOccurrenceUsageEl extends El implements EventOccurrenceUsage { + EventOccurrenceUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ExhibitStateUsageEl extends El implements ExhibitStateUsage { + ExhibitStateUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ExpressionEl extends El implements Expression { + ExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureEl extends El implements Feature { + FeatureEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureChainExpressionEl extends El implements FeatureChainExpression { + FeatureChainExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureChainingEl extends El implements FeatureChaining { + FeatureChainingEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureInvertingEl extends El implements FeatureInverting { + FeatureInvertingEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureMembershipEl extends El implements FeatureMembership { + FeatureMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureReferenceExpressionEl extends El implements FeatureReferenceExpression { + FeatureReferenceExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureTypingEl extends El implements FeatureTyping { + FeatureTypingEl(Model model, String handle) { super(model, handle); } +} + +final class FeatureValueEl extends El implements FeatureValue { + FeatureValueEl(Model model, String handle) { super(model, handle); } +} + +final class FlowEl extends El implements Flow { + FlowEl(Model model, String handle) { super(model, handle); } +} + +final class FlowDefinitionEl extends El implements FlowDefinition { + FlowDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class FlowEndEl extends El implements FlowEnd { + FlowEndEl(Model model, String handle) { super(model, handle); } +} + +final class FlowUsageEl extends El implements FlowUsage { + FlowUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ForLoopActionUsageEl extends El implements ForLoopActionUsage { + ForLoopActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ForkNodeEl extends El implements ForkNode { + ForkNodeEl(Model model, String handle) { super(model, handle); } +} + +final class FramedConcernMembershipEl extends El implements FramedConcernMembership { + FramedConcernMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class FunctionEl extends El implements Function { + FunctionEl(Model model, String handle) { super(model, handle); } +} + +final class IfActionUsageEl extends El implements IfActionUsage { + IfActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class IncludeUseCaseUsageEl extends El implements IncludeUseCaseUsage { + IncludeUseCaseUsageEl(Model model, String handle) { super(model, handle); } +} + +final class IndexExpressionEl extends El implements IndexExpression { + IndexExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class InteractionEl extends El implements Interaction { + InteractionEl(Model model, String handle) { super(model, handle); } +} + +final class InterfaceDefinitionEl extends El implements InterfaceDefinition { + InterfaceDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class InterfaceUsageEl extends El implements InterfaceUsage { + InterfaceUsageEl(Model model, String handle) { super(model, handle); } +} + +final class IntersectingEl extends El implements Intersecting { + IntersectingEl(Model model, String handle) { super(model, handle); } +} + +final class InvariantEl extends El implements Invariant { + InvariantEl(Model model, String handle) { super(model, handle); } +} + +final class InvocationExpressionEl extends El implements InvocationExpression { + InvocationExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class ItemDefinitionEl extends El implements ItemDefinition { + ItemDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ItemUsageEl extends El implements ItemUsage { + ItemUsageEl(Model model, String handle) { super(model, handle); } +} + +final class JoinNodeEl extends El implements JoinNode { + JoinNodeEl(Model model, String handle) { super(model, handle); } +} + +final class LibraryPackageEl extends El implements LibraryPackage { + LibraryPackageEl(Model model, String handle) { super(model, handle); } +} + +final class LiteralBooleanEl extends El implements LiteralBoolean { + LiteralBooleanEl(Model model, String handle) { super(model, handle); } +} + +final class LiteralExpressionEl extends El implements LiteralExpression { + LiteralExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class LiteralInfinityEl extends El implements LiteralInfinity { + LiteralInfinityEl(Model model, String handle) { super(model, handle); } +} + +final class LiteralIntegerEl extends El implements LiteralInteger { + LiteralIntegerEl(Model model, String handle) { super(model, handle); } +} + +final class LiteralRationalEl extends El implements LiteralRational { + LiteralRationalEl(Model model, String handle) { super(model, handle); } +} + +final class LiteralStringEl extends El implements LiteralString { + LiteralStringEl(Model model, String handle) { super(model, handle); } +} + +final class MembershipEl extends El implements Membership { + MembershipEl(Model model, String handle) { super(model, handle); } +} + +final class MembershipExposeEl extends El implements MembershipExpose { + MembershipExposeEl(Model model, String handle) { super(model, handle); } +} + +final class MembershipImportEl extends El implements MembershipImport { + MembershipImportEl(Model model, String handle) { super(model, handle); } +} + +final class MergeNodeEl extends El implements MergeNode { + MergeNodeEl(Model model, String handle) { super(model, handle); } +} + +final class MetaclassEl extends El implements Metaclass { + MetaclassEl(Model model, String handle) { super(model, handle); } +} + +final class MetadataAccessExpressionEl extends El implements MetadataAccessExpression { + MetadataAccessExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class MetadataDefinitionEl extends El implements MetadataDefinition { + MetadataDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class MetadataFeatureEl extends El implements MetadataFeature { + MetadataFeatureEl(Model model, String handle) { super(model, handle); } +} + +final class MetadataUsageEl extends El implements MetadataUsage { + MetadataUsageEl(Model model, String handle) { super(model, handle); } +} + +final class MultiplicityEl extends El implements Multiplicity { + MultiplicityEl(Model model, String handle) { super(model, handle); } +} + +final class MultiplicityRangeEl extends El implements MultiplicityRange { + MultiplicityRangeEl(Model model, String handle) { super(model, handle); } +} + +final class NamespaceEl extends El implements Namespace { + NamespaceEl(Model model, String handle) { super(model, handle); } +} + +final class NamespaceExposeEl extends El implements NamespaceExpose { + NamespaceExposeEl(Model model, String handle) { super(model, handle); } +} + +final class NamespaceImportEl extends El implements NamespaceImport { + NamespaceImportEl(Model model, String handle) { super(model, handle); } +} + +final class NullExpressionEl extends El implements NullExpression { + NullExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class ObjectiveMembershipEl extends El implements ObjectiveMembership { + ObjectiveMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class OccurrenceDefinitionEl extends El implements OccurrenceDefinition { + OccurrenceDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class OccurrenceUsageEl extends El implements OccurrenceUsage { + OccurrenceUsageEl(Model model, String handle) { super(model, handle); } +} + +final class OperatorExpressionEl extends El implements OperatorExpression { + OperatorExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class OwningMembershipEl extends El implements OwningMembership { + OwningMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class PackageEl extends El implements Package { + PackageEl(Model model, String handle) { super(model, handle); } +} + +final class ParameterMembershipEl extends El implements ParameterMembership { + ParameterMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class PartDefinitionEl extends El implements PartDefinition { + PartDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class PartUsageEl extends El implements PartUsage { + PartUsageEl(Model model, String handle) { super(model, handle); } +} + +final class PayloadFeatureEl extends El implements PayloadFeature { + PayloadFeatureEl(Model model, String handle) { super(model, handle); } +} + +final class PerformActionUsageEl extends El implements PerformActionUsage { + PerformActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class PortConjugationEl extends El implements PortConjugation { + PortConjugationEl(Model model, String handle) { super(model, handle); } +} + +final class PortDefinitionEl extends El implements PortDefinition { + PortDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class PortUsageEl extends El implements PortUsage { + PortUsageEl(Model model, String handle) { super(model, handle); } +} + +final class PredicateEl extends El implements Predicate { + PredicateEl(Model model, String handle) { super(model, handle); } +} + +final class RedefinitionEl extends El implements Redefinition { + RedefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ReferenceSubsettingEl extends El implements ReferenceSubsetting { + ReferenceSubsettingEl(Model model, String handle) { super(model, handle); } +} + +final class ReferenceUsageEl extends El implements ReferenceUsage { + ReferenceUsageEl(Model model, String handle) { super(model, handle); } +} + +final class RenderingDefinitionEl extends El implements RenderingDefinition { + RenderingDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class RenderingUsageEl extends El implements RenderingUsage { + RenderingUsageEl(Model model, String handle) { super(model, handle); } +} + +final class RequirementConstraintMembershipEl extends El implements RequirementConstraintMembership { + RequirementConstraintMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class RequirementDefinitionEl extends El implements RequirementDefinition { + RequirementDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class RequirementUsageEl extends El implements RequirementUsage { + RequirementUsageEl(Model model, String handle) { super(model, handle); } +} + +final class RequirementVerificationMembershipEl extends El implements RequirementVerificationMembership { + RequirementVerificationMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class ResultExpressionMembershipEl extends El implements ResultExpressionMembership { + ResultExpressionMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class ReturnParameterMembershipEl extends El implements ReturnParameterMembership { + ReturnParameterMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class SatisfyRequirementUsageEl extends El implements SatisfyRequirementUsage { + SatisfyRequirementUsageEl(Model model, String handle) { super(model, handle); } +} + +final class SelectExpressionEl extends El implements SelectExpression { + SelectExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class SendActionUsageEl extends El implements SendActionUsage { + SendActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class SpecializationEl extends El implements Specialization { + SpecializationEl(Model model, String handle) { super(model, handle); } +} + +final class StakeholderMembershipEl extends El implements StakeholderMembership { + StakeholderMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class StateDefinitionEl extends El implements StateDefinition { + StateDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class StateSubactionMembershipEl extends El implements StateSubactionMembership { + StateSubactionMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class StateUsageEl extends El implements StateUsage { + StateUsageEl(Model model, String handle) { super(model, handle); } +} + +final class StepEl extends El implements Step { + StepEl(Model model, String handle) { super(model, handle); } +} + +final class StructureEl extends El implements Structure { + StructureEl(Model model, String handle) { super(model, handle); } +} + +final class SubclassificationEl extends El implements Subclassification { + SubclassificationEl(Model model, String handle) { super(model, handle); } +} + +final class SubjectMembershipEl extends El implements SubjectMembership { + SubjectMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class SubsettingEl extends El implements Subsetting { + SubsettingEl(Model model, String handle) { super(model, handle); } +} + +final class SuccessionEl extends El implements Succession { + SuccessionEl(Model model, String handle) { super(model, handle); } +} + +final class SuccessionAsUsageEl extends El implements SuccessionAsUsage { + SuccessionAsUsageEl(Model model, String handle) { super(model, handle); } +} + +final class SuccessionFlowEl extends El implements SuccessionFlow { + SuccessionFlowEl(Model model, String handle) { super(model, handle); } +} + +final class SuccessionFlowUsageEl extends El implements SuccessionFlowUsage { + SuccessionFlowUsageEl(Model model, String handle) { super(model, handle); } +} + +final class TerminateActionUsageEl extends El implements TerminateActionUsage { + TerminateActionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class TextualRepresentationEl extends El implements TextualRepresentation { + TextualRepresentationEl(Model model, String handle) { super(model, handle); } +} + +final class TransitionFeatureMembershipEl extends El implements TransitionFeatureMembership { + TransitionFeatureMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class TransitionUsageEl extends El implements TransitionUsage { + TransitionUsageEl(Model model, String handle) { super(model, handle); } +} + +final class TriggerInvocationExpressionEl extends El implements TriggerInvocationExpression { + TriggerInvocationExpressionEl(Model model, String handle) { super(model, handle); } +} + +final class TypeEl extends El implements Type { + TypeEl(Model model, String handle) { super(model, handle); } +} + +final class TypeFeaturingEl extends El implements TypeFeaturing { + TypeFeaturingEl(Model model, String handle) { super(model, handle); } +} + +final class UnioningEl extends El implements Unioning { + UnioningEl(Model model, String handle) { super(model, handle); } +} + +final class UsageEl extends El implements Usage { + UsageEl(Model model, String handle) { super(model, handle); } +} + +final class UseCaseDefinitionEl extends El implements UseCaseDefinition { + UseCaseDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class UseCaseUsageEl extends El implements UseCaseUsage { + UseCaseUsageEl(Model model, String handle) { super(model, handle); } +} + +final class VariantMembershipEl extends El implements VariantMembership { + VariantMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class VerificationCaseDefinitionEl extends El implements VerificationCaseDefinition { + VerificationCaseDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class VerificationCaseUsageEl extends El implements VerificationCaseUsage { + VerificationCaseUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ViewDefinitionEl extends El implements ViewDefinition { + ViewDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ViewRenderingMembershipEl extends El implements ViewRenderingMembership { + ViewRenderingMembershipEl(Model model, String handle) { super(model, handle); } +} + +final class ViewUsageEl extends El implements ViewUsage { + ViewUsageEl(Model model, String handle) { super(model, handle); } +} + +final class ViewpointDefinitionEl extends El implements ViewpointDefinition { + ViewpointDefinitionEl(Model model, String handle) { super(model, handle); } +} + +final class ViewpointUsageEl extends El implements ViewpointUsage { + ViewpointUsageEl(Model model, String handle) { super(model, handle); } +} + +final class WhileLoopActionUsageEl extends El implements WhileLoopActionUsage { + WhileLoopActionUsageEl(Model model, String handle) { super(model, handle); } +} diff --git a/java/src/org/openmbee/sysml/classes/Import.java b/java/src/org/openmbee/sysml/classes/Import.java new file mode 100644 index 0000000..0e442ae --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Import.java @@ -0,0 +1,41 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — KerML 20250201. */ +public interface Import extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Namespace getImportOwningNamespace() { return $ref($model().read(this, "importOwningNamespace")); } + default org.openmbee.sysml.Element getImportedElement() { return $ref($model().read(this, "importedElement")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsImportAll() { return $bool($model().read(this, "isImportAll")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsRecursive() { return $bool($model().read(this, "isRecursive")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/IncludeUseCaseUsage.java b/java/src/org/openmbee/sysml/classes/IncludeUseCaseUsage.java new file mode 100644 index 0000000..4a4aa6d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/IncludeUseCaseUsage.java @@ -0,0 +1,187 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface IncludeUseCaseUsage extends UseCaseUsage, PerformActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default Function getCalculationDefinition() { return $ref($model().read(this, "calculationDefinition")); } + default CaseDefinition getCaseDefinition() { return $ref($model().read(this, "caseDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default OccurrenceUsage getEventOccurrence() { return $ref($model().read(this, "eventOccurrence")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getIncludedUseCase() { return $list($model().read(this, "includedUseCase")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default ActionUsage getPerformedAction() { return $ref($model().read(this, "performedAction")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default UseCaseDefinition getUseCaseDefinition() { return $ref($model().read(this, "useCaseDefinition")); } + default UseCaseUsage getUseCaseIncluded() { return $ref($model().read(this, "useCaseIncluded")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/IndexExpression.java b/java/src/org/openmbee/sysml/classes/IndexExpression.java new file mode 100644 index 0000000..e544bbe --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/IndexExpression.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface IndexExpression extends OperatorExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default String getOperator() { return $string($model().read(this, "operator")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/InstantiationExpression.java b/java/src/org/openmbee/sysml/classes/InstantiationExpression.java new file mode 100644 index 0000000..e472893 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/InstantiationExpression.java @@ -0,0 +1,133 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — KerML 20250201. */ +public interface InstantiationExpression extends Expression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Interaction.java b/java/src/org/openmbee/sysml/classes/Interaction.java new file mode 100644 index 0000000..fe5a024 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Interaction.java @@ -0,0 +1,96 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Interaction extends Association, Behavior { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/InterfaceDefinition.java b/java/src/org/openmbee/sysml/classes/InterfaceDefinition.java new file mode 100644 index 0000000..bcb261f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/InterfaceDefinition.java @@ -0,0 +1,129 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface InterfaceDefinition extends ConnectionDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociationEnd() { return $list($model().read(this, "associationEnd")); } + default java.util.List getConnectionEnd() { return $list($model().read(this, "connectionEnd")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getInterfaceEnd() { return $list($model().read(this, "interfaceEnd")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedType() { return $list($model().read(this, "relatedType")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSourceType() { return $ref($model().read(this, "sourceType")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetType() { return $list($model().read(this, "targetType")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/InterfaceUsage.java b/java/src/org/openmbee/sysml/classes/InterfaceUsage.java new file mode 100644 index 0000000..0fec0c6 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/InterfaceUsage.java @@ -0,0 +1,180 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface InterfaceUsage extends ConnectionUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectionDefinition() { return $list($model().read(this, "connectionDefinition")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getInterfaceDefinition() { return $list($model().read(this, "interfaceDefinition")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPartDefinition() { return $list($model().read(this, "partDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Intersecting.java b/java/src/org/openmbee/sysml/classes/Intersecting.java new file mode 100644 index 0000000..c691a19 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Intersecting.java @@ -0,0 +1,37 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Intersecting extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getIntersectingType() { return $ref($model().read(this, "intersectingType")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Type getTypeIntersected() { return $ref($model().read(this, "typeIntersected")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Invariant.java b/java/src/org/openmbee/sysml/classes/Invariant.java new file mode 100644 index 0000000..e0bae32 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Invariant.java @@ -0,0 +1,132 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Invariant extends BooleanExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsNegated() { return $bool($model().read(this, "isNegated")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/InvocationExpression.java b/java/src/org/openmbee/sysml/classes/InvocationExpression.java new file mode 100644 index 0000000..adbb9ad --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/InvocationExpression.java @@ -0,0 +1,133 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface InvocationExpression extends InstantiationExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ItemDefinition.java b/java/src/org/openmbee/sysml/classes/ItemDefinition.java new file mode 100644 index 0000000..8a7ddfb --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ItemDefinition.java @@ -0,0 +1,117 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ItemDefinition extends Structure, OccurrenceDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ItemUsage.java b/java/src/org/openmbee/sysml/classes/ItemUsage.java new file mode 100644 index 0000000..4d53304 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ItemUsage.java @@ -0,0 +1,165 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ItemUsage extends OccurrenceUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/JoinNode.java b/java/src/org/openmbee/sysml/classes/JoinNode.java new file mode 100644 index 0000000..a074351 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/JoinNode.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface JoinNode extends ControlNode { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default Boolean multiplicityHasBounds(Multiplicity mult, Long lower, Long upper) { return $bool($model().call(this, "multiplicityHasBounds", new Object[] {mult, lower, upper})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LibraryPackage.java b/java/src/org/openmbee/sysml/classes/LibraryPackage.java new file mode 100644 index 0000000..c7f6f9a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LibraryPackage.java @@ -0,0 +1,49 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LibraryPackage extends Package { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getFilterCondition() { return $list($model().read(this, "filterCondition")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsStandard() { return $bool($model().read(this, "isStandard")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Boolean includeAsMember(org.openmbee.sysml.Element element) { return $bool($model().call(this, "includeAsMember", new Object[] {element})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LiteralBoolean.java b/java/src/org/openmbee/sysml/classes/LiteralBoolean.java new file mode 100644 index 0000000..dc2058b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LiteralBoolean.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LiteralBoolean extends LiteralExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default Boolean getValue() { return $bool($model().read(this, "value")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LiteralExpression.java b/java/src/org/openmbee/sysml/classes/LiteralExpression.java new file mode 100644 index 0000000..bd85da4 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LiteralExpression.java @@ -0,0 +1,130 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LiteralExpression extends Expression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LiteralInfinity.java b/java/src/org/openmbee/sysml/classes/LiteralInfinity.java new file mode 100644 index 0000000..12a5368 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LiteralInfinity.java @@ -0,0 +1,130 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LiteralInfinity extends LiteralExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LiteralInteger.java b/java/src/org/openmbee/sysml/classes/LiteralInteger.java new file mode 100644 index 0000000..115e497 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LiteralInteger.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LiteralInteger extends LiteralExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default Long getValue() { return $int($model().read(this, "value")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LiteralRational.java b/java/src/org/openmbee/sysml/classes/LiteralRational.java new file mode 100644 index 0000000..a345339 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LiteralRational.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LiteralRational extends LiteralExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default Double getValue() { return $real($model().read(this, "value")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LiteralString.java b/java/src/org/openmbee/sysml/classes/LiteralString.java new file mode 100644 index 0000000..554ae1e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LiteralString.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface LiteralString extends LiteralExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default String getValue() { return $string($model().read(this, "value")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/LoopActionUsage.java b/java/src/org/openmbee/sysml/classes/LoopActionUsage.java new file mode 100644 index 0000000..43caae3 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/LoopActionUsage.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — SysML 20250201. */ +public interface LoopActionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default ActionUsage getBodyAction() { return $ref($model().read(this, "bodyAction")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Membership.java b/java/src/org/openmbee/sysml/classes/Membership.java new file mode 100644 index 0000000..386e27e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Membership.java @@ -0,0 +1,42 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Membership extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MembershipExpose.java b/java/src/org/openmbee/sysml/classes/MembershipExpose.java new file mode 100644 index 0000000..c51a135 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MembershipExpose.java @@ -0,0 +1,42 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface MembershipExpose extends MembershipImport, Expose { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Namespace getImportOwningNamespace() { return $ref($model().read(this, "importOwningNamespace")); } + default org.openmbee.sysml.Element getImportedElement() { return $ref($model().read(this, "importedElement")); } + default Membership getImportedMembership() { return $ref($model().read(this, "importedMembership")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsImportAll() { return $bool($model().read(this, "isImportAll")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsRecursive() { return $bool($model().read(this, "isRecursive")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MembershipImport.java b/java/src/org/openmbee/sysml/classes/MembershipImport.java new file mode 100644 index 0000000..bc71fdb --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MembershipImport.java @@ -0,0 +1,42 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface MembershipImport extends Import { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Namespace getImportOwningNamespace() { return $ref($model().read(this, "importOwningNamespace")); } + default org.openmbee.sysml.Element getImportedElement() { return $ref($model().read(this, "importedElement")); } + default Membership getImportedMembership() { return $ref($model().read(this, "importedMembership")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsImportAll() { return $bool($model().read(this, "isImportAll")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsRecursive() { return $bool($model().read(this, "isRecursive")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MergeNode.java b/java/src/org/openmbee/sysml/classes/MergeNode.java new file mode 100644 index 0000000..11173a8 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MergeNode.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface MergeNode extends ControlNode { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default Boolean multiplicityHasBounds(Multiplicity mult, Long lower, Long upper) { return $bool($model().call(this, "multiplicityHasBounds", new Object[] {mult, lower, upper})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Metaclass.java b/java/src/org/openmbee/sysml/classes/Metaclass.java new file mode 100644 index 0000000..6501f2f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Metaclass.java @@ -0,0 +1,84 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Metaclass extends Structure { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MetadataAccessExpression.java b/java/src/org/openmbee/sysml/classes/MetadataAccessExpression.java new file mode 100644 index 0000000..46568b9 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MetadataAccessExpression.java @@ -0,0 +1,132 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface MetadataAccessExpression extends Expression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default org.openmbee.sysml.Element getReferencedElement() { return $ref($model().read(this, "referencedElement")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default MetadataFeature metaclassFeature() { return $ref($model().call(this, "metaclassFeature", new Object[] {})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MetadataDefinition.java b/java/src/org/openmbee/sysml/classes/MetadataDefinition.java new file mode 100644 index 0000000..0201c7d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MetadataDefinition.java @@ -0,0 +1,117 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface MetadataDefinition extends ItemDefinition, Metaclass { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MetadataFeature.java b/java/src/org/openmbee/sysml/classes/MetadataFeature.java new file mode 100644 index 0000000..f89e397 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MetadataFeature.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface MetadataFeature extends AnnotatingElement, Feature { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAnnotatedElement() { return $list($model().read(this, "annotatedElement")); } + default java.util.List getAnnotation() { return $list($model().read(this, "annotation")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Metaclass getMetaclass() { return $ref($model().read(this, "metaclass")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotatingRelationship() { return $list($model().read(this, "ownedAnnotatingRelationship")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Annotation getOwningAnnotatingRelationship() { return $ref($model().read(this, "owningAnnotatingRelationship")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluateFeature(Feature baseFeature) { return $list($model().call(this, "evaluateFeature", new Object[] {baseFeature})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSemantic() { return $bool($model().call(this, "isSemantic", new Object[] {})); } + default Boolean isSyntactic() { return $bool($model().call(this, "isSyntactic", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default org.openmbee.sysml.Element syntaxElement() { return $ref($model().call(this, "syntaxElement", new Object[] {})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MetadataUsage.java b/java/src/org/openmbee/sysml/classes/MetadataUsage.java new file mode 100644 index 0000000..9a3fe19 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MetadataUsage.java @@ -0,0 +1,175 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface MetadataUsage extends MetadataFeature, ItemUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAnnotatedElement() { return $list($model().read(this, "annotatedElement")); } + default java.util.List getAnnotation() { return $list($model().read(this, "annotation")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Metaclass getMetaclass() { return $ref($model().read(this, "metaclass")); } + default Metaclass getMetadataDefinition() { return $ref($model().read(this, "metadataDefinition")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotatingRelationship() { return $list($model().read(this, "ownedAnnotatingRelationship")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Annotation getOwningAnnotatingRelationship() { return $ref($model().read(this, "owningAnnotatingRelationship")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluateFeature(Feature baseFeature) { return $list($model().call(this, "evaluateFeature", new Object[] {baseFeature})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSemantic() { return $bool($model().call(this, "isSemantic", new Object[] {})); } + default Boolean isSyntactic() { return $bool($model().call(this, "isSyntactic", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default org.openmbee.sysml.Element syntaxElement() { return $ref($model().call(this, "syntaxElement", new Object[] {})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Multiplicity.java b/java/src/org/openmbee/sysml/classes/Multiplicity.java new file mode 100644 index 0000000..7839112 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Multiplicity.java @@ -0,0 +1,122 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Multiplicity extends Feature { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/MultiplicityRange.java b/java/src/org/openmbee/sysml/classes/MultiplicityRange.java new file mode 100644 index 0000000..44cb964 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/MultiplicityRange.java @@ -0,0 +1,127 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface MultiplicityRange extends Multiplicity { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBound() { return $list($model().read(this, "bound")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Expression getLowerBound() { return $ref($model().read(this, "lowerBound")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default Expression getUpperBound() { return $ref($model().read(this, "upperBound")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean hasBounds(Long lower, Long upper) { return $bool($model().call(this, "hasBounds", new Object[] {lower, upper})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default Long valueOf(Expression bound) { return $int($model().call(this, "valueOf", new Object[] {bound})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Namespace.java b/java/src/org/openmbee/sysml/classes/Namespace.java new file mode 100644 index 0000000..3c6e560 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Namespace.java @@ -0,0 +1,46 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Namespace extends org.openmbee.sysml.Element { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/NamespaceExpose.java b/java/src/org/openmbee/sysml/classes/NamespaceExpose.java new file mode 100644 index 0000000..8c8149a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/NamespaceExpose.java @@ -0,0 +1,42 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface NamespaceExpose extends Expose, NamespaceImport { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Namespace getImportOwningNamespace() { return $ref($model().read(this, "importOwningNamespace")); } + default org.openmbee.sysml.Element getImportedElement() { return $ref($model().read(this, "importedElement")); } + default Namespace getImportedNamespace() { return $ref($model().read(this, "importedNamespace")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsImportAll() { return $bool($model().read(this, "isImportAll")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsRecursive() { return $bool($model().read(this, "isRecursive")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/NamespaceImport.java b/java/src/org/openmbee/sysml/classes/NamespaceImport.java new file mode 100644 index 0000000..3b18c7e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/NamespaceImport.java @@ -0,0 +1,42 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface NamespaceImport extends Import { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Namespace getImportOwningNamespace() { return $ref($model().read(this, "importOwningNamespace")); } + default org.openmbee.sysml.Element getImportedElement() { return $ref($model().read(this, "importedElement")); } + default Namespace getImportedNamespace() { return $ref($model().read(this, "importedNamespace")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsImportAll() { return $bool($model().read(this, "isImportAll")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsRecursive() { return $bool($model().read(this, "isRecursive")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/NullExpression.java b/java/src/org/openmbee/sysml/classes/NullExpression.java new file mode 100644 index 0000000..e4f5818 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/NullExpression.java @@ -0,0 +1,130 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface NullExpression extends Expression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ObjectiveMembership.java b/java/src/org/openmbee/sysml/classes/ObjectiveMembership.java new file mode 100644 index 0000000..0ac0fe7 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ObjectiveMembership.java @@ -0,0 +1,49 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ObjectiveMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default RequirementUsage getOwnedObjectiveRequirement() { return $ref($model().read(this, "ownedObjectiveRequirement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/OccurrenceDefinition.java b/java/src/org/openmbee/sysml/classes/OccurrenceDefinition.java new file mode 100644 index 0000000..70d8e0c --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/OccurrenceDefinition.java @@ -0,0 +1,117 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface OccurrenceDefinition extends Definition, Class { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/OccurrenceUsage.java b/java/src/org/openmbee/sysml/classes/OccurrenceUsage.java new file mode 100644 index 0000000..cc89d03 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/OccurrenceUsage.java @@ -0,0 +1,164 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface OccurrenceUsage extends Usage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/OperatorExpression.java b/java/src/org/openmbee/sysml/classes/OperatorExpression.java new file mode 100644 index 0000000..120e378 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/OperatorExpression.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface OperatorExpression extends InvocationExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default String getOperator() { return $string($model().read(this, "operator")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/OwningMembership.java b/java/src/org/openmbee/sysml/classes/OwningMembership.java new file mode 100644 index 0000000..cdaf98c --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/OwningMembership.java @@ -0,0 +1,46 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface OwningMembership extends Membership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Package.java b/java/src/org/openmbee/sysml/classes/Package.java new file mode 100644 index 0000000..f6382f7 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Package.java @@ -0,0 +1,48 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Package extends Namespace { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getFilterCondition() { return $list($model().read(this, "filterCondition")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Boolean includeAsMember(org.openmbee.sysml.Element element) { return $bool($model().call(this, "includeAsMember", new Object[] {element})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ParameterMembership.java b/java/src/org/openmbee/sysml/classes/ParameterMembership.java new file mode 100644 index 0000000..94bc5e9 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ParameterMembership.java @@ -0,0 +1,50 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface ParameterMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default Feature getOwnedMemberParameter() { return $ref($model().read(this, "ownedMemberParameter")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String parameterDirection() { return $string($model().call(this, "parameterDirection", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PartDefinition.java b/java/src/org/openmbee/sysml/classes/PartDefinition.java new file mode 100644 index 0000000..efaf508 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PartDefinition.java @@ -0,0 +1,117 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface PartDefinition extends ItemDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PartUsage.java b/java/src/org/openmbee/sysml/classes/PartUsage.java new file mode 100644 index 0000000..8e5c00d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PartUsage.java @@ -0,0 +1,166 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface PartUsage extends ItemUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPartDefinition() { return $list($model().read(this, "partDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PayloadFeature.java b/java/src/org/openmbee/sysml/classes/PayloadFeature.java new file mode 100644 index 0000000..de6ba94 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PayloadFeature.java @@ -0,0 +1,122 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface PayloadFeature extends Feature { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PerformActionUsage.java b/java/src/org/openmbee/sysml/classes/PerformActionUsage.java new file mode 100644 index 0000000..eddb57b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PerformActionUsage.java @@ -0,0 +1,173 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface PerformActionUsage extends EventOccurrenceUsage, ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default OccurrenceUsage getEventOccurrence() { return $ref($model().read(this, "eventOccurrence")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default ActionUsage getPerformedAction() { return $ref($model().read(this, "performedAction")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PortConjugation.java b/java/src/org/openmbee/sysml/classes/PortConjugation.java new file mode 100644 index 0000000..1c2def5 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PortConjugation.java @@ -0,0 +1,40 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface PortConjugation extends Conjugation { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default ConjugatedPortDefinition getConjugatedPortDefinition() { return $ref($model().read(this, "conjugatedPortDefinition")); } + default Type getConjugatedType() { return $ref($model().read(this, "conjugatedType")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default PortDefinition getOriginalPortDefinition() { return $ref($model().read(this, "originalPortDefinition")); } + default Type getOriginalType() { return $ref($model().read(this, "originalType")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PortDefinition.java b/java/src/org/openmbee/sysml/classes/PortDefinition.java new file mode 100644 index 0000000..d64f1dd --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PortDefinition.java @@ -0,0 +1,118 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface PortDefinition extends Structure, OccurrenceDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default ConjugatedPortDefinition getConjugatedPortDefinition() { return $ref($model().read(this, "conjugatedPortDefinition")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/PortUsage.java b/java/src/org/openmbee/sysml/classes/PortUsage.java new file mode 100644 index 0000000..e2806e8 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/PortUsage.java @@ -0,0 +1,165 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface PortUsage extends OccurrenceUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPortDefinition() { return $list($model().read(this, "portDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Predicate.java b/java/src/org/openmbee/sysml/classes/Predicate.java new file mode 100644 index 0000000..1cb6ef2 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Predicate.java @@ -0,0 +1,89 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Predicate extends Function { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Redefinition.java b/java/src/org/openmbee/sysml/classes/Redefinition.java new file mode 100644 index 0000000..8dc25fe --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Redefinition.java @@ -0,0 +1,43 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Redefinition extends Subsetting { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getRedefinedFeature() { return $ref($model().read(this, "redefinedFeature")); } + default Feature getRedefiningFeature() { return $ref($model().read(this, "redefiningFeature")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default Feature getSubsettedFeature() { return $ref($model().read(this, "subsettedFeature")); } + default Feature getSubsettingFeature() { return $ref($model().read(this, "subsettingFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ReferenceSubsetting.java b/java/src/org/openmbee/sysml/classes/ReferenceSubsetting.java new file mode 100644 index 0000000..475e437 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ReferenceSubsetting.java @@ -0,0 +1,43 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface ReferenceSubsetting extends Subsetting { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getReferencedFeature() { return $ref($model().read(this, "referencedFeature")); } + default Feature getReferencingFeature() { return $ref($model().read(this, "referencingFeature")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default Feature getSubsettedFeature() { return $ref($model().read(this, "subsettedFeature")); } + default Feature getSubsettingFeature() { return $ref($model().read(this, "subsettingFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ReferenceUsage.java b/java/src/org/openmbee/sysml/classes/ReferenceUsage.java new file mode 100644 index 0000000..13082cb --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ReferenceUsage.java @@ -0,0 +1,160 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ReferenceUsage extends Usage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Relationship.java b/java/src/org/openmbee/sysml/classes/Relationship.java new file mode 100644 index 0000000..50b5a8d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Relationship.java @@ -0,0 +1,35 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** abstract — KerML 20250201. */ +public interface Relationship extends org.openmbee.sysml.Element { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/RenderingDefinition.java b/java/src/org/openmbee/sysml/classes/RenderingDefinition.java new file mode 100644 index 0000000..3af9ea0 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/RenderingDefinition.java @@ -0,0 +1,118 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface RenderingDefinition extends PartDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRendering() { return $list($model().read(this, "rendering")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/RenderingUsage.java b/java/src/org/openmbee/sysml/classes/RenderingUsage.java new file mode 100644 index 0000000..4034f20 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/RenderingUsage.java @@ -0,0 +1,167 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface RenderingUsage extends PartUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPartDefinition() { return $list($model().read(this, "partDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default RenderingDefinition getRenderingDefinition() { return $ref($model().read(this, "renderingDefinition")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/RequirementConstraintMembership.java b/java/src/org/openmbee/sysml/classes/RequirementConstraintMembership.java new file mode 100644 index 0000000..70c8702 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/RequirementConstraintMembership.java @@ -0,0 +1,51 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface RequirementConstraintMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getKind() { return $string($model().read(this, "kind")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default ConstraintUsage getOwnedConstraint() { return $ref($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default ConstraintUsage getReferencedConstraint() { return $ref($model().read(this, "referencedConstraint")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/RequirementDefinition.java b/java/src/org/openmbee/sysml/classes/RequirementDefinition.java new file mode 100644 index 0000000..e1d43cb --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/RequirementDefinition.java @@ -0,0 +1,130 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface RequirementDefinition extends ConstraintDefinition { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/RequirementUsage.java b/java/src/org/openmbee/sysml/classes/RequirementUsage.java new file mode 100644 index 0000000..712b089 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/RequirementUsage.java @@ -0,0 +1,183 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface RequirementUsage extends ConstraintUsage { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Predicate getConstraintDefinition() { return $ref($model().read(this, "constraintDefinition")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default RequirementDefinition getRequirementDefinition() { return $ref($model().read(this, "requirementDefinition")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/RequirementVerificationMembership.java b/java/src/org/openmbee/sysml/classes/RequirementVerificationMembership.java new file mode 100644 index 0000000..9bbcb0d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/RequirementVerificationMembership.java @@ -0,0 +1,53 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface RequirementVerificationMembership extends RequirementConstraintMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getKind() { return $string($model().read(this, "kind")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default ConstraintUsage getOwnedConstraint() { return $ref($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default RequirementUsage getOwnedRequirement() { return $ref($model().read(this, "ownedRequirement")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default ConstraintUsage getReferencedConstraint() { return $ref($model().read(this, "referencedConstraint")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default RequirementUsage getVerifiedRequirement() { return $ref($model().read(this, "verifiedRequirement")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ResultExpressionMembership.java b/java/src/org/openmbee/sysml/classes/ResultExpressionMembership.java new file mode 100644 index 0000000..c7bfa65 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ResultExpressionMembership.java @@ -0,0 +1,49 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface ResultExpressionMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default Expression getOwnedResultExpression() { return $ref($model().read(this, "ownedResultExpression")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ReturnParameterMembership.java b/java/src/org/openmbee/sysml/classes/ReturnParameterMembership.java new file mode 100644 index 0000000..893ab55 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ReturnParameterMembership.java @@ -0,0 +1,50 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface ReturnParameterMembership extends ParameterMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default Feature getOwnedMemberParameter() { return $ref($model().read(this, "ownedMemberParameter")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String parameterDirection() { return $string($model().call(this, "parameterDirection", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SatisfyRequirementUsage.java b/java/src/org/openmbee/sysml/classes/SatisfyRequirementUsage.java new file mode 100644 index 0000000..745584b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SatisfyRequirementUsage.java @@ -0,0 +1,187 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface SatisfyRequirementUsage extends RequirementUsage, AssertConstraintUsage { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default ConstraintUsage getAssertedConstraint() { return $ref($model().read(this, "assertedConstraint")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Predicate getConstraintDefinition() { return $ref($model().read(this, "constraintDefinition")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsNegated() { return $bool($model().read(this, "isNegated")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default RequirementDefinition getRequirementDefinition() { return $ref($model().read(this, "requirementDefinition")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default RequirementUsage getSatisfiedRequirement() { return $ref($model().read(this, "satisfiedRequirement")); } + default Feature getSatisfyingFeature() { return $ref($model().read(this, "satisfyingFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SelectExpression.java b/java/src/org/openmbee/sysml/classes/SelectExpression.java new file mode 100644 index 0000000..c82dbfc --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SelectExpression.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface SelectExpression extends OperatorExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default String getOperator() { return $string($model().read(this, "operator")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SendActionUsage.java b/java/src/org/openmbee/sysml/classes/SendActionUsage.java new file mode 100644 index 0000000..1aaba2a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SendActionUsage.java @@ -0,0 +1,174 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface SendActionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default Expression getPayloadArgument() { return $ref($model().read(this, "payloadArgument")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Expression getReceiverArgument() { return $ref($model().read(this, "receiverArgument")); } + default Expression getSenderArgument() { return $ref($model().read(this, "senderArgument")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Specialization.java b/java/src/org/openmbee/sysml/classes/Specialization.java new file mode 100644 index 0000000..c37a252 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Specialization.java @@ -0,0 +1,38 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Specialization extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/StakeholderMembership.java b/java/src/org/openmbee/sysml/classes/StakeholderMembership.java new file mode 100644 index 0000000..d7b892f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/StakeholderMembership.java @@ -0,0 +1,51 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface StakeholderMembership extends ParameterMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default Feature getOwnedMemberParameter() { return $ref($model().read(this, "ownedMemberParameter")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default PartUsage getOwnedStakeholderParameter() { return $ref($model().read(this, "ownedStakeholderParameter")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String parameterDirection() { return $string($model().call(this, "parameterDirection", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/StateDefinition.java b/java/src/org/openmbee/sysml/classes/StateDefinition.java new file mode 100644 index 0000000..14df799 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/StateDefinition.java @@ -0,0 +1,125 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface StateDefinition extends ActionDefinition { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default ActionUsage getDoAction() { return $ref($model().read(this, "doAction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default ActionUsage getEntryAction() { return $ref($model().read(this, "entryAction")); } + default ActionUsage getExitAction() { return $ref($model().read(this, "exitAction")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsParallel() { return $bool($model().read(this, "isParallel")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getState() { return $list($model().read(this, "state")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/StateSubactionMembership.java b/java/src/org/openmbee/sysml/classes/StateSubactionMembership.java new file mode 100644 index 0000000..b821e99 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/StateSubactionMembership.java @@ -0,0 +1,50 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface StateSubactionMembership extends FeatureMembership { + default ActionUsage getAction() { return $ref($model().read(this, "action")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getKind() { return $string($model().read(this, "kind")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/StateUsage.java b/java/src/org/openmbee/sysml/classes/StateUsage.java new file mode 100644 index 0000000..aaaa4fd --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/StateUsage.java @@ -0,0 +1,177 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface StateUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default ActionUsage getDoAction() { return $ref($model().read(this, "doAction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default ActionUsage getEntryAction() { return $ref($model().read(this, "entryAction")); } + default ActionUsage getExitAction() { return $ref($model().read(this, "exitAction")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsParallel() { return $bool($model().read(this, "isParallel")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStateDefinition() { return $list($model().read(this, "stateDefinition")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Boolean isSubstateUsage(Boolean isParallel) { return $bool($model().call(this, "isSubstateUsage", new Object[] {isParallel})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Step.java b/java/src/org/openmbee/sysml/classes/Step.java new file mode 100644 index 0000000..05a9bda --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Step.java @@ -0,0 +1,124 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Step extends Feature { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Structure.java b/java/src/org/openmbee/sysml/classes/Structure.java new file mode 100644 index 0000000..2b2f81f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Structure.java @@ -0,0 +1,84 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Structure extends Class { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Subclassification.java b/java/src/org/openmbee/sysml/classes/Subclassification.java new file mode 100644 index 0000000..c94883d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Subclassification.java @@ -0,0 +1,41 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Subclassification extends Specialization { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Classifier getOwningClassifier() { return $ref($model().read(this, "owningClassifier")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default Classifier getSubclassifier() { return $ref($model().read(this, "subclassifier")); } + default Classifier getSuperclassifier() { return $ref($model().read(this, "superclassifier")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SubjectMembership.java b/java/src/org/openmbee/sysml/classes/SubjectMembership.java new file mode 100644 index 0000000..9cf0ce5 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SubjectMembership.java @@ -0,0 +1,51 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface SubjectMembership extends ParameterMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default Feature getOwnedMemberParameter() { return $ref($model().read(this, "ownedMemberParameter")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default Usage getOwnedSubjectParameter() { return $ref($model().read(this, "ownedSubjectParameter")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String parameterDirection() { return $string($model().call(this, "parameterDirection", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Subsetting.java b/java/src/org/openmbee/sysml/classes/Subsetting.java new file mode 100644 index 0000000..d31cf82 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Subsetting.java @@ -0,0 +1,41 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Subsetting extends Specialization { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Type getGeneral() { return $ref($model().read(this, "general")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeature() { return $ref($model().read(this, "owningFeature")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Type getSpecific() { return $ref($model().read(this, "specific")); } + default Feature getSubsettedFeature() { return $ref($model().read(this, "subsettedFeature")); } + default Feature getSubsettingFeature() { return $ref($model().read(this, "subsettingFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Succession.java b/java/src/org/openmbee/sysml/classes/Succession.java new file mode 100644 index 0000000..167a001 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Succession.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Succession extends Connector { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SuccessionAsUsage.java b/java/src/org/openmbee/sysml/classes/SuccessionAsUsage.java new file mode 100644 index 0000000..3aa4608 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SuccessionAsUsage.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface SuccessionAsUsage extends ConnectorAsUsage, Succession { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SuccessionFlow.java b/java/src/org/openmbee/sysml/classes/SuccessionFlow.java new file mode 100644 index 0000000..46c3e35 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SuccessionFlow.java @@ -0,0 +1,142 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface SuccessionFlow extends Succession, Flow { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFlowEnd() { return $list($model().read(this, "flowEnd")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getInteraction() { return $list($model().read(this, "interaction")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default PayloadFeature getPayloadFeature() { return $ref($model().read(this, "payloadFeature")); } + default java.util.List getPayloadType() { return $list($model().read(this, "payloadType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default Feature getSourceOutputFeature() { return $ref($model().read(this, "sourceOutputFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default Feature getTargetInputFeature() { return $ref($model().read(this, "targetInputFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/SuccessionFlowUsage.java b/java/src/org/openmbee/sysml/classes/SuccessionFlowUsage.java new file mode 100644 index 0000000..792c5e7 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/SuccessionFlowUsage.java @@ -0,0 +1,190 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface SuccessionFlowUsage extends SuccessionFlow, FlowUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssociation() { return $list($model().read(this, "association")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default java.util.List getConnectorEnd() { return $list($model().read(this, "connectorEnd")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default Type getDefaultFeaturingType() { return $ref($model().read(this, "defaultFeaturingType")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFlowDefinition() { return $list($model().read(this, "flowDefinition")); } + default java.util.List getFlowEnd() { return $list($model().read(this, "flowEnd")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getInteraction() { return $list($model().read(this, "interaction")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default PayloadFeature getPayloadFeature() { return $ref($model().read(this, "payloadFeature")); } + default java.util.List getPayloadType() { return $list($model().read(this, "payloadType")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default java.util.List getRelatedFeature() { return $list($model().read(this, "relatedFeature")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default Feature getSourceFeature() { return $ref($model().read(this, "sourceFeature")); } + default Feature getSourceOutputFeature() { return $ref($model().read(this, "sourceOutputFeature")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTargetFeature() { return $list($model().read(this, "targetFeature")); } + default Feature getTargetInputFeature() { return $ref($model().read(this, "targetInputFeature")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/TerminateActionUsage.java b/java/src/org/openmbee/sysml/classes/TerminateActionUsage.java new file mode 100644 index 0000000..7412ed1 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/TerminateActionUsage.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface TerminateActionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Expression getTerminatedOccurrenceArgument() { return $ref($model().read(this, "terminatedOccurrenceArgument")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/TextualRepresentation.java b/java/src/org/openmbee/sysml/classes/TextualRepresentation.java new file mode 100644 index 0000000..1df0c82 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/TextualRepresentation.java @@ -0,0 +1,36 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface TextualRepresentation extends AnnotatingElement { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAnnotatedElement() { return $list($model().read(this, "annotatedElement")); } + default java.util.List getAnnotation() { return $list($model().read(this, "annotation")); } + default String getBody() { return $string($model().read(this, "body")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getLanguage() { return $string($model().read(this, "language")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotatingRelationship() { return $list($model().read(this, "ownedAnnotatingRelationship")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Annotation getOwningAnnotatingRelationship() { return $ref($model().read(this, "owningAnnotatingRelationship")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default org.openmbee.sysml.Element getRepresentedElement() { return $ref($model().read(this, "representedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/TransitionFeatureMembership.java b/java/src/org/openmbee/sysml/classes/TransitionFeatureMembership.java new file mode 100644 index 0000000..7c6972d --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/TransitionFeatureMembership.java @@ -0,0 +1,50 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface TransitionFeatureMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getKind() { return $string($model().read(this, "kind")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Step getTransitionFeature() { return $ref($model().read(this, "transitionFeature")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/TransitionUsage.java b/java/src/org/openmbee/sysml/classes/TransitionUsage.java new file mode 100644 index 0000000..fb0e864 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/TransitionUsage.java @@ -0,0 +1,179 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface TransitionUsage extends ActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default java.util.List getEffectAction() { return $list($model().read(this, "effectAction")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getGuardExpression() { return $list($model().read(this, "guardExpression")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default ActionUsage getSource() { return $ref($model().read(this, "source")); } + default Succession getSuccession() { return $ref($model().read(this, "succession")); } + default ActionUsage getTarget() { return $ref($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getTriggerAction() { return $list($model().read(this, "triggerAction")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Feature sourceFeature() { return $ref($model().call(this, "sourceFeature", new Object[] {})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default ReferenceUsage triggerPayloadParameter() { return $ref($model().call(this, "triggerPayloadParameter", new Object[] {})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/TriggerInvocationExpression.java b/java/src/org/openmbee/sysml/classes/TriggerInvocationExpression.java new file mode 100644 index 0000000..f932b6a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/TriggerInvocationExpression.java @@ -0,0 +1,134 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface TriggerInvocationExpression extends InvocationExpression { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getArgument() { return $list($model().read(this, "argument")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default Type getInstantiatedType() { return $ref($model().read(this, "instantiatedType")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default String getKind() { return $string($model().read(this, "kind")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Type instantiatedType() { return $ref($model().call(this, "instantiatedType", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Type.java b/java/src/org/openmbee/sysml/classes/Type.java new file mode 100644 index 0000000..a5ba925 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Type.java @@ -0,0 +1,83 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Type extends Namespace { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/TypeFeaturing.java b/java/src/org/openmbee/sysml/classes/TypeFeaturing.java new file mode 100644 index 0000000..3b90e49 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/TypeFeaturing.java @@ -0,0 +1,38 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface TypeFeaturing extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Feature getFeatureOfType() { return $ref($model().read(this, "featureOfType")); } + default Type getFeaturingType() { return $ref($model().read(this, "featuringType")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Feature getOwningFeatureOfType() { return $ref($model().read(this, "owningFeatureOfType")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Unioning.java b/java/src/org/openmbee/sysml/classes/Unioning.java new file mode 100644 index 0000000..80ea9f4 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Unioning.java @@ -0,0 +1,37 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — KerML 20250201. */ +public interface Unioning extends Relationship { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default Type getTypeUnioned() { return $ref($model().read(this, "typeUnioned")); } + default Type getUnioningType() { return $ref($model().read(this, "unioningType")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/Usage.java b/java/src/org/openmbee/sysml/classes/Usage.java new file mode 100644 index 0000000..2e89f71 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/Usage.java @@ -0,0 +1,160 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface Usage extends Feature { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/UseCaseDefinition.java b/java/src/org/openmbee/sysml/classes/UseCaseDefinition.java new file mode 100644 index 0000000..5e86c66 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/UseCaseDefinition.java @@ -0,0 +1,128 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface UseCaseDefinition extends CaseDefinition { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getCalculation() { return $list($model().read(this, "calculation")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getIncludedUseCase() { return $list($model().read(this, "includedUseCase")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/UseCaseUsage.java b/java/src/org/openmbee/sysml/classes/UseCaseUsage.java new file mode 100644 index 0000000..888404e --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/UseCaseUsage.java @@ -0,0 +1,184 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface UseCaseUsage extends CaseUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default Function getCalculationDefinition() { return $ref($model().read(this, "calculationDefinition")); } + default CaseDefinition getCaseDefinition() { return $ref($model().read(this, "caseDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getIncludedUseCase() { return $list($model().read(this, "includedUseCase")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default UseCaseDefinition getUseCaseDefinition() { return $ref($model().read(this, "useCaseDefinition")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/VariantMembership.java b/java/src/org/openmbee/sysml/classes/VariantMembership.java new file mode 100644 index 0000000..4f42dfd --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/VariantMembership.java @@ -0,0 +1,47 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface VariantMembership extends OwningMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default Usage getOwnedVariantUsage() { return $ref($model().read(this, "ownedVariantUsage")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/VerificationCaseDefinition.java b/java/src/org/openmbee/sysml/classes/VerificationCaseDefinition.java new file mode 100644 index 0000000..20f68fa --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/VerificationCaseDefinition.java @@ -0,0 +1,128 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface VerificationCaseDefinition extends CaseDefinition { + default java.util.List getAction() { return $list($model().read(this, "action")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getCalculation() { return $list($model().read(this, "calculation")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List getVerifiedRequirement() { return $list($model().read(this, "verifiedRequirement")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/VerificationCaseUsage.java b/java/src/org/openmbee/sysml/classes/VerificationCaseUsage.java new file mode 100644 index 0000000..5ed81f3 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/VerificationCaseUsage.java @@ -0,0 +1,184 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface VerificationCaseUsage extends CaseUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default Function getCalculationDefinition() { return $ref($model().read(this, "calculationDefinition")); } + default CaseDefinition getCaseDefinition() { return $ref($model().read(this, "caseDefinition")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default RequirementUsage getObjectiveRequirement() { return $ref($model().read(this, "objectiveRequirement")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default VerificationCaseDefinition getVerificationCaseDefinition() { return $ref($model().read(this, "verificationCaseDefinition")); } + default java.util.List getVerifiedRequirement() { return $list($model().read(this, "verifiedRequirement")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ViewDefinition.java b/java/src/org/openmbee/sysml/classes/ViewDefinition.java new file mode 100644 index 0000000..a58e61a --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ViewDefinition.java @@ -0,0 +1,121 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ViewDefinition extends PartDefinition { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getSatisfiedViewpoint() { return $list($model().read(this, "satisfiedViewpoint")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List getView() { return $list($model().read(this, "view")); } + default java.util.List getViewCondition() { return $list($model().read(this, "viewCondition")); } + default RenderingUsage getViewRendering() { return $ref($model().read(this, "viewRendering")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ViewRenderingMembership.java b/java/src/org/openmbee/sysml/classes/ViewRenderingMembership.java new file mode 100644 index 0000000..a47fad3 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ViewRenderingMembership.java @@ -0,0 +1,50 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ViewRenderingMembership extends FeatureMembership { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default Boolean getIsImplied() { return $bool($model().read(this, "isImplied")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default org.openmbee.sysml.Element getMemberElement() { return $ref($model().read(this, "memberElement")); } + default String getMemberElementId() { return $string($model().read(this, "memberElementId")); } + default String getMemberName() { return $string($model().read(this, "memberName")); } + default String getMemberShortName() { return $string($model().read(this, "memberShortName")); } + default Namespace getMembershipOwningNamespace() { return $ref($model().read(this, "membershipOwningNamespace")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default org.openmbee.sysml.Element getOwnedMemberElement() { return $ref($model().read(this, "ownedMemberElement")); } + default String getOwnedMemberElementId() { return $string($model().read(this, "ownedMemberElementId")); } + default Feature getOwnedMemberFeature() { return $ref($model().read(this, "ownedMemberFeature")); } + default String getOwnedMemberName() { return $string($model().read(this, "ownedMemberName")); } + default String getOwnedMemberShortName() { return $string($model().read(this, "ownedMemberShortName")); } + default java.util.List getOwnedRelatedElement() { return $list($model().read(this, "ownedRelatedElement")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default RenderingUsage getOwnedRendering() { return $ref($model().read(this, "ownedRendering")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default org.openmbee.sysml.Element getOwningRelatedElement() { return $ref($model().read(this, "owningRelatedElement")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default RenderingUsage getReferencedRendering() { return $ref($model().read(this, "referencedRendering")); } + default java.util.List getRelatedElement() { return $list($model().read(this, "relatedElement")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getSource() { return $list($model().read(this, "source")); } + default java.util.List getTarget() { return $list($model().read(this, "target")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default String getVisibility() { return $string($model().read(this, "visibility")); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default Boolean isDistinguishableFrom(Membership other) { return $bool($model().call(this, "isDistinguishableFrom", new Object[] {other})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ViewUsage.java b/java/src/org/openmbee/sysml/classes/ViewUsage.java new file mode 100644 index 0000000..4465b6b --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ViewUsage.java @@ -0,0 +1,172 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ViewUsage extends PartUsage { + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getExposedElement() { return $list($model().read(this, "exposedElement")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getItemDefinition() { return $list($model().read(this, "itemDefinition")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getPartDefinition() { return $list($model().read(this, "partDefinition")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default java.util.List getSatisfiedViewpoint() { return $list($model().read(this, "satisfiedViewpoint")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List getViewCondition() { return $list($model().read(this, "viewCondition")); } + default ViewDefinition getViewDefinition() { return $ref($model().read(this, "viewDefinition")); } + default RenderingUsage getViewRendering() { return $ref($model().read(this, "viewRendering")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default Boolean includeAsExposed(org.openmbee.sysml.Element element) { return $bool($model().call(this, "includeAsExposed", new Object[] {element})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ViewpointDefinition.java b/java/src/org/openmbee/sysml/classes/ViewpointDefinition.java new file mode 100644 index 0000000..901ab9f --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ViewpointDefinition.java @@ -0,0 +1,131 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ViewpointDefinition extends RequirementDefinition { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default java.util.List getExpression() { return $list($model().read(this, "expression")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAction() { return $list($model().read(this, "ownedAction")); } + default java.util.List getOwnedAllocation() { return $list($model().read(this, "ownedAllocation")); } + default java.util.List getOwnedAnalysisCase() { return $list($model().read(this, "ownedAnalysisCase")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default java.util.List getOwnedAttribute() { return $list($model().read(this, "ownedAttribute")); } + default java.util.List getOwnedCalculation() { return $list($model().read(this, "ownedCalculation")); } + default java.util.List getOwnedCase() { return $list($model().read(this, "ownedCase")); } + default java.util.List getOwnedConcern() { return $list($model().read(this, "ownedConcern")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default java.util.List getOwnedConnection() { return $list($model().read(this, "ownedConnection")); } + default java.util.List getOwnedConstraint() { return $list($model().read(this, "ownedConstraint")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedEnumeration() { return $list($model().read(this, "ownedEnumeration")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedFlow() { return $list($model().read(this, "ownedFlow")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedInterface() { return $list($model().read(this, "ownedInterface")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedItem() { return $list($model().read(this, "ownedItem")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedMetadata() { return $list($model().read(this, "ownedMetadata")); } + default java.util.List getOwnedOccurrence() { return $list($model().read(this, "ownedOccurrence")); } + default java.util.List getOwnedPart() { return $list($model().read(this, "ownedPart")); } + default java.util.List getOwnedPort() { return $list($model().read(this, "ownedPort")); } + default java.util.List getOwnedReference() { return $list($model().read(this, "ownedReference")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedRendering() { return $list($model().read(this, "ownedRendering")); } + default java.util.List getOwnedRequirement() { return $list($model().read(this, "ownedRequirement")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedState() { return $list($model().read(this, "ownedState")); } + default java.util.List getOwnedSubclassification() { return $list($model().read(this, "ownedSubclassification")); } + default java.util.List getOwnedTransition() { return $list($model().read(this, "ownedTransition")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default java.util.List getOwnedUsage() { return $list($model().read(this, "ownedUsage")); } + default java.util.List getOwnedUseCase() { return $list($model().read(this, "ownedUseCase")); } + default java.util.List getOwnedVerificationCase() { return $list($model().read(this, "ownedVerificationCase")); } + default java.util.List getOwnedView() { return $list($model().read(this, "ownedView")); } + default java.util.List getOwnedViewpoint() { return $list($model().read(this, "ownedViewpoint")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default java.util.List getStep() { return $list($model().read(this, "step")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default java.util.List getViewpointStakeholder() { return $list($model().read(this, "viewpointStakeholder")); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/ViewpointUsage.java b/java/src/org/openmbee/sysml/classes/ViewpointUsage.java new file mode 100644 index 0000000..8da8c20 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/ViewpointUsage.java @@ -0,0 +1,185 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface ViewpointUsage extends RequirementUsage { + default java.util.List getActorParameter() { return $list($model().read(this, "actorParameter")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getAssumedConstraint() { return $list($model().read(this, "assumedConstraint")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Predicate getConstraintDefinition() { return $ref($model().read(this, "constraintDefinition")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getFramedConcern() { return $list($model().read(this, "framedConcern")); } + default Function getFunction() { return $ref($model().read(this, "function")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsModelLevelEvaluable() { return $bool($model().read(this, "isModelLevelEvaluable")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default Predicate getPredicate() { return $ref($model().read(this, "predicate")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getReqId() { return $string($model().read(this, "reqId")); } + default java.util.List getRequiredConstraint() { return $list($model().read(this, "requiredConstraint")); } + default RequirementDefinition getRequirementDefinition() { return $ref($model().read(this, "requirementDefinition")); } + default Feature getResult() { return $ref($model().read(this, "result")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getStakeholderParameter() { return $list($model().read(this, "stakeholderParameter")); } + default Usage getSubjectParameter() { return $ref($model().read(this, "subjectParameter")); } + default java.util.List getText() { return $list($model().read(this, "text")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default ViewpointDefinition getViewpointDefinition() { return $ref($model().read(this, "viewpointDefinition")); } + default java.util.List getViewpointStakeholder() { return $list($model().read(this, "viewpointStakeholder")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default Boolean checkCondition(org.openmbee.sysml.Element target) { return $bool($model().call(this, "checkCondition", new Object[] {target})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List evaluate(org.openmbee.sysml.Element target) { return $list($model().call(this, "evaluate", new Object[] {target})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default Boolean modelLevelEvaluable(java.util.List visited) { return $bool($model().call(this, "modelLevelEvaluable", new Object[] {visited})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/java/src/org/openmbee/sysml/classes/WhileLoopActionUsage.java b/java/src/org/openmbee/sysml/classes/WhileLoopActionUsage.java new file mode 100644 index 0000000..7ff60f5 --- /dev/null +++ b/java/src/org/openmbee/sysml/classes/WhileLoopActionUsage.java @@ -0,0 +1,174 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py. +package org.openmbee.sysml.classes; + +/** concrete — SysML 20250201. */ +public interface WhileLoopActionUsage extends LoopActionUsage { + default java.util.List getActionDefinition() { return $list($model().read(this, "actionDefinition")); } + default java.util.List getAliasIds() { return $list($model().read(this, "aliasIds")); } + default java.util.List getBehavior() { return $list($model().read(this, "behavior")); } + default ActionUsage getBodyAction() { return $ref($model().read(this, "bodyAction")); } + default java.util.List getChainingFeature() { return $list($model().read(this, "chainingFeature")); } + default Feature getCrossFeature() { return $ref($model().read(this, "crossFeature")); } + default String getDeclaredName() { return $string($model().read(this, "declaredName")); } + default String getDeclaredShortName() { return $string($model().read(this, "declaredShortName")); } + default java.util.List getDefinition() { return $list($model().read(this, "definition")); } + default java.util.List getDifferencingType() { return $list($model().read(this, "differencingType")); } + default java.util.List getDirectedFeature() { return $list($model().read(this, "directedFeature")); } + default java.util.List getDirectedUsage() { return $list($model().read(this, "directedUsage")); } + default String getDirection() { return $string($model().read(this, "direction")); } + default java.util.List getDocumentation() { return $list($model().read(this, "documentation")); } + default String getElementId() { return $string($model().read(this, "elementId")); } + default java.util.List getEndFeature() { return $list($model().read(this, "endFeature")); } + default Type getEndOwningType() { return $ref($model().read(this, "endOwningType")); } + default java.util.List getFeature() { return $list($model().read(this, "feature")); } + default java.util.List getFeatureMembership() { return $list($model().read(this, "featureMembership")); } + default Feature getFeatureTarget() { return $ref($model().read(this, "featureTarget")); } + default java.util.List getFeaturingType() { return $list($model().read(this, "featuringType")); } + default java.util.List getImportedMembership() { return $list($model().read(this, "importedMembership")); } + default OccurrenceDefinition getIndividualDefinition() { return $ref($model().read(this, "individualDefinition")); } + default java.util.List getInheritedFeature() { return $list($model().read(this, "inheritedFeature")); } + default java.util.List getInheritedMembership() { return $list($model().read(this, "inheritedMembership")); } + default java.util.List getInput() { return $list($model().read(this, "input")); } + default java.util.List getIntersectingType() { return $list($model().read(this, "intersectingType")); } + default Boolean getIsAbstract() { return $bool($model().read(this, "isAbstract")); } + default Boolean getIsComposite() { return $bool($model().read(this, "isComposite")); } + default Boolean getIsConjugated() { return $bool($model().read(this, "isConjugated")); } + default Boolean getIsConstant() { return $bool($model().read(this, "isConstant")); } + default Boolean getIsDerived() { return $bool($model().read(this, "isDerived")); } + default Boolean getIsEnd() { return $bool($model().read(this, "isEnd")); } + default Boolean getIsImpliedIncluded() { return $bool($model().read(this, "isImpliedIncluded")); } + default Boolean getIsIndividual() { return $bool($model().read(this, "isIndividual")); } + default Boolean getIsLibraryElement() { return $bool($model().read(this, "isLibraryElement")); } + default Boolean getIsOrdered() { return $bool($model().read(this, "isOrdered")); } + default Boolean getIsPortion() { return $bool($model().read(this, "isPortion")); } + default Boolean getIsReference() { return $bool($model().read(this, "isReference")); } + default Boolean getIsSufficient() { return $bool($model().read(this, "isSufficient")); } + default Boolean getIsUnique() { return $bool($model().read(this, "isUnique")); } + default Boolean getIsVariable() { return $bool($model().read(this, "isVariable")); } + default Boolean getIsVariation() { return $bool($model().read(this, "isVariation")); } + default Boolean getMayTimeVary() { return $bool($model().read(this, "mayTimeVary")); } + default java.util.List getMember() { return $list($model().read(this, "member")); } + default java.util.List getMembership() { return $list($model().read(this, "membership")); } + default Multiplicity getMultiplicity() { return $ref($model().read(this, "multiplicity")); } + default String getName() { return $string($model().read(this, "name")); } + default java.util.List getNestedAction() { return $list($model().read(this, "nestedAction")); } + default java.util.List getNestedAllocation() { return $list($model().read(this, "nestedAllocation")); } + default java.util.List getNestedAnalysisCase() { return $list($model().read(this, "nestedAnalysisCase")); } + default java.util.List getNestedAttribute() { return $list($model().read(this, "nestedAttribute")); } + default java.util.List getNestedCalculation() { return $list($model().read(this, "nestedCalculation")); } + default java.util.List getNestedCase() { return $list($model().read(this, "nestedCase")); } + default java.util.List getNestedConcern() { return $list($model().read(this, "nestedConcern")); } + default java.util.List getNestedConnection() { return $list($model().read(this, "nestedConnection")); } + default java.util.List getNestedConstraint() { return $list($model().read(this, "nestedConstraint")); } + default java.util.List getNestedEnumeration() { return $list($model().read(this, "nestedEnumeration")); } + default java.util.List getNestedFlow() { return $list($model().read(this, "nestedFlow")); } + default java.util.List getNestedInterface() { return $list($model().read(this, "nestedInterface")); } + default java.util.List getNestedItem() { return $list($model().read(this, "nestedItem")); } + default java.util.List getNestedMetadata() { return $list($model().read(this, "nestedMetadata")); } + default java.util.List getNestedOccurrence() { return $list($model().read(this, "nestedOccurrence")); } + default java.util.List getNestedPart() { return $list($model().read(this, "nestedPart")); } + default java.util.List getNestedPort() { return $list($model().read(this, "nestedPort")); } + default java.util.List getNestedReference() { return $list($model().read(this, "nestedReference")); } + default java.util.List getNestedRendering() { return $list($model().read(this, "nestedRendering")); } + default java.util.List getNestedRequirement() { return $list($model().read(this, "nestedRequirement")); } + default java.util.List getNestedState() { return $list($model().read(this, "nestedState")); } + default java.util.List getNestedTransition() { return $list($model().read(this, "nestedTransition")); } + default java.util.List getNestedUsage() { return $list($model().read(this, "nestedUsage")); } + default java.util.List getNestedUseCase() { return $list($model().read(this, "nestedUseCase")); } + default java.util.List getNestedVerificationCase() { return $list($model().read(this, "nestedVerificationCase")); } + default java.util.List getNestedView() { return $list($model().read(this, "nestedView")); } + default java.util.List getNestedViewpoint() { return $list($model().read(this, "nestedViewpoint")); } + default java.util.List getOccurrenceDefinition() { return $list($model().read(this, "occurrenceDefinition")); } + default java.util.List getOutput() { return $list($model().read(this, "output")); } + default java.util.List getOwnedAnnotation() { return $list($model().read(this, "ownedAnnotation")); } + default Conjugation getOwnedConjugator() { return $ref($model().read(this, "ownedConjugator")); } + default CrossSubsetting getOwnedCrossSubsetting() { return $ref($model().read(this, "ownedCrossSubsetting")); } + default java.util.List getOwnedDifferencing() { return $list($model().read(this, "ownedDifferencing")); } + default java.util.List getOwnedDisjoining() { return $list($model().read(this, "ownedDisjoining")); } + default java.util.List getOwnedElement() { return $list($model().read(this, "ownedElement")); } + default java.util.List getOwnedEndFeature() { return $list($model().read(this, "ownedEndFeature")); } + default java.util.List getOwnedFeature() { return $list($model().read(this, "ownedFeature")); } + default java.util.List getOwnedFeatureChaining() { return $list($model().read(this, "ownedFeatureChaining")); } + default java.util.List getOwnedFeatureInverting() { return $list($model().read(this, "ownedFeatureInverting")); } + default java.util.List getOwnedFeatureMembership() { return $list($model().read(this, "ownedFeatureMembership")); } + default java.util.List getOwnedImport() { return $list($model().read(this, "ownedImport")); } + default java.util.List getOwnedIntersecting() { return $list($model().read(this, "ownedIntersecting")); } + default java.util.List getOwnedMember() { return $list($model().read(this, "ownedMember")); } + default java.util.List getOwnedMembership() { return $list($model().read(this, "ownedMembership")); } + default java.util.List getOwnedRedefinition() { return $list($model().read(this, "ownedRedefinition")); } + default ReferenceSubsetting getOwnedReferenceSubsetting() { return $ref($model().read(this, "ownedReferenceSubsetting")); } + default java.util.List getOwnedRelationship() { return $list($model().read(this, "ownedRelationship")); } + default java.util.List getOwnedSpecialization() { return $list($model().read(this, "ownedSpecialization")); } + default java.util.List getOwnedSubsetting() { return $list($model().read(this, "ownedSubsetting")); } + default java.util.List getOwnedTypeFeaturing() { return $list($model().read(this, "ownedTypeFeaturing")); } + default java.util.List getOwnedTyping() { return $list($model().read(this, "ownedTyping")); } + default java.util.List getOwnedUnioning() { return $list($model().read(this, "ownedUnioning")); } + default org.openmbee.sysml.Element getOwner() { return $ref($model().read(this, "owner")); } + default Definition getOwningDefinition() { return $ref($model().read(this, "owningDefinition")); } + default FeatureMembership getOwningFeatureMembership() { return $ref($model().read(this, "owningFeatureMembership")); } + default OwningMembership getOwningMembership() { return $ref($model().read(this, "owningMembership")); } + default Namespace getOwningNamespace() { return $ref($model().read(this, "owningNamespace")); } + default Relationship getOwningRelationship() { return $ref($model().read(this, "owningRelationship")); } + default Type getOwningType() { return $ref($model().read(this, "owningType")); } + default Usage getOwningUsage() { return $ref($model().read(this, "owningUsage")); } + default java.util.List getParameter() { return $list($model().read(this, "parameter")); } + default String getPortionKind() { return $string($model().read(this, "portionKind")); } + default String getQualifiedName() { return $string($model().read(this, "qualifiedName")); } + default String getShortName() { return $string($model().read(this, "shortName")); } + default java.util.List getTextualRepresentation() { return $list($model().read(this, "textualRepresentation")); } + default java.util.List getType() { return $list($model().read(this, "type")); } + default java.util.List getUnioningType() { return $list($model().read(this, "unioningType")); } + default Expression getUntilArgument() { return $ref($model().read(this, "untilArgument")); } + default java.util.List getUsage() { return $list($model().read(this, "usage")); } + default java.util.List getVariant() { return $list($model().read(this, "variant")); } + default java.util.List getVariantMembership() { return $list($model().read(this, "variantMembership")); } + default Expression getWhileArgument() { return $ref($model().read(this, "whileArgument")); } + default java.util.List allRedefinedFeatures() { return $list($model().call(this, "allRedefinedFeatures", new Object[] {})); } + default java.util.List allRedefinedFeaturesOf(Membership membership) { return $list($model().call(this, "allRedefinedFeaturesOf", new Object[] {membership})); } + default java.util.List allSupertypes() { return $list($model().call(this, "allSupertypes", new Object[] {})); } + default Expression argument(Long i) { return $ref($model().call(this, "argument", new Object[] {i})); } + default java.util.List asCartesianProduct() { return $list($model().call(this, "asCartesianProduct", new Object[] {})); } + default Boolean canAccess(Feature feature) { return $bool($model().call(this, "canAccess", new Object[] {feature})); } + default String directionFor(Type type) { return $string($model().call(this, "directionFor", new Object[] {type})); } + default String directionOf(Feature feature) { return $string($model().call(this, "directionOf", new Object[] {feature})); } + default String directionOfExcluding(Feature feature, java.util.List excluded) { return $string($model().call(this, "directionOfExcluding", new Object[] {feature, excluded})); } + default String effectiveName() { return $string($model().call(this, "effectiveName", new Object[] {})); } + default String effectiveShortName() { return $string($model().call(this, "effectiveShortName", new Object[] {})); } + default String escapedName() { return $string($model().call(this, "escapedName", new Object[] {})); } + default java.util.List importedMemberships(java.util.List excluded) { return $list($model().call(this, "importedMemberships", new Object[] {excluded})); } + default java.util.List inheritableMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritableMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default java.util.List inheritedMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "inheritedMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature inputParameter(Long i) { return $ref($model().call(this, "inputParameter", new Object[] {i})); } + default java.util.List inputParameters() { return $list($model().call(this, "inputParameters", new Object[] {})); } + default Boolean isCartesianProduct() { return $bool($model().call(this, "isCartesianProduct", new Object[] {})); } + default Boolean isCompatibleWith(Type otherType) { return $bool($model().call(this, "isCompatibleWith", new Object[] {otherType})); } + default Boolean isFeaturedWithin(Type type) { return $bool($model().call(this, "isFeaturedWithin", new Object[] {type})); } + default Boolean isFeaturingType(Type type) { return $bool($model().call(this, "isFeaturingType", new Object[] {type})); } + default Boolean isOwnedCrossFeature() { return $bool($model().call(this, "isOwnedCrossFeature", new Object[] {})); } + default Boolean isSubactionUsage() { return $bool($model().call(this, "isSubactionUsage", new Object[] {})); } + default Namespace libraryNamespace() { return $ref($model().call(this, "libraryNamespace", new Object[] {})); } + default java.util.List membershipsOfVisibility(String visibility, java.util.List excluded) { return $list($model().call(this, "membershipsOfVisibility", new Object[] {visibility, excluded})); } + default java.util.List multiplicities() { return $list($model().call(this, "multiplicities", new Object[] {})); } + default java.util.List namesOf(org.openmbee.sysml.Element element) { return $list($model().call(this, "namesOf", new Object[] {element})); } + default Feature namingFeature() { return $ref($model().call(this, "namingFeature", new Object[] {})); } + default java.util.List nonPrivateMemberships(java.util.List excludedNamespaces, java.util.List excludedTypes, Boolean excludeImplied) { return $list($model().call(this, "nonPrivateMemberships", new Object[] {excludedNamespaces, excludedTypes, excludeImplied})); } + default Feature ownedCrossFeature() { return $ref($model().call(this, "ownedCrossFeature", new Object[] {})); } + default String path() { return $string($model().call(this, "path", new Object[] {})); } + default String qualificationOf(String qualifiedName) { return $string($model().call(this, "qualificationOf", new Object[] {qualifiedName})); } + default Boolean redefines(Feature redefinedFeature) { return $bool($model().call(this, "redefines", new Object[] {redefinedFeature})); } + default Boolean redefinesFromLibrary(String libraryFeatureName) { return $bool($model().call(this, "redefinesFromLibrary", new Object[] {libraryFeatureName})); } + default Feature referencedFeatureTarget() { return $ref($model().call(this, "referencedFeatureTarget", new Object[] {})); } + default java.util.List removeRedefinedFeatures(java.util.List memberships) { return $list($model().call(this, "removeRedefinedFeatures", new Object[] {memberships})); } + default Membership resolve(String qualifiedName) { return $ref($model().call(this, "resolve", new Object[] {qualifiedName})); } + default Membership resolveGlobal(String qualifiedName) { return $ref($model().call(this, "resolveGlobal", new Object[] {qualifiedName})); } + default Membership resolveLocal(String name) { return $ref($model().call(this, "resolveLocal", new Object[] {name})); } + default Membership resolveVisible(String name) { return $ref($model().call(this, "resolveVisible", new Object[] {name})); } + default Boolean specializes(Type supertype) { return $bool($model().call(this, "specializes", new Object[] {supertype})); } + default Boolean specializesFromLibrary(String libraryTypeName) { return $bool($model().call(this, "specializesFromLibrary", new Object[] {libraryTypeName})); } + default Boolean subsetsChain(Feature first, Feature second) { return $bool($model().call(this, "subsetsChain", new Object[] {first, second})); } + default java.util.List supertypes(Boolean excludeImplied) { return $list($model().call(this, "supertypes", new Object[] {excludeImplied})); } + default java.util.List typingFeatures() { return $list($model().call(this, "typingFeatures", new Object[] {})); } + default String unqualifiedNameOf(String qualifiedName) { return $string($model().call(this, "unqualifiedNameOf", new Object[] {qualifiedName})); } + default String visibilityOf(Membership mem) { return $string($model().call(this, "visibilityOf", new Object[] {mem})); } + default java.util.List visibleMemberships(java.util.List excluded, Boolean isRecursive, Boolean includeAll) { return $list($model().call(this, "visibleMemberships", new Object[] {excluded, isRecursive, includeAll})); } +} diff --git a/metamodel.json b/metamodel.json new file mode 100644 index 0000000..260ca54 --- /dev/null +++ b/metamodel.json @@ -0,0 +1,98272 @@ +{ + "classes": { + "AcceptActionUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "isTriggerAction", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "payloadArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "payloadParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ReferenceUsage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "receiverArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ActionDefinition": { + "abstract": false, + "bases": [ + "OccurrenceDefinition", + "Behavior" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ActionUsage": { + "abstract": false, + "bases": [ + "Step", + "OccurrenceUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "inputParameters", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Feature" + } + }, + { + "name": "inputParameter", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "Integer" + } + ], + "params": [ + "i" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + }, + { + "name": "argument", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "Integer" + } + ], + "params": [ + "i" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Expression" + } + }, + { + "name": "isSubactionUsage", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ActorMembership": { + "abstract": false, + "bases": [ + "ParameterMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedActorParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "ParameterMembership::ownedMemberParameter" + ], + "shape": "R", + "type": "PartUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "AllocationDefinition": { + "abstract": false, + "bases": [ + "ConnectionDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "allocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "connectionEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Association::associationEnd" + ], + "shape": "A", + "type": "Usage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Type::isSufficient" + ], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "AllocationUsage": { + "abstract": false, + "bases": [ + "ConnectionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "allocationDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ConnectionUsage::connectionDefinition" + ], + "shape": "A", + "type": "AllocationDefinition" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association" + ], + "shape": "A", + "type": "AssociationStructure" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "partDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "AnalysisCaseDefinition": { + "abstract": false, + "bases": [ + "CaseDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "calculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "resultExpression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "AnalysisCaseUsage": { + "abstract": false, + "bases": [ + "CaseUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "analysisCaseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CaseUsage::caseDefinition" + ], + "shape": "N", + "type": "AnalysisCaseDefinition" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "calculationDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Expression::function" + ], + "shape": "N", + "type": "Function" + }, + "caseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CalculationUsage::calculationDefinition" + ], + "shape": "N", + "type": "CaseDefinition" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "resultExpression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "AnnotatingElement": { + "abstract": false, + "bases": [ + "Element" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "annotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Annotation" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "Annotation": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "annotatingElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "AnnotatingElement" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotatingElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "AnnotatingElement" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "AnnotatingElement" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "AssertConstraintUsage": { + "abstract": false, + "bases": [ + "Invariant", + "ConstraintUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assertedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ConstraintUsage" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "constraintDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "BooleanExpression::predicate" + ], + "shape": "N", + "type": "Predicate" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isNegated": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "AssignmentActionUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referent": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "targetArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "valueExpression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Association": { + "abstract": false, + "bases": [ + "Classifier", + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "AssociationStructure": { + "abstract": false, + "bases": [ + "Structure", + "Association" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "AttributeDefinition": { + "abstract": false, + "bases": [ + "DataType", + "Definition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "AttributeUsage": { + "abstract": false, + "bases": [ + "Usage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "attributeDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "DataType" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Behavior": { + "abstract": false, + "bases": [ + "Class" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "BindingConnector": { + "abstract": false, + "bases": [ + "Connector" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "BindingConnectorAsUsage": { + "abstract": false, + "bases": [ + "BindingConnector", + "ConnectorAsUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "BooleanExpression": { + "abstract": false, + "bases": [ + "Expression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "CalculationDefinition": { + "abstract": false, + "bases": [ + "ActionDefinition", + "Function" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "calculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "CalculationUsage": { + "abstract": false, + "bases": [ + "Expression", + "ActionUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "calculationDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Expression::function" + ], + "shape": "N", + "type": "Function" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "CaseDefinition": { + "abstract": false, + "bases": [ + "CalculationDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "calculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "CaseUsage": { + "abstract": false, + "bases": [ + "CalculationUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "calculationDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Expression::function" + ], + "shape": "N", + "type": "Function" + }, + "caseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CalculationUsage::calculationDefinition" + ], + "shape": "N", + "type": "CaseDefinition" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Class": { + "abstract": false, + "bases": [ + "Classifier" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Classifier": { + "abstract": false, + "bases": [ + "Type" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "CollectExpression": { + "abstract": false, + "bases": [ + "OperatorExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "operator": { + "derived": false, + "kind": "primitive", + "redefines": [ + "OperatorExpression::operator" + ], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Comment": { + "abstract": false, + "bases": [ + "AnnotatingElement" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "annotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "body": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "S", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "locale": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Annotation" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "ConcernDefinition": { + "abstract": false, + "bases": [ + "RequirementDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConcernUsage": { + "abstract": false, + "bases": [ + "RequirementUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "concernDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "RequirementUsage::requirementDefinition" + ], + "shape": "N", + "type": "ConcernDefinition" + }, + "constraintDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "BooleanExpression::predicate" + ], + "shape": "N", + "type": "Predicate" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "requirementDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ConstraintUsage::constraintDefinition" + ], + "shape": "N", + "type": "RequirementDefinition" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConjugatedPortDefinition": { + "abstract": false, + "bases": [ + "PortDefinition" + ], + "language": "sysml", + "ops": [ + { + "name": "effectiveName", + "paramTypes": [], + "params": [], + "redefines": [ + "Element::effectiveName" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "conjugatedPortDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ConjugatedPortDefinition" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "originalPortDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Element::owningNamespace" + ], + "shape": "R", + "type": "PortDefinition" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedPortConjugator": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::ownedConjugator" + ], + "shape": "R", + "type": "PortConjugation" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConjugatedPortTyping": { + "abstract": false, + "bases": [ + "FeatureTyping" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "conjugatedPortDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "FeatureTyping::type" + ], + "shape": "R", + "type": "ConjugatedPortDefinition" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "portDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "PortDefinition" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Type" + }, + "typedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Feature" + } + } + }, + "Conjugation": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "conjugatedType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "originalType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "ConnectionDefinition": { + "abstract": false, + "bases": [ + "AssociationStructure", + "PartDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "connectionEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Association::associationEnd" + ], + "shape": "A", + "type": "Usage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Type::isSufficient" + ], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConnectionUsage": { + "abstract": false, + "bases": [ + "PartUsage", + "ConnectorAsUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association" + ], + "shape": "A", + "type": "AssociationStructure" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "partDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Connector": { + "abstract": false, + "bases": [ + "Feature", + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "ConnectorAsUsage": { + "abstract": true, + "bases": [ + "Usage", + "Connector" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConstraintDefinition": { + "abstract": false, + "bases": [ + "OccurrenceDefinition", + "Predicate" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConstraintUsage": { + "abstract": false, + "bases": [ + "OccurrenceUsage", + "BooleanExpression" + ], + "language": "sysml", + "ops": [ + { + "name": "namingFeature", + "paramTypes": [], + "params": [], + "redefines": [ + "Usage::namingFeature" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + }, + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "constraintDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "BooleanExpression::predicate" + ], + "shape": "N", + "type": "Predicate" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ConstructorExpression": { + "abstract": false, + "bases": [ + "InstantiationExpression" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "ControlNode": { + "abstract": true, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "multiplicityHasBounds", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Multiplicity" + }, + { + "kind": "primitive", + "many": false, + "type": "Integer" + }, + { + "kind": "primitive", + "many": false, + "type": "UnlimitedNatural" + } + ], + "params": [ + "mult", + "lower", + "upper" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "CrossSubsetting": { + "abstract": false, + "bases": [ + "Subsetting" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "crossedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Subsetting::subsettedFeature" + ], + "shape": "R", + "type": "Feature" + }, + "crossingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Subsetting::owningFeature", + "Subsetting::subsettingFeature" + ], + "shape": "R", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "subsettedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Feature" + }, + "subsettingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "DataType": { + "abstract": false, + "bases": [ + "Classifier" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "DecisionNode": { + "abstract": false, + "bases": [ + "ControlNode" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Definition": { + "abstract": false, + "bases": [ + "Classifier" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Dependency": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "client": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "A", + "type": "Element" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "supplier": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "Differencing": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "typeDifferenced": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + } + } + }, + "Disjoining": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "disjoiningType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "typeDisjoined": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + } + } + }, + "Documentation": { + "abstract": false, + "bases": [ + "Comment" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "annotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "body": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "S", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "documentedElement": { + "derived": true, + "kind": "element", + "redefines": [ + "AnnotatingElement::annotatedElement" + ], + "shape": "R", + "type": "Element" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "locale": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Annotation" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "Element": { + "abstract": true, + "bases": [], + "language": "kerml", + "ops": [ + { + "name": "escapedName", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + }, + { + "name": "effectiveShortName", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + }, + { + "name": "effectiveName", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + }, + { + "name": "libraryNamespace", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Namespace" + } + }, + { + "name": "path", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "ElementFilterMembership": { + "abstract": false, + "bases": [ + "OwningMembership" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "condition": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Expression" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "EndFeatureMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "EnumerationDefinition": { + "abstract": false, + "bases": [ + "AttributeDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "enumeratedValue": { + "derived": true, + "kind": "element", + "redefines": [ + "Definition::variant" + ], + "shape": "A", + "type": "EnumerationUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Definition::isVariation" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "EnumerationUsage": { + "abstract": false, + "bases": [ + "AttributeUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "attributeDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "DataType" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "enumerationDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "AttributeUsage::attributeDefinition" + ], + "shape": "R", + "type": "EnumerationDefinition" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "EventOccurrenceUsage": { + "abstract": false, + "bases": [ + "OccurrenceUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "eventOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "OccurrenceUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ExhibitStateUsage": { + "abstract": false, + "bases": [ + "PerformActionUsage", + "StateUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "doAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "entryAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "eventOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "OccurrenceUsage" + }, + "exhibitedState": { + "derived": true, + "kind": "element", + "redefines": [ + "PerformActionUsage::performedAction" + ], + "shape": "R", + "type": "StateUsage" + }, + "exitAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isParallel": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "performedAction": { + "derived": true, + "kind": "element", + "redefines": [ + "EventOccurrenceUsage::eventOccurrence" + ], + "shape": "R", + "type": "ActionUsage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stateDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition" + ], + "shape": "A", + "type": "Behavior" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Expose": { + "abstract": true, + "bases": [ + "Import" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "importedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImportAll": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Import::isImportAll" + ], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isRecursive": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [ + "Import::visibility" + ], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "Expression": { + "abstract": false, + "bases": [ + "Step" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "evaluate", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + }, + { + "name": "checkCondition", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Feature": { + "abstract": false, + "bases": [ + "Type" + ], + "language": "kerml", + "ops": [ + { + "name": "directionFor", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Type" + } + ], + "params": [ + "type" + ], + "redefines": [], + "returns": { + "kind": "enum", + "many": false, + "type": "FeatureDirectionKind" + } + }, + { + "name": "effectiveShortName", + "paramTypes": [], + "params": [], + "redefines": [ + "Element::effectiveShortName" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + }, + { + "name": "effectiveName", + "paramTypes": [], + "params": [], + "redefines": [ + "Element::effectiveName" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + }, + { + "name": "namingFeature", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + }, + { + "name": "supertypes", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excludeImplied" + ], + "redefines": [ + "Type::supertypes" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Type" + } + }, + { + "name": "redefines", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Feature" + } + ], + "params": [ + "redefinedFeature" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "redefinesFromLibrary", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "libraryFeatureName" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "subsetsChain", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Feature" + }, + { + "kind": "element", + "many": false, + "type": "Feature" + } + ], + "params": [ + "first", + "second" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "isCompatibleWith", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Type" + } + ], + "params": [ + "otherType" + ], + "redefines": [ + "Type::isCompatibleWith" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "typingFeatures", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Feature" + } + }, + { + "name": "asCartesianProduct", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Type" + } + }, + { + "name": "isCartesianProduct", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "isOwnedCrossFeature", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "ownedCrossFeature", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + }, + { + "name": "allRedefinedFeatures", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Feature" + } + }, + { + "name": "isFeaturedWithin", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Type" + } + ], + "params": [ + "type" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "canAccess", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Feature" + } + ], + "params": [ + "feature" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "isFeaturingType", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Type" + } + ], + "params": [ + "type" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "FeatureChainExpression": { + "abstract": false, + "bases": [ + "OperatorExpression" + ], + "language": "kerml", + "ops": [ + { + "name": "sourceTargetFeature", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "operator": { + "derived": false, + "kind": "primitive", + "redefines": [ + "OperatorExpression::operator" + ], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "FeatureChaining": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "featureChained": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Feature" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "FeatureInverting": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "featureInverted": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Feature" + }, + "invertingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Feature" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "FeatureMembership": { + "abstract": false, + "bases": [ + "OwningMembership" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "FeatureReferenceExpression": { + "abstract": false, + "bases": [ + "Expression" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "evaluate", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [ + "Expression::evaluate" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referent": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "FeatureTyping": { + "abstract": false, + "bases": [ + "Specialization" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Type" + }, + "typedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Feature" + } + } + }, + "FeatureValue": { + "abstract": false, + "bases": [ + "OwningMembership" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "featureWithValue": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "isDefault": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isInitial": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "value": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Expression" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "Flow": { + "abstract": false, + "bases": [ + "Connector", + "Step" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "flowEnd": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowEnd" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "interaction": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association", + "Step::behavior" + ], + "shape": "A", + "type": "Interaction" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "payloadFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "PayloadFeature" + }, + "payloadType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Classifier" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "sourceOutputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "targetInputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "FlowDefinition": { + "abstract": false, + "bases": [ + "ActionDefinition", + "Interaction" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "flowEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Association::associationEnd" + ], + "shape": "A", + "type": "Usage" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "FlowEnd": { + "abstract": false, + "bases": [ + "Feature" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "FlowUsage": { + "abstract": false, + "bases": [ + "ConnectorAsUsage", + "Flow", + "ActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "flowDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Flow::interaction" + ], + "shape": "A", + "type": "Interaction" + }, + "flowEnd": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowEnd" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "interaction": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association", + "Step::behavior" + ], + "shape": "A", + "type": "Interaction" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "payloadFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "PayloadFeature" + }, + "payloadType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Classifier" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "sourceOutputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "targetInputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ForLoopActionUsage": { + "abstract": false, + "bases": [ + "LoopActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "bodyAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ActionUsage" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "loopVariable": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ReferenceUsage" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "seqArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Expression" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ForkNode": { + "abstract": false, + "bases": [ + "ControlNode" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "FramedConcernMembership": { + "abstract": false, + "bases": [ + "RequirementConstraintMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "kind": { + "derived": false, + "kind": "enum", + "redefines": [ + "RequirementConstraintMembership::kind" + ], + "shape": "N", + "type": "RequirementConstraintKind" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [ + "RequirementConstraintMembership::ownedConstraint" + ], + "shape": "R", + "type": "ConcernUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "ConstraintUsage" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referencedConcern": { + "derived": true, + "kind": "element", + "redefines": [ + "RequirementConstraintMembership::referencedConstraint" + ], + "shape": "R", + "type": "ConcernUsage" + }, + "referencedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ConstraintUsage" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "Function": { + "abstract": false, + "bases": [ + "Behavior" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "IfActionUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "elseAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "ifArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Expression" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "thenAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ActionUsage" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Import": { + "abstract": true, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [ + { + "name": "importedMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + } + ], + "params": [ + "excluded" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "importedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImportAll": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isRecursive": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "IncludeUseCaseUsage": { + "abstract": false, + "bases": [ + "UseCaseUsage", + "PerformActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "calculationDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Expression::function" + ], + "shape": "N", + "type": "Function" + }, + "caseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CalculationUsage::calculationDefinition" + ], + "shape": "N", + "type": "CaseDefinition" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "eventOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "OccurrenceUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "includedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "performedAction": { + "derived": true, + "kind": "element", + "redefines": [ + "EventOccurrenceUsage::eventOccurrence" + ], + "shape": "R", + "type": "ActionUsage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "useCaseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CaseUsage::caseDefinition" + ], + "shape": "N", + "type": "UseCaseDefinition" + }, + "useCaseIncluded": { + "derived": true, + "kind": "element", + "redefines": [ + "PerformActionUsage::performedAction" + ], + "shape": "R", + "type": "UseCaseUsage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "IndexExpression": { + "abstract": false, + "bases": [ + "OperatorExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "operator": { + "derived": false, + "kind": "primitive", + "redefines": [ + "OperatorExpression::operator" + ], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "InstantiationExpression": { + "abstract": true, + "bases": [ + "Expression" + ], + "language": "kerml", + "ops": [ + { + "name": "instantiatedType", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Type" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Interaction": { + "abstract": false, + "bases": [ + "Association", + "Behavior" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "InterfaceDefinition": { + "abstract": false, + "bases": [ + "ConnectionDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "associationEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "connectionEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Association::associationEnd" + ], + "shape": "A", + "type": "Usage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "interfaceEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "ConnectionDefinition::connectionEnd" + ], + "shape": "A", + "type": "PortUsage" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Type::isSufficient" + ], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Type" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetType": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Type" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "InterfaceUsage": { + "abstract": false, + "bases": [ + "ConnectionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association" + ], + "shape": "A", + "type": "AssociationStructure" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "interfaceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ConnectionUsage::connectionDefinition" + ], + "shape": "A", + "type": "InterfaceDefinition" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "partDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Intersecting": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "intersectingType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "typeIntersected": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + } + } + }, + "Invariant": { + "abstract": false, + "bases": [ + "BooleanExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isNegated": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "InvocationExpression": { + "abstract": false, + "bases": [ + "InstantiationExpression" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "evaluate", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [ + "Expression::evaluate" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "ItemDefinition": { + "abstract": false, + "bases": [ + "Structure", + "OccurrenceDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "ItemUsage": { + "abstract": false, + "bases": [ + "OccurrenceUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "JoinNode": { + "abstract": false, + "bases": [ + "ControlNode" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "LibraryPackage": { + "abstract": false, + "bases": [ + "Package" + ], + "language": "kerml", + "ops": [ + { + "name": "libraryNamespace", + "paramTypes": [], + "params": [], + "redefines": [ + "Element::libraryNamespace" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Namespace" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "filterCondition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isStandard": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "LiteralBoolean": { + "abstract": false, + "bases": [ + "LiteralExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "value": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + } + } + }, + "LiteralExpression": { + "abstract": false, + "bases": [ + "Expression" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "evaluate", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [ + "Expression::evaluate" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "LiteralInfinity": { + "abstract": false, + "bases": [ + "LiteralExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "LiteralInteger": { + "abstract": false, + "bases": [ + "LiteralExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "value": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Integer" + } + } + }, + "LiteralRational": { + "abstract": false, + "bases": [ + "LiteralExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "value": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Real" + } + } + }, + "LiteralString": { + "abstract": false, + "bases": [ + "LiteralExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "value": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + } + } + }, + "LoopActionUsage": { + "abstract": true, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "bodyAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ActionUsage" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Membership": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [ + { + "name": "isDistinguishableFrom", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Membership" + } + ], + "params": [ + "other" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "MembershipExpose": { + "abstract": false, + "bases": [ + "MembershipImport", + "Expose" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "importedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "importedMembership": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Membership" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImportAll": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Import::isImportAll" + ], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isRecursive": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [ + "Import::visibility" + ], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "MembershipImport": { + "abstract": false, + "bases": [ + "Import" + ], + "language": "kerml", + "ops": [ + { + "name": "importedMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + } + ], + "params": [ + "excluded" + ], + "redefines": [ + "Import::importedMemberships" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "importedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "importedMembership": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Membership" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImportAll": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isRecursive": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "MergeNode": { + "abstract": false, + "bases": [ + "ControlNode" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Metaclass": { + "abstract": false, + "bases": [ + "Structure" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "MetadataAccessExpression": { + "abstract": false, + "bases": [ + "Expression" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "evaluate", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [ + "Expression::evaluate" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + }, + { + "name": "metaclassFeature", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "MetadataFeature" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referencedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "MetadataDefinition": { + "abstract": false, + "bases": [ + "ItemDefinition", + "Metaclass" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "MetadataFeature": { + "abstract": false, + "bases": [ + "AnnotatingElement", + "Feature" + ], + "language": "kerml", + "ops": [ + { + "name": "evaluateFeature", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Feature" + } + ], + "params": [ + "baseFeature" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + }, + { + "name": "isSemantic", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "isSyntactic", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "syntaxElement", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Element" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "annotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "metaclass": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Metaclass" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Annotation" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "MetadataUsage": { + "abstract": false, + "bases": [ + "MetadataFeature", + "ItemUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "annotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "metaclass": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Metaclass" + }, + "metadataDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ItemUsage::itemDefinition", + "MetadataFeature::metaclass" + ], + "shape": "N", + "type": "Metaclass" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Annotation" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Multiplicity": { + "abstract": false, + "bases": [ + "Feature" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "MultiplicityRange": { + "abstract": false, + "bases": [ + "Multiplicity" + ], + "language": "kerml", + "ops": [ + { + "name": "hasBounds", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "Integer" + }, + { + "kind": "primitive", + "many": false, + "type": "UnlimitedNatural" + } + ], + "params": [ + "lower", + "upper" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "valueOf", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Expression" + } + ], + "params": [ + "bound" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "UnlimitedNatural" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "bound": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "lowerBound": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "upperBound": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Expression" + } + } + }, + "Namespace": { + "abstract": false, + "bases": [ + "Element" + ], + "language": "kerml", + "ops": [ + { + "name": "namesOf", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "element" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": true, + "type": "String" + } + }, + { + "name": "visibilityOf", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Membership" + } + ], + "params": [ + "mem" + ], + "redefines": [], + "returns": { + "kind": "enum", + "many": false, + "type": "VisibilityKind" + } + }, + { + "name": "visibleMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excluded", + "isRecursive", + "includeAll" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "importedMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + } + ], + "params": [ + "excluded" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "membershipsOfVisibility", + "paramTypes": [ + { + "kind": "enum", + "many": false, + "type": "VisibilityKind" + }, + { + "kind": "element", + "many": true, + "type": "Namespace" + } + ], + "params": [ + "visibility", + "excluded" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "resolve", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "qualifiedName" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Membership" + } + }, + { + "name": "resolveGlobal", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "qualifiedName" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Membership" + } + }, + { + "name": "resolveLocal", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "name" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Membership" + } + }, + { + "name": "resolveVisible", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "name" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Membership" + } + }, + { + "name": "qualificationOf", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "qualifiedName" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + }, + { + "name": "unqualifiedNameOf", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "qualifiedName" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "NamespaceExpose": { + "abstract": false, + "bases": [ + "Expose", + "NamespaceImport" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "importedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "importedNamespace": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Namespace" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImportAll": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Import::isImportAll" + ], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isRecursive": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [ + "Import::visibility" + ], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "NamespaceImport": { + "abstract": false, + "bases": [ + "Import" + ], + "language": "kerml", + "ops": [ + { + "name": "importedMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + } + ], + "params": [ + "excluded" + ], + "redefines": [ + "Import::importedMemberships" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "importOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "importedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Element" + }, + "importedNamespace": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Namespace" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImportAll": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isRecursive": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "NullExpression": { + "abstract": false, + "bases": [ + "Expression" + ], + "language": "kerml", + "ops": [ + { + "name": "modelLevelEvaluable", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Feature" + } + ], + "params": [ + "visited" + ], + "redefines": [ + "Expression::modelLevelEvaluable" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "evaluate", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "target" + ], + "redefines": [ + "Expression::evaluate" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Element" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "ObjectiveMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedObjectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "RequirementUsage" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "OccurrenceDefinition": { + "abstract": false, + "bases": [ + "Definition", + "Class" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "OccurrenceUsage": { + "abstract": false, + "bases": [ + "Usage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "OperatorExpression": { + "abstract": false, + "bases": [ + "InvocationExpression" + ], + "language": "kerml", + "ops": [ + { + "name": "instantiatedType", + "paramTypes": [], + "params": [], + "redefines": [ + "InstantiationExpression::instantiatedType" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Type" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "operator": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "OwningMembership": { + "abstract": false, + "bases": [ + "Membership" + ], + "language": "kerml", + "ops": [ + { + "name": "path", + "paramTypes": [], + "params": [], + "redefines": [ + "Relationship::path" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "Package": { + "abstract": false, + "bases": [ + "Namespace" + ], + "language": "kerml", + "ops": [ + { + "name": "importedMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + } + ], + "params": [ + "excluded" + ], + "redefines": [ + "Namespace::importedMemberships" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "includeAsMember", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "element" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "filterCondition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "ParameterMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "kerml", + "ops": [ + { + "name": "parameterDirection", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "enum", + "many": false, + "type": "FeatureDirectionKind" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "PartDefinition": { + "abstract": false, + "bases": [ + "ItemDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "PartUsage": { + "abstract": false, + "bases": [ + "ItemUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "partDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "PayloadFeature": { + "abstract": false, + "bases": [ + "Feature" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "PerformActionUsage": { + "abstract": false, + "bases": [ + "EventOccurrenceUsage", + "ActionUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "namingFeature", + "paramTypes": [], + "params": [], + "redefines": [ + "Usage::namingFeature" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "eventOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "OccurrenceUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "performedAction": { + "derived": true, + "kind": "element", + "redefines": [ + "EventOccurrenceUsage::eventOccurrence" + ], + "shape": "R", + "type": "ActionUsage" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "PortConjugation": { + "abstract": false, + "bases": [ + "Conjugation" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "conjugatedPortDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Conjugation::owningType" + ], + "shape": "R", + "type": "ConjugatedPortDefinition" + }, + "conjugatedType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "originalPortDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "Conjugation::originalType" + ], + "shape": "R", + "type": "PortDefinition" + }, + "originalType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "PortDefinition": { + "abstract": false, + "bases": [ + "Structure", + "OccurrenceDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "conjugatedPortDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ConjugatedPortDefinition" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "PortUsage": { + "abstract": false, + "bases": [ + "OccurrenceUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "portDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition" + ], + "shape": "A", + "type": "PortDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Predicate": { + "abstract": false, + "bases": [ + "Function" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Redefinition": { + "abstract": false, + "bases": [ + "Subsetting" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "redefinedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Subsetting::subsettedFeature" + ], + "shape": "R", + "type": "Feature" + }, + "redefiningFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Subsetting::subsettingFeature" + ], + "shape": "R", + "type": "Feature" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "subsettedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Feature" + }, + "subsettingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "ReferenceSubsetting": { + "abstract": false, + "bases": [ + "Subsetting" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referencedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Subsetting::subsettedFeature" + ], + "shape": "R", + "type": "Feature" + }, + "referencingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Subsetting::owningFeature", + "Subsetting::subsettingFeature" + ], + "shape": "R", + "type": "Feature" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "subsettedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Feature" + }, + "subsettingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "ReferenceUsage": { + "abstract": false, + "bases": [ + "Usage" + ], + "language": "sysml", + "ops": [ + { + "name": "namingFeature", + "paramTypes": [], + "params": [], + "redefines": [ + "Usage::namingFeature" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Usage::isReference" + ], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Relationship": { + "abstract": true, + "bases": [ + "Element" + ], + "language": "kerml", + "ops": [ + { + "name": "libraryNamespace", + "paramTypes": [], + "params": [], + "redefines": [ + "Element::libraryNamespace" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Namespace" + } + }, + { + "name": "path", + "paramTypes": [], + "params": [], + "redefines": [ + "Element::path" + ], + "returns": { + "kind": "primitive", + "many": false, + "type": "String" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "RenderingDefinition": { + "abstract": false, + "bases": [ + "PartDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "rendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "RenderingUsage": { + "abstract": false, + "bases": [ + "PartUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "partDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "renderingDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "PartUsage::partDefinition" + ], + "shape": "N", + "type": "RenderingDefinition" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "RequirementConstraintMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "kind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "RequirementConstraintKind" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "ConstraintUsage" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referencedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ConstraintUsage" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "RequirementDefinition": { + "abstract": false, + "bases": [ + "ConstraintDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "RequirementUsage": { + "abstract": false, + "bases": [ + "ConstraintUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "constraintDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "BooleanExpression::predicate" + ], + "shape": "N", + "type": "Predicate" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "requirementDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ConstraintUsage::constraintDefinition" + ], + "shape": "N", + "type": "RequirementDefinition" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "RequirementVerificationMembership": { + "abstract": false, + "bases": [ + "RequirementConstraintMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "kind": { + "derived": false, + "kind": "enum", + "redefines": [ + "RequirementConstraintMembership::kind" + ], + "shape": "N", + "type": "RequirementConstraintKind" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "ConstraintUsage" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [ + "RequirementConstraintMembership::ownedConstraint" + ], + "shape": "R", + "type": "RequirementUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referencedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ConstraintUsage" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "verifiedRequirement": { + "derived": true, + "kind": "element", + "redefines": [ + "RequirementConstraintMembership::referencedConstraint" + ], + "shape": "R", + "type": "RequirementUsage" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "ResultExpressionMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedResultExpression": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Expression" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "ReturnParameterMembership": { + "abstract": false, + "bases": [ + "ParameterMembership" + ], + "language": "kerml", + "ops": [ + { + "name": "parameterDirection", + "paramTypes": [], + "params": [], + "redefines": [ + "ParameterMembership::parameterDirection" + ], + "returns": { + "kind": "enum", + "many": false, + "type": "FeatureDirectionKind" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "SatisfyRequirementUsage": { + "abstract": false, + "bases": [ + "RequirementUsage", + "AssertConstraintUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assertedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ConstraintUsage" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "constraintDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "BooleanExpression::predicate" + ], + "shape": "N", + "type": "Predicate" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isNegated": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "requirementDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ConstraintUsage::constraintDefinition" + ], + "shape": "N", + "type": "RequirementDefinition" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "satisfiedRequirement": { + "derived": true, + "kind": "element", + "redefines": [ + "AssertConstraintUsage::assertedConstraint" + ], + "shape": "R", + "type": "RequirementUsage" + }, + "satisfyingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "SelectExpression": { + "abstract": false, + "bases": [ + "OperatorExpression" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "operator": { + "derived": false, + "kind": "primitive", + "redefines": [ + "OperatorExpression::operator" + ], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "SendActionUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "payloadArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Expression" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "receiverArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "senderArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Specialization": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "StakeholderMembership": { + "abstract": false, + "bases": [ + "ParameterMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedStakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "ParameterMembership::ownedMemberParameter" + ], + "shape": "R", + "type": "PartUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "StateDefinition": { + "abstract": false, + "bases": [ + "ActionDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "doAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "entryAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "exitAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isParallel": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "state": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "StateSubactionMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "ActionUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "kind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "StateSubactionKind" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "StateUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "isSubstateUsage", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "isParallel" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "doAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "entryAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "exitAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ActionUsage" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isParallel": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stateDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition" + ], + "shape": "A", + "type": "Behavior" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "Step": { + "abstract": false, + "bases": [ + "Feature" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Structure": { + "abstract": false, + "bases": [ + "Class" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Subclassification": { + "abstract": false, + "bases": [ + "Specialization" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningClassifier": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Classifier" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "subclassifier": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Classifier" + }, + "superclassifier": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Classifier" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "SubjectMembership": { + "abstract": false, + "bases": [ + "ParameterMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSubjectParameter": { + "derived": true, + "kind": "element", + "redefines": [ + "ParameterMembership::ownedMemberParameter" + ], + "shape": "R", + "type": "Usage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "Subsetting": { + "abstract": false, + "bases": [ + "Specialization" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "general": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Specialization::owningType" + ], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "specific": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "subsettedFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::general" + ], + "shape": "R", + "type": "Feature" + }, + "subsettingFeature": { + "derived": false, + "kind": "element", + "redefines": [ + "Specialization::specific" + ], + "shape": "R", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "Succession": { + "abstract": false, + "bases": [ + "Connector" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "SuccessionAsUsage": { + "abstract": false, + "bases": [ + "ConnectorAsUsage", + "Succession" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "SuccessionFlow": { + "abstract": false, + "bases": [ + "Succession", + "Flow" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "flowEnd": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowEnd" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "interaction": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association", + "Step::behavior" + ], + "shape": "A", + "type": "Interaction" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "payloadFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "PayloadFeature" + }, + "payloadType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Classifier" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "sourceOutputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "targetInputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "SuccessionFlowUsage": { + "abstract": false, + "bases": [ + "SuccessionFlow", + "FlowUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "association": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Association" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "connectorEnd": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::endFeature" + ], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "defaultFeaturingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "flowDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Flow::interaction" + ], + "shape": "A", + "type": "Interaction" + }, + "flowEnd": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowEnd" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "interaction": { + "derived": true, + "kind": "element", + "redefines": [ + "Connector::association", + "Step::behavior" + ], + "shape": "A", + "type": "Interaction" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "payloadFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "PayloadFeature" + }, + "payloadType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Classifier" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "relatedFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::relatedElement" + ], + "shape": "A", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "sourceFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "N", + "type": "Feature" + }, + "sourceOutputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "targetFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "A", + "type": "Feature" + }, + "targetInputFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "TerminateActionUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "terminatedOccurrenceArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "TextualRepresentation": { + "abstract": false, + "bases": [ + "AnnotatingElement" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "annotatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "annotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "body": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "S", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "language": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "S", + "type": "String" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningAnnotatingRelationship": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Annotation" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "representedElement": { + "derived": true, + "kind": "element", + "redefines": [ + "AnnotatingElement::annotatedElement" + ], + "shape": "R", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "TransitionFeatureMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "kind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "TransitionFeatureKind" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "transitionFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "Step" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "TransitionUsage": { + "abstract": false, + "bases": [ + "ActionUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "triggerPayloadParameter", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "ReferenceUsage" + } + }, + { + "name": "sourceFeature", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + } + ], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "effectAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "guardExpression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ActionUsage" + }, + "succession": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Succession" + }, + "target": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ActionUsage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "triggerAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AcceptActionUsage" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "TriggerInvocationExpression": { + "abstract": false, + "bases": [ + "InvocationExpression" + ], + "language": "sysml", + "ops": [ + { + "name": "instantiatedType", + "paramTypes": [], + "params": [], + "redefines": [ + "InstantiationExpression::instantiatedType" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Type" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "argument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "instantiatedType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Type" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "kind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "TriggerKind" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "Type": { + "abstract": false, + "bases": [ + "Namespace" + ], + "language": "kerml", + "ops": [ + { + "name": "visibleMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excluded", + "isRecursive", + "includeAll" + ], + "redefines": [ + "Namespace::visibleMemberships" + ], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "inheritedMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + }, + { + "kind": "element", + "many": true, + "type": "Type" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excludedNamespaces", + "excludedTypes", + "excludeImplied" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "inheritableMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + }, + { + "kind": "element", + "many": true, + "type": "Type" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excludedNamespaces", + "excludedTypes", + "excludeImplied" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "nonPrivateMemberships", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Namespace" + }, + { + "kind": "element", + "many": true, + "type": "Type" + }, + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excludedNamespaces", + "excludedTypes", + "excludeImplied" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "removeRedefinedFeatures", + "paramTypes": [ + { + "kind": "element", + "many": true, + "type": "Membership" + } + ], + "params": [ + "memberships" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Membership" + } + }, + { + "name": "allRedefinedFeaturesOf", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Membership" + } + ], + "params": [ + "membership" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Feature" + } + }, + { + "name": "directionOf", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Feature" + } + ], + "params": [ + "feature" + ], + "redefines": [], + "returns": { + "kind": "enum", + "many": false, + "type": "FeatureDirectionKind" + } + }, + { + "name": "directionOfExcluding", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Feature" + }, + { + "kind": "element", + "many": true, + "type": "Type" + } + ], + "params": [ + "feature", + "excluded" + ], + "redefines": [], + "returns": { + "kind": "enum", + "many": false, + "type": "FeatureDirectionKind" + } + }, + { + "name": "supertypes", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + ], + "params": [ + "excludeImplied" + ], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Type" + } + }, + { + "name": "allSupertypes", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Type" + } + }, + { + "name": "specializes", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Type" + } + ], + "params": [ + "supertype" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "specializesFromLibrary", + "paramTypes": [ + { + "kind": "primitive", + "many": false, + "type": "String" + } + ], + "params": [ + "libraryTypeName" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "isCompatibleWith", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Type" + } + ], + "params": [ + "otherType" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + }, + { + "name": "multiplicities", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": true, + "type": "Multiplicity" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + } + } + }, + "TypeFeaturing": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "featureOfType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningFeatureOfType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + } + } + }, + "Unioning": { + "abstract": false, + "bases": [ + "Relationship" + ], + "language": "kerml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "typeUnioned": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Type" + }, + "unioningType": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Type" + } + } + }, + "Usage": { + "abstract": false, + "bases": [ + "Feature" + ], + "language": "sysml", + "ops": [ + { + "name": "namingFeature", + "paramTypes": [], + "params": [], + "redefines": [ + "Feature::namingFeature" + ], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + }, + { + "name": "referencedFeatureTarget", + "paramTypes": [], + "params": [], + "redefines": [], + "returns": { + "kind": "element", + "many": false, + "type": "Feature" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "UseCaseDefinition": { + "abstract": false, + "bases": [ + "CaseDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "calculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "includedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "UseCaseUsage": { + "abstract": false, + "bases": [ + "CaseUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "calculationDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Expression::function" + ], + "shape": "N", + "type": "Function" + }, + "caseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CalculationUsage::calculationDefinition" + ], + "shape": "N", + "type": "CaseDefinition" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "includedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "useCaseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CaseUsage::caseDefinition" + ], + "shape": "N", + "type": "UseCaseDefinition" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + } + } + }, + "VariantMembership": { + "abstract": false, + "bases": [ + "OwningMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedVariantUsage": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Usage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "VerificationCaseDefinition": { + "abstract": false, + "bases": [ + "CaseDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "action": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "calculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "verifiedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + } + } + }, + "VerificationCaseUsage": { + "abstract": false, + "bases": [ + "CaseUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "calculationDefinition": { + "derived": false, + "kind": "element", + "redefines": [ + "ActionUsage::actionDefinition", + "Expression::function" + ], + "shape": "N", + "type": "Function" + }, + "caseDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "CalculationUsage::calculationDefinition" + ], + "shape": "N", + "type": "CaseDefinition" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "objectiveRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RequirementUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "verificationCaseDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "VerificationCaseDefinition" + }, + "verifiedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + } + } + }, + "ViewDefinition": { + "abstract": false, + "bases": [ + "PartDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "satisfiedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "view": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "viewCondition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "viewRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RenderingUsage" + } + } + }, + "ViewRenderingMembership": { + "abstract": false, + "bases": [ + "FeatureMembership" + ], + "language": "sysml", + "ops": [], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "isImplied": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "memberElement": { + "derived": false, + "kind": "element", + "redefines": [ + "Relationship::target" + ], + "shape": "R", + "type": "Element" + }, + "memberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "memberShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "membershipOwningNamespace": { + "derived": true, + "kind": "element", + "redefines": [ + "Relationship::source" + ], + "shape": "R", + "type": "Namespace" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMemberElement": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::memberElement" + ], + "shape": "R", + "type": "Element" + }, + "ownedMemberElementId": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberElementId" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberFeature": { + "derived": true, + "kind": "element", + "redefines": [ + "OwningMembership::ownedMemberElement" + ], + "shape": "R", + "type": "Feature" + }, + "ownedMemberName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberName" + ], + "shape": "N", + "type": "String" + }, + "ownedMemberShortName": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Membership::memberShortName" + ], + "shape": "N", + "type": "String" + }, + "ownedRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [ + "FeatureMembership::ownedMemberFeature" + ], + "shape": "R", + "type": "RenderingUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelatedElement": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [ + "Membership::membershipOwningNamespace" + ], + "shape": "R", + "type": "Type" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "referencedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "RenderingUsage" + }, + "relatedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "source": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "target": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "visibility": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "VisibilityKind" + } + } + }, + "ViewUsage": { + "abstract": false, + "bases": [ + "PartUsage" + ], + "language": "sysml", + "ops": [ + { + "name": "includeAsExposed", + "paramTypes": [ + { + "kind": "element", + "many": false, + "type": "Element" + } + ], + "params": [ + "element" + ], + "redefines": [], + "returns": { + "kind": "primitive", + "many": false, + "type": "Boolean" + } + } + ], + "props": { + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "exposedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "itemDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Structure" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "partDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartDefinition" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "satisfiedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "viewCondition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "viewDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "PartUsage::partDefinition" + ], + "shape": "N", + "type": "ViewDefinition" + }, + "viewRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "RenderingUsage" + } + } + }, + "ViewpointDefinition": { + "abstract": false, + "bases": [ + "RequirementDefinition" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "expression": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Expression" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "ownedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "ownedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "ownedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "ownedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "ownedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "ownedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "ownedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "ownedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "ownedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "ownedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "ownedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "ownedSubclassification": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subclassification" + }, + "ownedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "ownedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "ownedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "ownedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "ownedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "ownedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "step": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Step" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "viewpointStakeholder": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + } + } + }, + "ViewpointUsage": { + "abstract": false, + "bases": [ + "RequirementUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actorParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "assumedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "constraintDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "BooleanExpression::predicate" + ], + "shape": "N", + "type": "Predicate" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "framedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "function": { + "derived": true, + "kind": "element", + "redefines": [ + "Step::behavior" + ], + "shape": "N", + "type": "Function" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isModelLevelEvaluable": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "predicate": { + "derived": true, + "kind": "element", + "redefines": [ + "Expression::function" + ], + "shape": "N", + "type": "Predicate" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "reqId": { + "derived": false, + "kind": "primitive", + "redefines": [ + "Element::declaredShortName" + ], + "shape": "N", + "type": "String" + }, + "requiredConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "requirementDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "ConstraintUsage::constraintDefinition" + ], + "shape": "N", + "type": "RequirementDefinition" + }, + "result": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "stakeholderParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "subjectParameter": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Usage" + }, + "text": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "viewpointDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "RequirementUsage::requirementDefinition" + ], + "shape": "N", + "type": "ViewpointDefinition" + }, + "viewpointStakeholder": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + } + } + }, + "WhileLoopActionUsage": { + "abstract": false, + "bases": [ + "LoopActionUsage" + ], + "language": "sysml", + "ops": [], + "props": { + "actionDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "OccurrenceUsage::occurrenceDefinition", + "Step::behavior" + ], + "shape": "A", + "type": "Behavior" + }, + "aliasIds": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "A", + "type": "String" + }, + "behavior": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Behavior" + }, + "bodyAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "ActionUsage" + }, + "chainingFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "crossFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Feature" + }, + "declaredName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "declaredShortName": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "definition": { + "derived": true, + "kind": "element", + "redefines": [ + "Feature::type" + ], + "shape": "A", + "type": "Classifier" + }, + "differencingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "directedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "directedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "direction": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "FeatureDirectionKind" + }, + "documentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Documentation" + }, + "elementId": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "endFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "endOwningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "feature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "featureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "featureTarget": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Feature" + }, + "featuringType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "importedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "individualDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OccurrenceDefinition" + }, + "inheritedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "inheritedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "input": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "intersectingType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "isAbstract": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isComposite": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConjugated": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isConstant": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isDerived": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isEnd": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isImpliedIncluded": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isIndividual": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isLibraryElement": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isOrdered": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isPortion": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isReference": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isSufficient": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isUnique": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariable": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "isVariation": { + "derived": false, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "Boolean" + }, + "mayTimeVary": { + "derived": true, + "kind": "primitive", + "redefines": [ + "Feature::isVariable" + ], + "shape": "N", + "type": "Boolean" + }, + "member": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "membership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "multiplicity": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Multiplicity" + }, + "name": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "nestedAction": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ActionUsage" + }, + "nestedAllocation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AllocationUsage" + }, + "nestedAnalysisCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AnalysisCaseUsage" + }, + "nestedAttribute": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "AttributeUsage" + }, + "nestedCalculation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CalculationUsage" + }, + "nestedCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "CaseUsage" + }, + "nestedConcern": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConcernUsage" + }, + "nestedConnection": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConnectorAsUsage" + }, + "nestedConstraint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ConstraintUsage" + }, + "nestedEnumeration": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "EnumerationUsage" + }, + "nestedFlow": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FlowUsage" + }, + "nestedInterface": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "InterfaceUsage" + }, + "nestedItem": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ItemUsage" + }, + "nestedMetadata": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "MetadataUsage" + }, + "nestedOccurrence": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "OccurrenceUsage" + }, + "nestedPart": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PartUsage" + }, + "nestedPort": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "PortUsage" + }, + "nestedReference": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ReferenceUsage" + }, + "nestedRendering": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RenderingUsage" + }, + "nestedRequirement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "RequirementUsage" + }, + "nestedState": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "StateUsage" + }, + "nestedTransition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TransitionUsage" + }, + "nestedUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "nestedUseCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "UseCaseUsage" + }, + "nestedVerificationCase": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VerificationCaseUsage" + }, + "nestedView": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewUsage" + }, + "nestedViewpoint": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "ViewpointUsage" + }, + "occurrenceDefinition": { + "derived": true, + "kind": "element", + "redefines": [ + "Usage::definition" + ], + "shape": "A", + "type": "Class" + }, + "output": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedAnnotation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Annotation" + }, + "ownedConjugator": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Conjugation" + }, + "ownedCrossSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "CrossSubsetting" + }, + "ownedDifferencing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Differencing" + }, + "ownedDisjoining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Disjoining" + }, + "ownedElement": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedEndFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeature": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Feature" + }, + "ownedFeatureChaining": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureChaining" + }, + "ownedFeatureInverting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureInverting" + }, + "ownedFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureMembership" + }, + "ownedImport": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Import" + }, + "ownedIntersecting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Intersecting" + }, + "ownedMember": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Element" + }, + "ownedMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Membership" + }, + "ownedRedefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Redefinition" + }, + "ownedReferenceSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "ReferenceSubsetting" + }, + "ownedRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Relationship" + }, + "ownedSpecialization": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Specialization" + }, + "ownedSubsetting": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Subsetting" + }, + "ownedTypeFeaturing": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TypeFeaturing" + }, + "ownedTyping": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "FeatureTyping" + }, + "ownedUnioning": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Unioning" + }, + "owner": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Element" + }, + "owningDefinition": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Definition" + }, + "owningFeatureMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "FeatureMembership" + }, + "owningMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "OwningMembership" + }, + "owningNamespace": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Namespace" + }, + "owningRelationship": { + "derived": false, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Relationship" + }, + "owningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Type" + }, + "owningUsage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Usage" + }, + "parameter": { + "derived": true, + "kind": "element", + "redefines": [ + "Type::directedFeature" + ], + "shape": "A", + "type": "Feature" + }, + "portionKind": { + "derived": false, + "kind": "enum", + "redefines": [], + "shape": "N", + "type": "PortionKind" + }, + "qualifiedName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "shortName": { + "derived": true, + "kind": "primitive", + "redefines": [], + "shape": "N", + "type": "String" + }, + "textualRepresentation": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "TextualRepresentation" + }, + "type": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "unioningType": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Type" + }, + "untilArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "N", + "type": "Expression" + }, + "usage": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variant": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "Usage" + }, + "variantMembership": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "A", + "type": "VariantMembership" + }, + "whileArgument": { + "derived": true, + "kind": "element", + "redefines": [], + "shape": "R", + "type": "Expression" + } + } + } + }, + "meta": { + "specRefs": "20250201", + "table": "0.7.1", + "toolkitCommit": "69e44d72e54126157fbd4e473f9e4f97ffdf7a07", + "xmiErrata": [ + "Feature::isCompatibleWith", + "Type::isCompatibleWith" + ] + } +} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..9eedbbf --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,27 @@ +[build-system] +requires = ["setuptools>=77"] +build-backend = "setuptools.build_meta" + +[project] +name = "sysml" +version = "0.1.0" +description = "Spec-shaped SysML v2 SDK: generated metaclass surface over the SysML Toolkit, or over interchange payloads" +requires-python = ">=3.10" +readme = "README.md" +license = "Apache-2.0" +license-files = ["LICENSE", "NOTICE"] + +[project.optional-dependencies] +dev = ["pytest>=7"] + +[tool.setuptools] +packages = ["sysml"] +package-dir = {"" = "python"} + +# A platform wheel carries the binding library in _native/ (tools/package.py puts it there). +[tool.setuptools.package-data] +sysml = ["*.pyi", "_native/*"] + +[tool.pytest.ini_options] +testpaths = ["python/tests"] +pythonpath = ["python"] diff --git a/python/demo.py b/python/demo.py new file mode 100644 index 0000000..9f0392e --- /dev/null +++ b/python/demo.py @@ -0,0 +1,101 @@ +"""SDK demo + smoke assertions over real SysML Toolkit full-form payloads.""" + +import json +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +import sysml as f + +payload = json.loads( + (Path(__file__).parent.parent / "data" / "bigger.full.json").read_text(encoding="utf-8") +) +m = f.Model.from_full_json(payload) + +# --- typed resolution and hierarchy --------------------------------------- +vehicle = m.resolve("Demo::Vehicle") +print("resolve:", repr(vehicle)) +assert type(vehicle).__name__ == "PartDefinition" +assert isinstance(vehicle, f.REGISTRY["PartDefinition"]) +from sysml.classes import Classifier, Definition, Feature, Namespace, Type + +assert isinstance(vehicle, Classifier) and isinstance(vehicle, Type) +assert isinstance(vehicle, Namespace) and isinstance(vehicle, Definition) +assert not isinstance(vehicle, Feature) +print("isinstance chain: PartDefinition < Definition < Classifier < Type < Namespace OK") + +# --- navigation: computed properties return typed wrappers ---------------- +feats = vehicle.ownedFeature +print("ownedFeature:", [(w.metaclass_name, w.declaredName) for w in feats]) +assert len(feats) == 7 +wheel = next(w for w in feats if w.declaredName == "wheel") +assert wheel.metaclass_name == "PartUsage" +assert wheel.owner == vehicle +assert wheel.isComposite is True +assert vehicle.qualifiedName == "Demo::Vehicle" + +base = m.resolve("Demo::Base") +subclass = vehicle.ownedSubclassification +print("ownedSubclassification:", subclass) +assert len(subclass) == 1 and subclass[0].superclassifier == base + +# definition/typing across the graph +v_usage = m.resolve("Demo::v") +assert v_usage.definition == [vehicle] +print("v.definition -> Vehicle OK") + +# --- reads pass the backend value through unchanged ------------------------ +# (no client-side check: a property the SysML Toolkit does not +# implement is reported by the SysML Toolkit itself.) +assert vehicle.ownedPart == [] +assert vehicle.inheritedFeature == [] +print("unimplemented derivations -> [] (backend value, no second-guessing)") + +# --- operation stubs are honest ------------------------------------------- +try: + vehicle.specializes(base) + raise AssertionError("expected NotImplementedInToolkit") +except f.NotImplementedInToolkit: + print("Type.specializes() -> NotImplementedInToolkit (as designed)") + +# --- read-only guard ------------------------------------------------------- +try: + vehicle.declaredName = "X" + raise AssertionError("expected ReadOnly") +except f.ReadOnly: + print("assignment -> ReadOnly (payload backend, as designed)") + +# --- model-wide queries ---------------------------------------------------- +parts = m.elements_of_type("PartUsage") +usages = m.elements_of_type(f.REGISTRY["Usage"]) if "Usage" in f.REGISTRY else None +from sysml.classes import Usage + +all_usages = m.elements_of_type(Usage) # abstract classes work via isinstance +print(f"PartUsage: {len(parts)}, all Usage subtypes: {len(all_usages)}") +assert len(all_usages) > len(parts) + +calc = m.resolve("Demo::Vehicle::K") +assert calc.metaclass_name == "CalculationDefinition" +inp = calc.input +print("K.input:", [(w.metaclass_name, w.declaredName) for w in inp]) +assert [w.declaredName for w in inp] == ["x"] + +# --- collision rule: MetadataUsage.metaclass is the SPEC property ---------- +meta_payload = [ + {"@id": "mc1", "@type": "Metaclass", "declaredName": "Safety", + "qualifiedName": "M::Safety"}, + {"@id": "m1", "@type": "MetadataUsage", "qualifiedName": "M::stubbed", + "metaclass": None}, + {"@id": "m2", "@type": "MetadataUsage", "qualifiedName": "M::filled", + "metaclass": {"@id": "mc1"}}, +] +mm = f.Model.from_full_json(meta_payload) +mu = mm.element("m1") +assert mu.metaclass_name == "MetadataUsage" # runtime accessor, underscore rule +assert mu.metaclass is None # the spec property: backend value, passed through +filled = mm.element("m2").metaclass +assert filled == mm.element("mc1") and filled.metaclass_name == "Metaclass" +assert type(mu).metaclass.derived is True # class access -> the P descriptor +print("MetadataUsage: .metaclass_name (runtime) vs .metaclass (spec) OK") + +print("\nALL PYTHON SDK SMOKE TESTS PASSED") diff --git a/python/sysml/__init__.py b/python/sysml/__init__.py new file mode 100644 index 0000000..6207f53 --- /dev/null +++ b/python/sysml/__init__.py @@ -0,0 +1,4 @@ +from .base import (Element, SdkError, Gone, Model, NotComputed, NotImplementedInToolkit, PayloadBackend, + PayloadLibrary, ReadOnly, UnresolvedReference) +from .classes import * # noqa: F401,F403 +from .classes import REGISTRY diff --git a/python/sysml/base.py b/python/sysml/base.py new file mode 100644 index 0000000..114adca --- /dev/null +++ b/python/sysml/base.py @@ -0,0 +1,358 @@ +"""Runtime for the generated SDK: element base class, property +descriptors, the Model entry point, and the payload backend. + +Design contract: generated classes never see a backend directly — +every property access routes through Model._backend.get(). A property +read returns whatever the backend gave: the SysML Toolkit reports its +own unimplemented members, so the SDK never second-guesses a result. + +Collision rule (Python backend): every public runtime member on Element +contains an underscore (element_id, backend_handle, metaclass_name, +get_raw). Spec property and operation names are strict lowerCamelCase +and can never contain one, so a generated descriptor can never shadow a +runtime member. tools/gen_classes.py enforces the invariant at +generation time. +""" + +from __future__ import annotations + +from typing import Any, Iterable, Optional + + +class SdkError(Exception): + """Base of all SDK-specific errors.""" + + +class NotComputed(SdkError): + """A property the backend reports it does not compute. + + Reserved for a backend that says so itself; the SDK never infers it + from an empty result. + """ + + +class NotImplementedInToolkit(SdkError): + """A specification member the SysML Toolkit does not answer: raised + when the SysML Toolkit reports the member as not implemented, and for + every operation on a payload model.""" + + +class ReadOnly(SdkError): + """Edit attempted on a read-only backend (payload-backed model).""" + + +class Gone(SdkError): + """The element no longer exists in the backend's current state.""" + + +class UnresolvedReference(SdkError): + """A reference that did not resolve — a SysML Toolkit `@ref` + spelling passthrough (non-standard, best-effort) or a dangling `@id`. + + The SDK requires resolved models: typed navigation throws instead of + yielding placeholder objects. The + message carries everything known about the reference; `get_raw()` + still exposes the raw value for forensics. + """ + + +def _is_id_ref(v: Any) -> bool: + return isinstance(v, dict) and set(v.keys()) == {"@id"} + + +class P: + """Descriptor for one spec property (generated classes declare these). + + shape: A=array, B=boolean, N=nullable, R=required ref, S/E=scalar. + derived: the XMI derived flag (spec information, not a promise + about what any particular backend computes). + """ + + __slots__ = ("name", "shape", "derived", "symbol", "code") + + def __init__(self, name: str, shape: str, derived: bool, symbol: str = "", code: str = ""): + self.name = name + self.shape = shape + self.derived = derived + # Static dispatch data, resolved at generation time for the declaring class: + # the binding library function that answers this member and its result shape. A backend + # that routes by name (the payload one) ignores them. + self.symbol = symbol + self.code = code + + def __set_name__(self, owner: type, attr: str) -> None: + if attr != self.name: # generated code always matches; guard anyway + self.name = attr + + def __get__(self, obj: Optional["Element"], objtype: type | None = None): + if obj is None: + return self + model = obj._model + raw = model._backend.read(obj._handle, self) + if raw is None and self.shape == "A": + return [] # absent arrays normalize to empty (typed-surface rule) + return _wrap(model, raw, obj, self.name) + + def __set__(self, obj: "Element", value: Any) -> None: + raise ReadOnly( + f"{type(obj).__name__}.{self.name}: property assignment requires an " + f"edit transaction on a live backend (payload models are read-only)" + ) + + +def _wrap(model: "Model", raw: Any, owner: "Element" = None, prop: str = "?"): + def _at() -> str: + if owner is None: + return prop + return f"{type(owner).__name__}.{prop} (element {owner._handle})" + + if _is_id_ref(raw): + try: + return model.element(raw["@id"]) + except Gone: + raise UnresolvedReference( + f"dangling reference @id={raw['@id']!r} at {_at()}: target is " + f"not in this model; the SDK requires resolved models" + ) from None + if isinstance(raw, dict) and "@ref" in raw: + raise UnresolvedReference( + f"unresolved reference {raw['@ref']!r} at {_at()} (the SysML Toolkit's " + f"@ref passthrough is non-standard best-effort); the SDK requires " + f"resolved models — use .get_raw({prop!r}) for the raw value" + ) + if isinstance(raw, list): + return [_wrap(model, v, owner, prop) for v in raw] + return raw + + +class Op: + """A spec operation. Carries the same static dispatch data as `P` plus the + parameter list; the backend decides whether it can be called.""" + + __slots__ = ("name", "params", "symbol", "code", "param_types") + + def __init__(self, name: str, params: list[str], symbol: str = "", code: str = "", + param_types: tuple = ()): + self.name = name + self.params = params + self.symbol = symbol + self.code = code + self.param_types = param_types + + def __get__(self, obj, objtype=None): + if obj is None: + return self + op = self + + def _call(*args): + model = obj._model + raw = model._backend.call(obj._handle, op, args) + if raw is None and op.code == "H": + return [] + return _wrap(model, raw, obj, op.name) + + _call.__name__ = self.name + return _call + + +class Element: + """Base of every generated metaclass. + + A wrapper holds (model, backend handle); identity is by the + backend's stable element id. Payload backends use the + element id itself as the handle. + + Public runtime members must contain an underscore (collision rule — + see the module docstring): the spec property `metaclass` on + MetadataFeature/MetadataUsage is a generated descriptor like any + other, so the runtime accessor is spelled `metaclass_name`. + """ + + __slots__ = ("_model", "_handle") + + def __init__(self, model: "Model", handle: Any): + self._model = model + self._handle = handle + + @property + def element_id(self) -> str: + """The element's stable id, via the backend's element_id(handle).""" + return self._model._backend.element_id(self._handle) + + @property + def backend_handle(self) -> Any: + """The backend handle this wrapper holds (= id for payload backends).""" + return self._handle + + @property + def metaclass_name(self) -> str: + """The element's metaclass, as the backend reports it.""" + return self._model._backend.metaclass(self._handle) + + def get_raw(self, prop: str) -> Any: + """Escape hatch: the property's raw backend value, unwrapped.""" + return self._model._backend.get(self._handle, prop) + + def __eq__(self, other: object) -> bool: + return ( + isinstance(other, Element) + and other._model is self._model + and other.element_id == self.element_id + ) + + def __hash__(self) -> int: + return hash(self.element_id) + + def __repr__(self) -> str: + qn = self._model._backend.get(self._handle, "qualifiedName") + label = qn if isinstance(qn, str) and qn else self.element_id + return f"<{type(self).__name__} {label}>" + + +def _index(elements: list[dict]) -> tuple[dict[str, dict], dict[str, str]]: + """Elements by id (document order, the last of a repeated id) and ids by qualified name (the + first).""" + by_id: dict[str, dict] = {} + by_qname: dict[str, str] = {} + for e in elements: + eid = e.get("@id") + if not isinstance(eid, str): + continue + by_id[eid] = e + qn = e.get("qualifiedName") + if isinstance(qn, str) and qn: + by_qname.setdefault(qn, eid) + return by_id, by_qname + + +class PayloadLibrary: + """A standard library read from a full-form interchange element array, such as the + library JSON published with the SDK. Index it once and pass it to any number of payload + models: their references into the library then resolve by the library's normative ids.""" + + def __init__(self, elements: list[dict]): + self._by_id, self._by_qname = _index(elements) + + def __len__(self) -> int: + return len(self._by_id) + + +class PayloadBackend: + """Read-only backend over a full-form interchange element array. + + The Backend protocol is defined over opaque per-backend + element *handles*; an id-keyed backend like this one uses element + ids as its handles. + + With a library, an id or qualified name the payload does not hold is looked up in the library; + the library's elements are not the model's, so `all_handles` lists the payload's only. + """ + + def __init__(self, elements: list[dict], library: Optional[PayloadLibrary] = None): + self._by_id, self._by_qname = _index(elements) + self._library = library + + def _require(self, handle: str) -> dict: + el = self._by_id.get(handle) + if el is None and self._library is not None: + el = self._library._by_id.get(handle) + if el is None: + raise Gone(f"no element {handle} in this payload") + return el + + def get(self, handle: str, prop: str) -> Any: + return self._require(handle).get(prop) + + def read(self, handle: str, prop: "P") -> Any: + return self.get(handle, prop.name) + + def call(self, handle: str, op: "Op", args: tuple) -> Any: + raise NotImplementedInToolkit( + f"{op.name}(): operations are not available on payload models; " + f"load the model through the SysML Toolkit backend" + ) + + def metaclass(self, handle: str) -> str: + return self._require(handle)["@type"] + + def element_id(self, handle: str) -> str: + self._require(handle) + return handle + + def resolve(self, qualified_name: str) -> Optional[str]: + handle = self._by_qname.get(qualified_name) + if handle is None and self._library is not None: + handle = self._library._by_qname.get(qualified_name) + return handle + + def all_handles(self) -> Iterable[str]: + return self._by_id.keys() + + +class Model: + """Entry point: wraps a backend and mints typed wrappers by metaclass.""" + + def __init__(self, backend): + from . import classes # registry import deferred to avoid a cycle + + self._backend = backend + self._registry: dict[str, type] = classes.REGISTRY + self._cache: dict[str, Element] = {} + + @classmethod + def from_full_json(cls, elements: list[dict], library: Optional[PayloadLibrary] = None) -> "Model": + """A model read from a full-form interchange element array. With `library`, references + into the standard library resolve against it; its elements are not listed as the model's.""" + return cls(PayloadBackend(elements, library)) + + @classmethod + def from_toolkit(cls, *paths: "str | os.PathLike", sources: dict[str, str] | None = None, + library_dir: "str | os.PathLike | None" = None) -> "Model": + """A model read directly from the SysML Toolkit through the binding library (abi/).""" + from .toolkit import ToolkitBackend # deferred: ctypes and the library load on demand + + return cls(ToolkitBackend.open(paths, sources=sources, library_dir=library_dir)) + + def element(self, handle) -> Element: + w = self._cache.get(handle) + if w is None: + mc = self._backend.metaclass(handle) # raises Gone if absent + klass = self._registry.get(mc, Element) + w = klass(self, handle) + self._cache[handle] = w + return w + + def resolve(self, qualified_name: str) -> Optional[Element]: + handle = self._backend.resolve(qualified_name) + return None if handle is None else self.element(handle) + + def all(self) -> list[Element]: + """Every element of the model (a payload's library elements are not the model's).""" + return [self.element(h) for h in self._backend.all_handles()] + + def elements_of_type(self, klass, *, exact: bool = False) -> list[Element]: + if isinstance(klass, str): + klass = self._registry[klass] + out = [] + for h in self._backend.all_handles(): + w = self.element(h) + ok = type(w) is klass if exact else isinstance(w, klass) + if ok: + out.append(w) + return out + + @property + def roots(self) -> list[Element]: + """Top-level namespaces. Ownerless alone is not enough: the + SysML Toolkit serializes memberships with owner: null (as in + data/bigger.full.json), so non-namespace ownerless elements are + excluded.""" + from .classes import Namespace # deferred: avoids import cycle + + return [ + w + for h in self._backend.all_handles() + if not self._backend.get(h, "owner") + for w in [self.element(h)] + if isinstance(w, Namespace) + ] diff --git a/python/sysml/classes.py b/python/sysml/classes.py new file mode 100644 index 0000000..4ca5e58 --- /dev/null +++ b/python/sysml/classes.py @@ -0,0 +1,14291 @@ +"""Generated metaclass hierarchy — do not edit. + +Source: metamodel.json (XMI 20250201 hierarchy, schema property +catalog, XMI derived flags). +""" + +from .base import Element, Op, P + +# 'Element' is the runtime base (base.Element); its properties and +# operations are attached at the end of this module. + +class Namespace(Element): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + namesOf = Op("namesOf", ['element'], "sysmlv2_namespace_names_of", "T", (('element', 'Handle'),)) + visibilityOf = Op("visibilityOf", ['mem'], "sysmlv2_namespace_visibility_of", "S", (('mem', 'Handle'),)) + visibleMemberships = Op("visibleMemberships", ['excluded', 'isRecursive', 'includeAll'], "sysmlv2_namespace_visible_memberships", "H", (('excluded', 'Handles'), ('is_recursive', 'bool'), ('include_all', 'bool'))) + importedMemberships = Op("importedMemberships", ['excluded'], "sysmlv2_namespace_imported_memberships", "H", (('excluded', 'Handles'),)) + membershipsOfVisibility = Op("membershipsOfVisibility", ['visibility', 'excluded'], "sysmlv2_namespace_memberships_of_visibility", "H", (('visibility', 'Str'), ('excluded', 'Handles'))) + resolve = Op("resolve", ['qualifiedName'], "sysmlv2_namespace_resolve", "R", (('qualified_name', 'Str'),)) + resolveGlobal = Op("resolveGlobal", ['qualifiedName'], "sysmlv2_namespace_resolve_global", "R", (('qualified_name', 'Str'),)) + resolveLocal = Op("resolveLocal", ['name'], "sysmlv2_namespace_resolve_local", "R", (('name', 'Str'),)) + resolveVisible = Op("resolveVisible", ['name'], "sysmlv2_namespace_resolve_visible", "R", (('name', 'Str'),)) + qualificationOf = Op("qualificationOf", ['qualifiedName'], "sysmlv2_namespace_qualification_of", "S", (('qualified_name', 'Str'),)) + unqualifiedNameOf = Op("unqualifiedNameOf", ['qualifiedName'], "sysmlv2_namespace_unqualified_name_of", "S", (('qualified_name', 'Str'),)) + +class Type(Namespace): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + visibleMemberships = Op("visibleMemberships", ['excluded', 'isRecursive', 'includeAll'], "sysmlv2_namespace_visible_memberships", "H", (('excluded', 'Handles'), ('is_recursive', 'bool'), ('include_all', 'bool'))) + inheritedMemberships = Op("inheritedMemberships", ['excludedNamespaces', 'excludedTypes', 'excludeImplied'], "sysmlv2_type_inherited_memberships", "H", (('excluded_namespaces', 'Handles'), ('excluded_types', 'Handles'), ('exclude_implied', 'bool'))) + inheritableMemberships = Op("inheritableMemberships", ['excludedNamespaces', 'excludedTypes', 'excludeImplied'], "sysmlv2_type_inheritable_memberships", "H", (('excluded_namespaces', 'Handles'), ('excluded_types', 'Handles'), ('exclude_implied', 'bool'))) + nonPrivateMemberships = Op("nonPrivateMemberships", ['excludedNamespaces', 'excludedTypes', 'excludeImplied'], "sysmlv2_type_non_private_memberships", "H", (('excluded_namespaces', 'Handles'), ('excluded_types', 'Handles'), ('exclude_implied', 'bool'))) + removeRedefinedFeatures = Op("removeRedefinedFeatures", ['memberships'], "sysmlv2_type_remove_redefined_features", "H", (('memberships', 'Handles'),)) + allRedefinedFeaturesOf = Op("allRedefinedFeaturesOf", ['membership'], "sysmlv2_type_all_redefined_features_of", "H", (('membership', 'Handle'),)) + directionOf = Op("directionOf", ['feature'], "sysmlv2_type_direction_of", "S", (('feature', 'Handle'),)) + directionOfExcluding = Op("directionOfExcluding", ['feature', 'excluded'], "sysmlv2_type_direction_of_excluding", "S", (('feature', 'Handle'), ('excluded', 'Handles'))) + supertypes = Op("supertypes", ['excludeImplied'], "sysmlv2_type_supertypes", "H", (('exclude_implied', 'bool'),)) + allSupertypes = Op("allSupertypes", [], "sysmlv2_type_all_supertypes", "H", ()) + specializes = Op("specializes", ['supertype'], "sysmlv2_type_specializes", "B", (('supertype', 'Handle'),)) + specializesFromLibrary = Op("specializesFromLibrary", ['libraryTypeName'], "sysmlv2_type_specializes_from_library", "B", (('library_type_name', 'Str'),)) + isCompatibleWith = Op("isCompatibleWith", ['otherType'], "sysmlv2_type_is_compatible_with", "B", (('other_type', 'Handle'),)) + multiplicities = Op("multiplicities", [], "sysmlv2_type_multiplicities", "H", ()) + +class Feature(Type): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + directionFor = Op("directionFor", ['type'], "sysmlv2_feature_direction_for", "S", (('ty', 'Handle'),)) + effectiveShortName = Op("effectiveShortName", [], "sysmlv2_element_effective_short_name", "S", ()) + effectiveName = Op("effectiveName", [], "sysmlv2_element_effective_name", "S", ()) + namingFeature = Op("namingFeature", [], "sysmlv2_feature_naming_feature", "R", ()) + supertypes = Op("supertypes", ['excludeImplied'], "sysmlv2_type_supertypes", "H", (('exclude_implied', 'bool'),)) + redefines = Op("redefines", ['redefinedFeature'], "sysmlv2_feature_redefines", "B", (('redefined_feature', 'Handle'),)) + redefinesFromLibrary = Op("redefinesFromLibrary", ['libraryFeatureName'], "sysmlv2_feature_redefines_from_library", "B", (('library_feature_name', 'Str'),)) + subsetsChain = Op("subsetsChain", ['first', 'second'], "sysmlv2_feature_subsets_chain", "B", (('first', 'Handle'), ('second', 'Handle'))) + isCompatibleWith = Op("isCompatibleWith", ['otherType'], "sysmlv2_type_is_compatible_with", "B", (('other_type', 'Handle'),)) + typingFeatures = Op("typingFeatures", [], "sysmlv2_feature_typing_features", "H", ()) + asCartesianProduct = Op("asCartesianProduct", [], "sysmlv2_feature_as_cartesian_product", "H", ()) + isCartesianProduct = Op("isCartesianProduct", [], "sysmlv2_feature_is_cartesian_product", "B", ()) + isOwnedCrossFeature = Op("isOwnedCrossFeature", [], "sysmlv2_feature_is_owned_cross_feature", "B", ()) + ownedCrossFeature = Op("ownedCrossFeature", [], "sysmlv2_feature_owned_cross_feature", "R", ()) + allRedefinedFeatures = Op("allRedefinedFeatures", [], "sysmlv2_feature_all_redefined_features", "H", ()) + isFeaturedWithin = Op("isFeaturedWithin", ['type'], "sysmlv2_feature_is_featured_within", "B", (('ty', 'Handle'),)) + canAccess = Op("canAccess", ['feature'], "sysmlv2_feature_can_access", "B", (('feature', 'Handle'),)) + isFeaturingType = Op("isFeaturingType", ['type'], "sysmlv2_feature_is_featuring_type", "B", (('ty', 'Handle'),)) + +class Step(Feature): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class Usage(Feature): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + namingFeature = Op("namingFeature", [], "sysmlv2_feature_naming_feature", "R", ()) + referencedFeatureTarget = Op("referencedFeatureTarget", [], "sysmlv2_usage_referenced_feature_target", "R", ()) + +class OccurrenceUsage(Usage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class ActionUsage(OccurrenceUsage, Step): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + inputParameters = Op("inputParameters", [], "sysmlv2_action_usage_input_parameters", "H", ()) + inputParameter = Op("inputParameter", ['i'], "sysmlv2_action_usage_input_parameter", "R", (('i', 'Str'),)) + argument = Op("argument", ['i'], "sysmlv2_action_usage_argument", "R", (('i', 'Str'),)) + isSubactionUsage = Op("isSubactionUsage", [], "sysmlv2_action_usage_is_subaction_usage", "B", ()) + +class AcceptActionUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + payloadArgument = P("payloadArgument", "N", True, "sysmlv2_accept_action_usage_payload_argument", "R") + payloadParameter = P("payloadParameter", "R", True, "sysmlv2_accept_action_usage_payload_parameter", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + receiverArgument = P("receiverArgument", "N", True, "sysmlv2_accept_action_usage_receiver_argument", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + isTriggerAction = Op("isTriggerAction", [], "sysmlv2_accept_action_usage_is_trigger_action", "B", ()) + +class Classifier(Type): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class Definition(Classifier): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class Class(Classifier): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class OccurrenceDefinition(Class, Definition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class Behavior(Class): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class ActionDefinition(Behavior, OccurrenceDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class Relationship(Element): + """abstract — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + libraryNamespace = Op("libraryNamespace", [], "sysmlv2_element_library_namespace", "R", ()) + path = Op("path", [], "sysmlv2_element_path", "S", ()) + +class Membership(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + isDistinguishableFrom = Op("isDistinguishableFrom", ['other'], "sysmlv2_membership_is_distinguishable_from", "B", (('other', 'Handle'),)) + +class OwningMembership(Membership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + path = Op("path", [], "sysmlv2_element_path", "S", ()) + +class FeatureMembership(OwningMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class ParameterMembership(FeatureMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberParameter = P("ownedMemberParameter", "R", True, "sysmlv2_parameter_membership_owned_member_parameter", "R") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + parameterDirection = Op("parameterDirection", [], "sysmlv2_parameter_membership_parameter_direction", "S", ()) + +class ActorMembership(ParameterMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedActorParameter = P("ownedActorParameter", "R", True, "sysmlv2_actor_membership_owned_actor_parameter", "R") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberParameter = P("ownedMemberParameter", "R", True, "sysmlv2_parameter_membership_owned_member_parameter", "R") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class Structure(Class): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class Association(Relationship, Classifier): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class AssociationStructure(Association, Structure): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class ItemDefinition(Structure, OccurrenceDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class PartDefinition(ItemDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class ConnectionDefinition(PartDefinition, AssociationStructure): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + connectionEnd = P("connectionEnd", "A", True, "sysmlv2_connection_definition_connection_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class AllocationDefinition(ConnectionDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + allocation = P("allocation", "A", True, "sysmlv2_allocation_definition_allocation", "H") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + connectionEnd = P("connectionEnd", "A", True, "sysmlv2_connection_definition_connection_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class ItemUsage(OccurrenceUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class PartUsage(ItemUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + partDefinition = P("partDefinition", "A", True, "sysmlv2_part_usage_part_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Connector(Relationship, Feature): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class ConnectorAsUsage(Connector, Usage): + """abstract — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class ConnectionUsage(ConnectorAsUsage, PartUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectionDefinition = P("connectionDefinition", "A", True, "sysmlv2_connection_usage_connection_definition", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + partDefinition = P("partDefinition", "A", True, "sysmlv2_part_usage_part_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class AllocationUsage(ConnectionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + allocationDefinition = P("allocationDefinition", "A", True, "sysmlv2_allocation_usage_allocation_definition", "H") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectionDefinition = P("connectionDefinition", "A", True, "sysmlv2_connection_usage_connection_definition", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + partDefinition = P("partDefinition", "A", True, "sysmlv2_part_usage_part_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Function(Behavior): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class CalculationDefinition(Function, ActionDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + calculation = P("calculation", "A", True, "sysmlv2_calculation_definition_calculation", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class CaseDefinition(CalculationDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + calculation = P("calculation", "A", True, "sysmlv2_calculation_definition_calculation", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_definition_objective_requirement", "R") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_definition_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class AnalysisCaseDefinition(CaseDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + calculation = P("calculation", "A", True, "sysmlv2_calculation_definition_calculation", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_definition_objective_requirement", "R") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + resultExpression = P("resultExpression", "N", True, "sysmlv2_analysis_case_definition_result_expression", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_definition_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class Expression(Step): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + evaluate = Op("evaluate", ['target'], "sysmlv2_expression_evaluate", "H", (('target', 'Handle'),)) + checkCondition = Op("checkCondition", ['target'], "sysmlv2_expression_check_condition", "B", (('target', 'Handle'),)) + +class CalculationUsage(Expression, ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + calculationDefinition = P("calculationDefinition", "N", False, "sysmlv2_calculation_usage_calculation_definition", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + +class CaseUsage(CalculationUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + calculationDefinition = P("calculationDefinition", "N", False, "sysmlv2_calculation_usage_calculation_definition", "R") + caseDefinition = P("caseDefinition", "N", True, "sysmlv2_case_usage_case_definition", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_usage_objective_requirement", "R") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_usage_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class AnalysisCaseUsage(CaseUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + analysisCaseDefinition = P("analysisCaseDefinition", "N", True, "sysmlv2_analysis_case_usage_analysis_case_definition", "R") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + calculationDefinition = P("calculationDefinition", "N", False, "sysmlv2_calculation_usage_calculation_definition", "R") + caseDefinition = P("caseDefinition", "N", True, "sysmlv2_case_usage_case_definition", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_usage_objective_requirement", "R") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + resultExpression = P("resultExpression", "N", True, "sysmlv2_analysis_case_usage_result_expression", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_usage_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class AnnotatingElement(Element): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "A", True, "sysmlv2_annotating_element_annotated_element", "H") + annotation = P("annotation", "A", True, "sysmlv2_annotating_element_annotation", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotatingRelationship = P("ownedAnnotatingRelationship", "A", True, "sysmlv2_annotating_element_owned_annotating_relationship", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatingRelationship = P("owningAnnotatingRelationship", "N", True, "sysmlv2_annotating_element_owning_annotating_relationship", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class Annotation(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "R", False, "sysmlv2_annotation_annotated_element", "R") + annotatingElement = P("annotatingElement", "R", True, "sysmlv2_annotation_annotating_element", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotatingElement = P("ownedAnnotatingElement", "N", True, "sysmlv2_annotation_owned_annotating_element", "R") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatedElement = P("owningAnnotatedElement", "N", True, "sysmlv2_annotation_owning_annotated_element", "R") + owningAnnotatingElement = P("owningAnnotatingElement", "N", True, "sysmlv2_annotation_owning_annotating_element", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class BooleanExpression(Expression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class Invariant(BooleanExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isNegated = P("isNegated", "N", False, "sysmlv2_invariant_is_negated", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class ConstraintUsage(BooleanExpression, OccurrenceUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + constraintDefinition = P("constraintDefinition", "N", True, "sysmlv2_constraint_usage_constraint_definition", "R") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + namingFeature = Op("namingFeature", [], "sysmlv2_feature_naming_feature", "R", ()) + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + +class AssertConstraintUsage(ConstraintUsage, Invariant): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assertedConstraint = P("assertedConstraint", "R", True, "sysmlv2_assert_constraint_usage_asserted_constraint", "R") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + constraintDefinition = P("constraintDefinition", "N", True, "sysmlv2_constraint_usage_constraint_definition", "R") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isNegated = P("isNegated", "N", False, "sysmlv2_invariant_is_negated", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class AssignmentActionUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referent = P("referent", "R", True, "sysmlv2_assignment_action_usage_referent", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + targetArgument = P("targetArgument", "N", True, "sysmlv2_assignment_action_usage_target_argument", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + valueExpression = P("valueExpression", "N", True, "sysmlv2_assignment_action_usage_value_expression", "R") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class DataType(Classifier): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class AttributeDefinition(DataType, Definition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class AttributeUsage(Usage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + attributeDefinition = P("attributeDefinition", "A", True, "sysmlv2_attribute_usage_attribute_definition", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class BindingConnector(Connector): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class BindingConnectorAsUsage(BindingConnector, ConnectorAsUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class InstantiationExpression(Expression): + """abstract — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + instantiatedType_op = Op("instantiatedType", [], "sysmlv2_instantiation_expression_instantiated_type_op", "R", ()) + +class InvocationExpression(InstantiationExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + evaluate = Op("evaluate", ['target'], "sysmlv2_expression_evaluate", "H", (('target', 'Handle'),)) + +class OperatorExpression(InvocationExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + operator = P("operator", "N", False, "sysmlv2_operator_expression_operator", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + instantiatedType_op = Op("instantiatedType", [], "sysmlv2_instantiation_expression_instantiated_type_op", "R", ()) + +class CollectExpression(OperatorExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + operator = P("operator", "N", False, "sysmlv2_operator_expression_operator", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class Comment(AnnotatingElement): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "A", True, "sysmlv2_annotating_element_annotated_element", "H") + annotation = P("annotation", "A", True, "sysmlv2_annotating_element_annotation", "H") + body = P("body", "S", False, "sysmlv2_comment_body", "S") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + locale = P("locale", "N", False, "sysmlv2_comment_locale", "S") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotatingRelationship = P("ownedAnnotatingRelationship", "A", True, "sysmlv2_annotating_element_owned_annotating_relationship", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatingRelationship = P("owningAnnotatingRelationship", "N", True, "sysmlv2_annotating_element_owning_annotating_relationship", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class Predicate(Function): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class ConstraintDefinition(Predicate, OccurrenceDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class RequirementDefinition(ConstraintDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_definition_assumed_constraint", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_definition_framed_concern", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_definition_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_definition_required_constraint", "H") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_definition_stakeholder_parameter", "H") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_definition_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_definition_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class ConcernDefinition(RequirementDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_definition_assumed_constraint", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_definition_framed_concern", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_definition_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_definition_required_constraint", "H") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_definition_stakeholder_parameter", "H") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_definition_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_definition_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class RequirementUsage(ConstraintUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_usage_assumed_constraint", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + constraintDefinition = P("constraintDefinition", "N", True, "sysmlv2_constraint_usage_constraint_definition", "R") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_usage_framed_concern", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_usage_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_usage_required_constraint", "H") + requirementDefinition = P("requirementDefinition", "N", True, "sysmlv2_requirement_usage_requirement_definition", "R") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_usage_stakeholder_parameter", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_usage_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_usage_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class ConcernUsage(RequirementUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_usage_assumed_constraint", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + concernDefinition = P("concernDefinition", "N", True, "sysmlv2_concern_usage_concern_definition", "R") + constraintDefinition = P("constraintDefinition", "N", True, "sysmlv2_constraint_usage_constraint_definition", "R") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_usage_framed_concern", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_usage_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_usage_required_constraint", "H") + requirementDefinition = P("requirementDefinition", "N", True, "sysmlv2_requirement_usage_requirement_definition", "R") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_usage_stakeholder_parameter", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_usage_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_usage_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class PortDefinition(Structure, OccurrenceDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + conjugatedPortDefinition = P("conjugatedPortDefinition", "N", True, "sysmlv2_port_definition_conjugated_port_definition", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class ConjugatedPortDefinition(PortDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + conjugatedPortDefinition = P("conjugatedPortDefinition", "N", True, "sysmlv2_port_definition_conjugated_port_definition", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + originalPortDefinition = P("originalPortDefinition", "R", True, "sysmlv2_conjugated_port_definition_original_port_definition", "R") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedPortConjugator = P("ownedPortConjugator", "R", True, "sysmlv2_conjugated_port_definition_owned_port_conjugator", "R") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + effectiveName = Op("effectiveName", [], "sysmlv2_element_effective_name", "S", ()) + +class Specialization(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class FeatureTyping(Specialization): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_feature_typing_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "R", False, "sysmlv2_feature_typing_type", "R") + typedFeature = P("typedFeature", "R", False, "sysmlv2_feature_typing_typed_feature", "R") + +class ConjugatedPortTyping(FeatureTyping): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + conjugatedPortDefinition = P("conjugatedPortDefinition", "R", False, "sysmlv2_conjugated_port_typing_conjugated_port_definition", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_feature_typing_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + portDefinition = P("portDefinition", "R", True, "sysmlv2_conjugated_port_typing_port_definition", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "R", False, "sysmlv2_feature_typing_type", "R") + typedFeature = P("typedFeature", "R", False, "sysmlv2_feature_typing_typed_feature", "R") + +class Conjugation(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + conjugatedType = P("conjugatedType", "R", False, "sysmlv2_conjugation_conjugated_type", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + originalType = P("originalType", "R", False, "sysmlv2_conjugation_original_type", "R") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_conjugation_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class ConstructorExpression(InstantiationExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + +class ControlNode(ActionUsage): + """abstract — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + multiplicityHasBounds = Op("multiplicityHasBounds", ['mult', 'lower', 'upper'], "sysmlv2_control_node_multiplicity_has_bounds", "B", (('mult', 'Handle'), ('lower', 'Str'), ('upper', 'Str'))) + +class Subsetting(Specialization): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_subsetting_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + subsettedFeature = P("subsettedFeature", "R", False, "sysmlv2_subsetting_subsetted_feature", "R") + subsettingFeature = P("subsettingFeature", "R", False, "sysmlv2_subsetting_subsetting_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class CrossSubsetting(Subsetting): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + crossedFeature = P("crossedFeature", "R", False, "sysmlv2_cross_subsetting_crossed_feature", "R") + crossingFeature = P("crossingFeature", "R", False, "sysmlv2_cross_subsetting_crossing_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_subsetting_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + subsettedFeature = P("subsettedFeature", "R", False, "sysmlv2_subsetting_subsetted_feature", "R") + subsettingFeature = P("subsettingFeature", "R", False, "sysmlv2_subsetting_subsetting_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class DecisionNode(ControlNode): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Dependency(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + client = P("client", "A", False, "sysmlv2_dependency_client", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + supplier = P("supplier", "A", False, "sysmlv2_dependency_supplier", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class Differencing(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "R", False, "sysmlv2_differencing_differencing_type", "R") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + typeDifferenced = P("typeDifferenced", "R", True, "sysmlv2_differencing_type_differenced", "R") + +class Disjoining(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + disjoiningType = P("disjoiningType", "R", False, "sysmlv2_disjoining_disjoining_type", "R") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_disjoining_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + typeDisjoined = P("typeDisjoined", "R", False, "sysmlv2_disjoining_type_disjoined", "R") + +class Documentation(Comment): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "A", True, "sysmlv2_annotating_element_annotated_element", "H") + annotation = P("annotation", "A", True, "sysmlv2_annotating_element_annotation", "H") + body = P("body", "S", False, "sysmlv2_comment_body", "S") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + documentedElement = P("documentedElement", "R", True, "sysmlv2_documentation_documented_element", "R") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + locale = P("locale", "N", False, "sysmlv2_comment_locale", "S") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotatingRelationship = P("ownedAnnotatingRelationship", "A", True, "sysmlv2_annotating_element_owned_annotating_relationship", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatingRelationship = P("owningAnnotatingRelationship", "N", True, "sysmlv2_annotating_element_owning_annotating_relationship", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class ElementFilterMembership(OwningMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + condition = P("condition", "R", True, "sysmlv2_element_filter_membership_condition", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class EndFeatureMembership(FeatureMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class EnumerationDefinition(AttributeDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + enumeratedValue = P("enumeratedValue", "A", True, "sysmlv2_enumeration_definition_enumerated_value", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class EnumerationUsage(AttributeUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + attributeDefinition = P("attributeDefinition", "A", True, "sysmlv2_attribute_usage_attribute_definition", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + enumerationDefinition = P("enumerationDefinition", "R", True, "sysmlv2_enumeration_usage_enumeration_definition", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class EventOccurrenceUsage(OccurrenceUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + eventOccurrence = P("eventOccurrence", "R", True, "sysmlv2_event_occurrence_usage_event_occurrence", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class PerformActionUsage(EventOccurrenceUsage, ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + eventOccurrence = P("eventOccurrence", "R", True, "sysmlv2_event_occurrence_usage_event_occurrence", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + performedAction = P("performedAction", "R", True, "sysmlv2_perform_action_usage_performed_action", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + namingFeature = Op("namingFeature", [], "sysmlv2_feature_naming_feature", "R", ()) + +class StateUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + doAction = P("doAction", "N", True, "sysmlv2_state_usage_do_action", "R") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + entryAction = P("entryAction", "N", True, "sysmlv2_state_usage_entry_action", "R") + exitAction = P("exitAction", "N", True, "sysmlv2_state_usage_exit_action", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isParallel = P("isParallel", "N", False, "sysmlv2_state_usage_is_parallel", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stateDefinition = P("stateDefinition", "A", True, "sysmlv2_state_usage_state_definition", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + isSubstateUsage = Op("isSubstateUsage", ['isParallel'], "sysmlv2_state_usage_is_substate_usage", "B", (('is_parallel', 'bool'),)) + +class ExhibitStateUsage(StateUsage, PerformActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + doAction = P("doAction", "N", True, "sysmlv2_state_usage_do_action", "R") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + entryAction = P("entryAction", "N", True, "sysmlv2_state_usage_entry_action", "R") + eventOccurrence = P("eventOccurrence", "R", True, "sysmlv2_event_occurrence_usage_event_occurrence", "R") + exhibitedState = P("exhibitedState", "R", True, "sysmlv2_exhibit_state_usage_exhibited_state", "R") + exitAction = P("exitAction", "N", True, "sysmlv2_state_usage_exit_action", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isParallel = P("isParallel", "N", False, "sysmlv2_state_usage_is_parallel", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + performedAction = P("performedAction", "R", True, "sysmlv2_perform_action_usage_performed_action", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stateDefinition = P("stateDefinition", "A", True, "sysmlv2_state_usage_state_definition", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Import(Relationship): + """abstract — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importOwningNamespace = P("importOwningNamespace", "R", True, "sysmlv2_import_import_owning_namespace", "R") + importedElement = P("importedElement", "R", True, "sysmlv2_import_imported_element", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isImportAll = P("isImportAll", "N", False, "sysmlv2_import_is_import_all", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isRecursive = P("isRecursive", "N", False, "sysmlv2_import_is_recursive", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_import_visibility", "S") + importedMemberships = Op("importedMemberships", ['excluded'], "sysmlv2_import_imported_memberships", "H", (('excluded', 'Handles'),)) + +class Expose(Import): + """abstract — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importOwningNamespace = P("importOwningNamespace", "R", True, "sysmlv2_import_import_owning_namespace", "R") + importedElement = P("importedElement", "R", True, "sysmlv2_import_imported_element", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isImportAll = P("isImportAll", "N", False, "sysmlv2_import_is_import_all", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isRecursive = P("isRecursive", "N", False, "sysmlv2_import_is_recursive", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_import_visibility", "S") + +class FeatureChainExpression(OperatorExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + operator = P("operator", "N", False, "sysmlv2_operator_expression_operator", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + targetFeature = P("targetFeature", "R", True, "sysmlv2_feature_chain_expression_target_feature", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + sourceTargetFeature = Op("sourceTargetFeature", [], "sysmlv2_feature_chain_expression_source_target_feature", "R", ()) + +class FeatureChaining(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "R", False, "sysmlv2_feature_chaining_chaining_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + featureChained = P("featureChained", "R", True, "sysmlv2_feature_chaining_feature_chained", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class FeatureInverting(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + featureInverted = P("featureInverted", "R", False, "sysmlv2_feature_inverting_feature_inverted", "R") + invertingFeature = P("invertingFeature", "R", False, "sysmlv2_feature_inverting_inverting_feature", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_feature_inverting_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class FeatureReferenceExpression(Expression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referent = P("referent", "R", True, "sysmlv2_feature_reference_expression_referent", "R") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + evaluate = Op("evaluate", ['target'], "sysmlv2_expression_evaluate", "H", (('target', 'Handle'),)) + +class FeatureValue(OwningMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + featureWithValue = P("featureWithValue", "R", True, "sysmlv2_feature_value_feature_with_value", "R") + isDefault = P("isDefault", "N", False, "sysmlv2_feature_value_is_default", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isInitial = P("isInitial", "N", False, "sysmlv2_feature_value_is_initial", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + value = P("value", "R", True, "sysmlv2_feature_value_value", "R") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class Flow(Connector, Step): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + flowEnd = P("flowEnd", "A", True, "sysmlv2_flow_flow_end", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + interaction = P("interaction", "A", True, "sysmlv2_flow_interaction", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + payloadFeature = P("payloadFeature", "N", True, "sysmlv2_flow_payload_feature", "R") + payloadType = P("payloadType", "A", True, "sysmlv2_flow_payload_type", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + sourceOutputFeature = P("sourceOutputFeature", "N", True, "sysmlv2_flow_source_output_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + targetInputFeature = P("targetInputFeature", "N", True, "sysmlv2_flow_target_input_feature", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class Interaction(Association, Behavior): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class FlowDefinition(Interaction, ActionDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + flowEnd = P("flowEnd", "A", True, "sysmlv2_flow_definition_flow_end", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class FlowEnd(Feature): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class FlowUsage(Flow, ConnectorAsUsage, ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + flowDefinition = P("flowDefinition", "A", True, "sysmlv2_flow_usage_flow_definition", "H") + flowEnd = P("flowEnd", "A", True, "sysmlv2_flow_flow_end", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + interaction = P("interaction", "A", True, "sysmlv2_flow_interaction", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + payloadFeature = P("payloadFeature", "N", True, "sysmlv2_flow_payload_feature", "R") + payloadType = P("payloadType", "A", True, "sysmlv2_flow_payload_type", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + sourceOutputFeature = P("sourceOutputFeature", "N", True, "sysmlv2_flow_source_output_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + targetInputFeature = P("targetInputFeature", "N", True, "sysmlv2_flow_target_input_feature", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class LoopActionUsage(ActionUsage): + """abstract — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + bodyAction = P("bodyAction", "R", True, "sysmlv2_loop_action_usage_body_action", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class ForLoopActionUsage(LoopActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + bodyAction = P("bodyAction", "R", True, "sysmlv2_loop_action_usage_body_action", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + loopVariable = P("loopVariable", "R", True, "sysmlv2_for_loop_action_usage_loop_variable", "R") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + seqArgument = P("seqArgument", "R", True, "sysmlv2_for_loop_action_usage_seq_argument", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class ForkNode(ControlNode): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class RequirementConstraintMembership(FeatureMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + kind = P("kind", "N", False, "sysmlv2_requirement_constraint_membership_kind", "S") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConstraint = P("ownedConstraint", "R", True, "sysmlv2_requirement_constraint_membership_owned_constraint", "R") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referencedConstraint = P("referencedConstraint", "R", True, "sysmlv2_requirement_constraint_membership_referenced_constraint", "R") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class FramedConcernMembership(RequirementConstraintMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + kind = P("kind", "N", False, "sysmlv2_requirement_constraint_membership_kind", "S") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConcern = P("ownedConcern", "R", True, "sysmlv2_framed_concern_membership_owned_concern", "R") + ownedConstraint = P("ownedConstraint", "R", True, "sysmlv2_requirement_constraint_membership_owned_constraint", "R") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referencedConcern = P("referencedConcern", "R", True, "sysmlv2_framed_concern_membership_referenced_concern", "R") + referencedConstraint = P("referencedConstraint", "R", True, "sysmlv2_requirement_constraint_membership_referenced_constraint", "R") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class IfActionUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + elseAction = P("elseAction", "N", True, "sysmlv2_if_action_usage_else_action", "R") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + ifArgument = P("ifArgument", "R", True, "sysmlv2_if_action_usage_if_argument", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + thenAction = P("thenAction", "R", True, "sysmlv2_if_action_usage_then_action", "R") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class UseCaseUsage(CaseUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + calculationDefinition = P("calculationDefinition", "N", False, "sysmlv2_calculation_usage_calculation_definition", "R") + caseDefinition = P("caseDefinition", "N", True, "sysmlv2_case_usage_case_definition", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + includedUseCase = P("includedUseCase", "A", True, "sysmlv2_use_case_usage_included_use_case", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_usage_objective_requirement", "R") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_usage_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + useCaseDefinition = P("useCaseDefinition", "N", True, "sysmlv2_use_case_usage_use_case_definition", "R") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class IncludeUseCaseUsage(UseCaseUsage, PerformActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + calculationDefinition = P("calculationDefinition", "N", False, "sysmlv2_calculation_usage_calculation_definition", "R") + caseDefinition = P("caseDefinition", "N", True, "sysmlv2_case_usage_case_definition", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + eventOccurrence = P("eventOccurrence", "R", True, "sysmlv2_event_occurrence_usage_event_occurrence", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + includedUseCase = P("includedUseCase", "A", True, "sysmlv2_use_case_usage_included_use_case", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_usage_objective_requirement", "R") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + performedAction = P("performedAction", "R", True, "sysmlv2_perform_action_usage_performed_action", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_usage_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + useCaseDefinition = P("useCaseDefinition", "N", True, "sysmlv2_use_case_usage_use_case_definition", "R") + useCaseIncluded = P("useCaseIncluded", "R", True, "sysmlv2_include_use_case_usage_use_case_included", "R") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class IndexExpression(OperatorExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + operator = P("operator", "N", False, "sysmlv2_operator_expression_operator", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class InterfaceDefinition(ConnectionDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + associationEnd = P("associationEnd", "A", True, "sysmlv2_association_association_end", "H") + connectionEnd = P("connectionEnd", "A", True, "sysmlv2_connection_definition_connection_end", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + interfaceEnd = P("interfaceEnd", "A", True, "sysmlv2_interface_definition_interface_end", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedType = P("relatedType", "A", True, "sysmlv2_association_related_type", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceType = P("sourceType", "N", True, "sysmlv2_association_source_type", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetType = P("targetType", "A", True, "sysmlv2_association_target_type", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class InterfaceUsage(ConnectionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectionDefinition = P("connectionDefinition", "A", True, "sysmlv2_connection_usage_connection_definition", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + interfaceDefinition = P("interfaceDefinition", "A", True, "sysmlv2_interface_usage_interface_definition", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + partDefinition = P("partDefinition", "A", True, "sysmlv2_part_usage_part_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Intersecting(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + intersectingType = P("intersectingType", "R", False, "sysmlv2_intersecting_intersecting_type", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + typeIntersected = P("typeIntersected", "R", True, "sysmlv2_intersecting_type_intersected", "R") + +class JoinNode(ControlNode): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Package(Namespace): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + filterCondition = P("filterCondition", "A", True, "sysmlv2_package_filter_condition", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + importedMemberships = Op("importedMemberships", ['excluded'], "sysmlv2_namespace_imported_memberships", "H", (('excluded', 'Handles'),)) + includeAsMember = Op("includeAsMember", ['element'], "sysmlv2_package_include_as_member", "B", (('element', 'Handle'),)) + +class LibraryPackage(Package): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + filterCondition = P("filterCondition", "A", True, "sysmlv2_package_filter_condition", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isStandard = P("isStandard", "N", False, "sysmlv2_library_package_is_standard", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + libraryNamespace = Op("libraryNamespace", [], "sysmlv2_element_library_namespace", "R", ()) + +class LiteralExpression(Expression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + evaluate = Op("evaluate", ['target'], "sysmlv2_expression_evaluate", "H", (('target', 'Handle'),)) + +class LiteralBoolean(LiteralExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + value = P("value", "N", False, "sysmlv2_literal_boolean_value", "B") + +class LiteralInfinity(LiteralExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class LiteralInteger(LiteralExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + value = P("value", "N", False, "sysmlv2_literal_integer_value", "I") + +class LiteralRational(LiteralExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + value = P("value", "N", False, "sysmlv2_literal_rational_value", "F") + +class LiteralString(LiteralExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + value = P("value", "N", False, "sysmlv2_literal_string_value", "S") + +class MembershipImport(Import): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importOwningNamespace = P("importOwningNamespace", "R", True, "sysmlv2_import_import_owning_namespace", "R") + importedElement = P("importedElement", "R", True, "sysmlv2_import_imported_element", "R") + importedMembership = P("importedMembership", "R", False, "sysmlv2_membership_import_imported_membership", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isImportAll = P("isImportAll", "N", False, "sysmlv2_import_is_import_all", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isRecursive = P("isRecursive", "N", False, "sysmlv2_import_is_recursive", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_import_visibility", "S") + importedMemberships = Op("importedMemberships", ['excluded'], "sysmlv2_import_imported_memberships", "H", (('excluded', 'Handles'),)) + +class MembershipExpose(MembershipImport, Expose): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importOwningNamespace = P("importOwningNamespace", "R", True, "sysmlv2_import_import_owning_namespace", "R") + importedElement = P("importedElement", "R", True, "sysmlv2_import_imported_element", "R") + importedMembership = P("importedMembership", "R", False, "sysmlv2_membership_import_imported_membership", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isImportAll = P("isImportAll", "N", False, "sysmlv2_import_is_import_all", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isRecursive = P("isRecursive", "N", False, "sysmlv2_import_is_recursive", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_import_visibility", "S") + +class MergeNode(ControlNode): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Metaclass(Structure): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class MetadataAccessExpression(Expression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referencedElement = P("referencedElement", "R", True, "sysmlv2_metadata_access_expression_referenced_element", "R") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + evaluate = Op("evaluate", ['target'], "sysmlv2_expression_evaluate", "H", (('target', 'Handle'),)) + metaclassFeature = Op("metaclassFeature", [], "sysmlv2_metadata_access_expression_metaclass_feature", "R", ()) + +class MetadataDefinition(Metaclass, ItemDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class MetadataFeature(AnnotatingElement, Feature): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "A", True, "sysmlv2_annotating_element_annotated_element", "H") + annotation = P("annotation", "A", True, "sysmlv2_annotating_element_annotation", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + metaclass = P("metaclass", "N", True, "sysmlv2_metadata_feature_metaclass", "R") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotatingRelationship = P("ownedAnnotatingRelationship", "A", True, "sysmlv2_annotating_element_owned_annotating_relationship", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatingRelationship = P("owningAnnotatingRelationship", "N", True, "sysmlv2_annotating_element_owning_annotating_relationship", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + evaluateFeature = Op("evaluateFeature", ['baseFeature'], "sysmlv2_metadata_feature_evaluate_feature", "H", (('base_feature', 'Handle'),)) + isSemantic = Op("isSemantic", [], "sysmlv2_metadata_feature_is_semantic", "B", ()) + isSyntactic = Op("isSyntactic", [], "sysmlv2_metadata_feature_is_syntactic", "B", ()) + syntaxElement = Op("syntaxElement", [], "sysmlv2_metadata_feature_syntax_element", "R", ()) + +class MetadataUsage(MetadataFeature, ItemUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "A", True, "sysmlv2_annotating_element_annotated_element", "H") + annotation = P("annotation", "A", True, "sysmlv2_annotating_element_annotation", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + metaclass = P("metaclass", "N", True, "sysmlv2_metadata_feature_metaclass", "R") + metadataDefinition = P("metadataDefinition", "N", True, "sysmlv2_metadata_usage_metadata_definition", "R") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotatingRelationship = P("ownedAnnotatingRelationship", "A", True, "sysmlv2_annotating_element_owned_annotating_relationship", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatingRelationship = P("owningAnnotatingRelationship", "N", True, "sysmlv2_annotating_element_owning_annotating_relationship", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Multiplicity(Feature): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class MultiplicityRange(Multiplicity): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + bound = P("bound", "A", True, "sysmlv2_multiplicity_range_bound", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + lowerBound = P("lowerBound", "N", True, "sysmlv2_multiplicity_range_lower_bound", "R") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + upperBound = P("upperBound", "R", True, "sysmlv2_multiplicity_range_upper_bound", "R") + hasBounds = Op("hasBounds", ['lower', 'upper'], "sysmlv2_multiplicity_range_has_bounds", "B", (('lower', 'Str'), ('upper', 'Str'))) + valueOf = Op("valueOf", ['bound'], "sysmlv2_multiplicity_range_value_of", "I", (('bound', 'Handle'),)) + +class NamespaceImport(Import): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importOwningNamespace = P("importOwningNamespace", "R", True, "sysmlv2_import_import_owning_namespace", "R") + importedElement = P("importedElement", "R", True, "sysmlv2_import_imported_element", "R") + importedNamespace = P("importedNamespace", "R", False, "sysmlv2_namespace_import_imported_namespace", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isImportAll = P("isImportAll", "N", False, "sysmlv2_import_is_import_all", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isRecursive = P("isRecursive", "N", False, "sysmlv2_import_is_recursive", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_import_visibility", "S") + importedMemberships = Op("importedMemberships", ['excluded'], "sysmlv2_import_imported_memberships", "H", (('excluded', 'Handles'),)) + +class NamespaceExpose(NamespaceImport, Expose): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + importOwningNamespace = P("importOwningNamespace", "R", True, "sysmlv2_import_import_owning_namespace", "R") + importedElement = P("importedElement", "R", True, "sysmlv2_import_imported_element", "R") + importedNamespace = P("importedNamespace", "R", False, "sysmlv2_namespace_import_imported_namespace", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isImportAll = P("isImportAll", "N", False, "sysmlv2_import_is_import_all", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isRecursive = P("isRecursive", "N", False, "sysmlv2_import_is_recursive", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_import_visibility", "S") + +class NullExpression(Expression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + modelLevelEvaluable = Op("modelLevelEvaluable", ['visited'], "sysmlv2_expression_model_level_evaluable", "B", (('visited', 'Handles'),)) + evaluate = Op("evaluate", ['target'], "sysmlv2_expression_evaluate", "H", (('target', 'Handle'),)) + +class ObjectiveMembership(FeatureMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedObjectiveRequirement = P("ownedObjectiveRequirement", "R", True, "sysmlv2_objective_membership_owned_objective_requirement", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class PayloadFeature(Feature): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class PortConjugation(Conjugation): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + conjugatedPortDefinition = P("conjugatedPortDefinition", "R", True, "sysmlv2_port_conjugation_conjugated_port_definition", "R") + conjugatedType = P("conjugatedType", "R", False, "sysmlv2_conjugation_conjugated_type", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + originalPortDefinition = P("originalPortDefinition", "R", False, "sysmlv2_port_conjugation_original_port_definition", "R") + originalType = P("originalType", "R", False, "sysmlv2_conjugation_original_type", "R") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_conjugation_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class PortUsage(OccurrenceUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + portDefinition = P("portDefinition", "A", True, "sysmlv2_port_usage_port_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class Redefinition(Subsetting): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_subsetting_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + redefinedFeature = P("redefinedFeature", "R", False, "sysmlv2_redefinition_redefined_feature", "R") + redefiningFeature = P("redefiningFeature", "R", False, "sysmlv2_redefinition_redefining_feature", "R") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + subsettedFeature = P("subsettedFeature", "R", False, "sysmlv2_subsetting_subsetted_feature", "R") + subsettingFeature = P("subsettingFeature", "R", False, "sysmlv2_subsetting_subsetting_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class ReferenceSubsetting(Subsetting): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeature = P("owningFeature", "N", True, "sysmlv2_subsetting_owning_feature", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referencedFeature = P("referencedFeature", "R", False, "sysmlv2_reference_subsetting_referenced_feature", "R") + referencingFeature = P("referencingFeature", "R", False, "sysmlv2_reference_subsetting_referencing_feature", "R") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + subsettedFeature = P("subsettedFeature", "R", False, "sysmlv2_subsetting_subsetted_feature", "R") + subsettingFeature = P("subsettingFeature", "R", False, "sysmlv2_subsetting_subsetting_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class ReferenceUsage(Usage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + namingFeature = Op("namingFeature", [], "sysmlv2_feature_naming_feature", "R", ()) + +class RenderingDefinition(PartDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + rendering = P("rendering", "A", True, "sysmlv2_rendering_definition_rendering", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class RenderingUsage(PartUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + partDefinition = P("partDefinition", "A", True, "sysmlv2_part_usage_part_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + renderingDefinition = P("renderingDefinition", "N", True, "sysmlv2_rendering_usage_rendering_definition", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class RequirementVerificationMembership(RequirementConstraintMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + kind = P("kind", "N", False, "sysmlv2_requirement_constraint_membership_kind", "S") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConstraint = P("ownedConstraint", "R", True, "sysmlv2_requirement_constraint_membership_owned_constraint", "R") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRequirement = P("ownedRequirement", "R", True, "sysmlv2_requirement_verification_membership_owned_requirement", "R") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referencedConstraint = P("referencedConstraint", "R", True, "sysmlv2_requirement_constraint_membership_referenced_constraint", "R") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + verifiedRequirement = P("verifiedRequirement", "R", True, "sysmlv2_requirement_verification_membership_verified_requirement", "R") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class ResultExpressionMembership(FeatureMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedResultExpression = P("ownedResultExpression", "R", True, "sysmlv2_result_expression_membership_owned_result_expression", "R") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class ReturnParameterMembership(ParameterMembership): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberParameter = P("ownedMemberParameter", "R", True, "sysmlv2_parameter_membership_owned_member_parameter", "R") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + parameterDirection = Op("parameterDirection", [], "sysmlv2_parameter_membership_parameter_direction", "S", ()) + +class SatisfyRequirementUsage(RequirementUsage, AssertConstraintUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assertedConstraint = P("assertedConstraint", "R", True, "sysmlv2_assert_constraint_usage_asserted_constraint", "R") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_usage_assumed_constraint", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + constraintDefinition = P("constraintDefinition", "N", True, "sysmlv2_constraint_usage_constraint_definition", "R") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_usage_framed_concern", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isNegated = P("isNegated", "N", False, "sysmlv2_invariant_is_negated", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_usage_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_usage_required_constraint", "H") + requirementDefinition = P("requirementDefinition", "N", True, "sysmlv2_requirement_usage_requirement_definition", "R") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + satisfiedRequirement = P("satisfiedRequirement", "R", True, "sysmlv2_satisfy_requirement_usage_satisfied_requirement", "R") + satisfyingFeature = P("satisfyingFeature", "R", True, "sysmlv2_satisfy_requirement_usage_satisfying_feature", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_usage_stakeholder_parameter", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_usage_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_usage_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class SelectExpression(OperatorExpression): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + operator = P("operator", "N", False, "sysmlv2_operator_expression_operator", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class SendActionUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + payloadArgument = P("payloadArgument", "R", True, "sysmlv2_send_action_usage_payload_argument", "R") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + receiverArgument = P("receiverArgument", "N", True, "sysmlv2_send_action_usage_receiver_argument", "R") + senderArgument = P("senderArgument", "N", True, "sysmlv2_send_action_usage_sender_argument", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class StakeholderMembership(ParameterMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberParameter = P("ownedMemberParameter", "R", True, "sysmlv2_parameter_membership_owned_member_parameter", "R") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedStakeholderParameter = P("ownedStakeholderParameter", "R", True, "sysmlv2_stakeholder_membership_owned_stakeholder_parameter", "R") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class StateDefinition(ActionDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + doAction = P("doAction", "N", True, "sysmlv2_state_definition_do_action", "R") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + entryAction = P("entryAction", "N", True, "sysmlv2_state_definition_entry_action", "R") + exitAction = P("exitAction", "N", True, "sysmlv2_state_definition_exit_action", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isParallel = P("isParallel", "N", False, "sysmlv2_state_definition_is_parallel", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + state = P("state", "A", True, "sysmlv2_state_definition_state", "H") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class StateSubactionMembership(FeatureMembership): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "R", True, "sysmlv2_state_subaction_membership_action", "R") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + kind = P("kind", "N", False, "sysmlv2_state_subaction_membership_kind", "S") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class Subclassification(Specialization): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + general = P("general", "R", False, "sysmlv2_specialization_general", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningClassifier = P("owningClassifier", "N", True, "sysmlv2_subclassification_owning_classifier", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_specialization_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + specific = P("specific", "R", False, "sysmlv2_specialization_specific", "R") + subclassifier = P("subclassifier", "R", False, "sysmlv2_subclassification_subclassifier", "R") + superclassifier = P("superclassifier", "R", False, "sysmlv2_subclassification_superclassifier", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class SubjectMembership(ParameterMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberParameter = P("ownedMemberParameter", "R", True, "sysmlv2_parameter_membership_owned_member_parameter", "R") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSubjectParameter = P("ownedSubjectParameter", "R", True, "sysmlv2_subject_membership_owned_subject_parameter", "R") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class Succession(Connector): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class SuccessionAsUsage(Succession, ConnectorAsUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class SuccessionFlow(Succession, Flow): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + flowEnd = P("flowEnd", "A", True, "sysmlv2_flow_flow_end", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + interaction = P("interaction", "A", True, "sysmlv2_flow_interaction", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + payloadFeature = P("payloadFeature", "N", True, "sysmlv2_flow_payload_feature", "R") + payloadType = P("payloadType", "A", True, "sysmlv2_flow_payload_type", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + sourceOutputFeature = P("sourceOutputFeature", "N", True, "sysmlv2_flow_source_output_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + targetInputFeature = P("targetInputFeature", "N", True, "sysmlv2_flow_target_input_feature", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + +class SuccessionFlowUsage(SuccessionFlow, FlowUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + association = P("association", "A", True, "sysmlv2_connector_association", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + connectorEnd = P("connectorEnd", "A", True, "sysmlv2_connector_connector_end", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + defaultFeaturingType = P("defaultFeaturingType", "N", True, "sysmlv2_connector_default_featuring_type", "R") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + flowDefinition = P("flowDefinition", "A", True, "sysmlv2_flow_usage_flow_definition", "H") + flowEnd = P("flowEnd", "A", True, "sysmlv2_flow_flow_end", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + interaction = P("interaction", "A", True, "sysmlv2_flow_interaction", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + payloadFeature = P("payloadFeature", "N", True, "sysmlv2_flow_payload_feature", "R") + payloadType = P("payloadType", "A", True, "sysmlv2_flow_payload_type", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + relatedFeature = P("relatedFeature", "A", True, "sysmlv2_connector_related_feature", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + sourceFeature = P("sourceFeature", "N", True, "sysmlv2_connector_source_feature", "R") + sourceOutputFeature = P("sourceOutputFeature", "N", True, "sysmlv2_flow_source_output_feature", "R") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + targetFeature = P("targetFeature", "A", True, "sysmlv2_connector_target_feature", "H") + targetInputFeature = P("targetInputFeature", "N", True, "sysmlv2_flow_target_input_feature", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class TerminateActionUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + terminatedOccurrenceArgument = P("terminatedOccurrenceArgument", "N", True, "sysmlv2_terminate_action_usage_terminated_occurrence_argument", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + +class TextualRepresentation(AnnotatingElement): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + annotatedElement = P("annotatedElement", "A", True, "sysmlv2_annotating_element_annotated_element", "H") + annotation = P("annotation", "A", True, "sysmlv2_annotating_element_annotation", "H") + body = P("body", "S", False, "sysmlv2_textual_representation_body", "S") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + language = P("language", "S", False, "sysmlv2_textual_representation_language", "S") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotatingRelationship = P("ownedAnnotatingRelationship", "A", True, "sysmlv2_annotating_element_owned_annotating_relationship", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningAnnotatingRelationship = P("owningAnnotatingRelationship", "N", True, "sysmlv2_annotating_element_owning_annotating_relationship", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + representedElement = P("representedElement", "R", True, "sysmlv2_textual_representation_represented_element", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class TransitionFeatureMembership(FeatureMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + kind = P("kind", "N", False, "sysmlv2_transition_feature_membership_kind", "S") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + transitionFeature = P("transitionFeature", "R", True, "sysmlv2_transition_feature_membership_transition_feature", "R") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class TransitionUsage(ActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + effectAction = P("effectAction", "A", True, "sysmlv2_transition_usage_effect_action", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + guardExpression = P("guardExpression", "A", True, "sysmlv2_transition_usage_guard_expression", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "R", True, "sysmlv2_transition_usage_source", "R") + succession = P("succession", "R", True, "sysmlv2_transition_usage_succession", "R") + target = P("target", "R", True, "sysmlv2_transition_usage_target", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + triggerAction = P("triggerAction", "A", True, "sysmlv2_transition_usage_trigger_action", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + triggerPayloadParameter = Op("triggerPayloadParameter", [], "sysmlv2_transition_usage_trigger_payload_parameter", "R", ()) + sourceFeature = Op("sourceFeature", [], "sysmlv2_transition_usage_source_feature", "R", ()) + +class TriggerInvocationExpression(InvocationExpression): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + argument = P("argument", "A", True, "sysmlv2_instantiation_expression_argument", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + instantiatedType = P("instantiatedType", "R", True, "sysmlv2_instantiation_expression_instantiated_type", "R") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + kind = P("kind", "N", False, "sysmlv2_trigger_invocation_expression_kind", "S") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + instantiatedType_op = Op("instantiatedType", [], "sysmlv2_instantiation_expression_instantiated_type_op", "R", ()) + +class TypeFeaturing(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + featureOfType = P("featureOfType", "R", False, "sysmlv2_type_featuring_feature_of_type", "R") + featuringType = P("featuringType", "R", False, "sysmlv2_type_featuring_featuring_type", "R") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningFeatureOfType = P("owningFeatureOfType", "N", True, "sysmlv2_type_featuring_owning_feature_of_type", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + +class Unioning(Relationship): + """concrete — KerML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + typeUnioned = P("typeUnioned", "R", True, "sysmlv2_unioning_type_unioned", "R") + unioningType = P("unioningType", "R", False, "sysmlv2_unioning_unioning_type", "R") + +class UseCaseDefinition(CaseDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + calculation = P("calculation", "A", True, "sysmlv2_calculation_definition_calculation", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + includedUseCase = P("includedUseCase", "A", True, "sysmlv2_use_case_definition_included_use_case", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_definition_objective_requirement", "R") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_definition_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + +class VariantMembership(OwningMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedVariantUsage = P("ownedVariantUsage", "R", True, "sysmlv2_variant_membership_owned_variant_usage", "R") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class VerificationCaseDefinition(CaseDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + action = P("action", "A", True, "sysmlv2_action_definition_action", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + calculation = P("calculation", "A", True, "sysmlv2_calculation_definition_calculation", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_definition_objective_requirement", "R") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_definition_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + verifiedRequirement = P("verifiedRequirement", "A", True, "sysmlv2_verification_case_definition_verified_requirement", "H") + +class VerificationCaseUsage(CaseUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + actorParameter = P("actorParameter", "A", True, "sysmlv2_case_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + calculationDefinition = P("calculationDefinition", "N", False, "sysmlv2_calculation_usage_calculation_definition", "R") + caseDefinition = P("caseDefinition", "N", True, "sysmlv2_case_usage_case_definition", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + objectiveRequirement = P("objectiveRequirement", "N", True, "sysmlv2_case_usage_objective_requirement", "R") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_case_usage_subject_parameter", "R") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + verificationCaseDefinition = P("verificationCaseDefinition", "N", True, "sysmlv2_verification_case_usage_verification_case_definition", "R") + verifiedRequirement = P("verifiedRequirement", "A", True, "sysmlv2_verification_case_usage_verified_requirement", "H") + +class ViewDefinition(PartDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + satisfiedViewpoint = P("satisfiedViewpoint", "A", True, "sysmlv2_view_definition_satisfied_viewpoint", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + view = P("view", "A", True, "sysmlv2_view_definition_view", "H") + viewCondition = P("viewCondition", "A", True, "sysmlv2_view_definition_view_condition", "H") + viewRendering = P("viewRendering", "N", True, "sysmlv2_view_definition_view_rendering", "R") + +class ViewRenderingMembership(FeatureMembership): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + isImplied = P("isImplied", "N", False, "sysmlv2_relationship_is_implied", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + memberElement = P("memberElement", "R", False, "sysmlv2_membership_member_element", "R") + memberElementId = P("memberElementId", "N", True, "sysmlv2_membership_member_element_id", "S") + memberName = P("memberName", "N", False, "sysmlv2_membership_member_name", "S") + memberShortName = P("memberShortName", "N", False, "sysmlv2_membership_member_short_name", "S") + membershipOwningNamespace = P("membershipOwningNamespace", "R", True, "sysmlv2_membership_membership_owning_namespace", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedMemberElement = P("ownedMemberElement", "R", True, "sysmlv2_owning_membership_owned_member_element", "R") + ownedMemberElementId = P("ownedMemberElementId", "N", True, "sysmlv2_owning_membership_owned_member_element_id", "S") + ownedMemberFeature = P("ownedMemberFeature", "R", True, "sysmlv2_feature_membership_owned_member_feature", "R") + ownedMemberName = P("ownedMemberName", "N", True, "sysmlv2_owning_membership_owned_member_name", "S") + ownedMemberShortName = P("ownedMemberShortName", "N", True, "sysmlv2_owning_membership_owned_member_short_name", "S") + ownedRelatedElement = P("ownedRelatedElement", "A", False, "sysmlv2_relationship_owned_related_element", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "R", True, "sysmlv2_view_rendering_membership_owned_rendering", "R") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelatedElement = P("owningRelatedElement", "N", False, "sysmlv2_relationship_owning_related_element", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "R", True, "sysmlv2_feature_membership_owning_type", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + referencedRendering = P("referencedRendering", "R", True, "sysmlv2_view_rendering_membership_referenced_rendering", "R") + relatedElement = P("relatedElement", "A", True, "sysmlv2_relationship_related_element", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + source = P("source", "A", False, "sysmlv2_relationship_source", "H") + target = P("target", "A", False, "sysmlv2_relationship_target", "H") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + visibility = P("visibility", "N", False, "sysmlv2_membership_visibility", "S") + +class ViewUsage(PartUsage): + """concrete — SysML 20250201.""" + __slots__ = () + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + exposedElement = P("exposedElement", "A", True, "sysmlv2_view_usage_exposed_element", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + itemDefinition = P("itemDefinition", "A", True, "sysmlv2_item_usage_item_definition", "H") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + partDefinition = P("partDefinition", "A", True, "sysmlv2_part_usage_part_definition", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + satisfiedViewpoint = P("satisfiedViewpoint", "A", True, "sysmlv2_view_usage_satisfied_viewpoint", "H") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + viewCondition = P("viewCondition", "A", True, "sysmlv2_view_usage_view_condition", "H") + viewDefinition = P("viewDefinition", "N", True, "sysmlv2_view_usage_view_definition", "R") + viewRendering = P("viewRendering", "N", True, "sysmlv2_view_usage_view_rendering", "R") + includeAsExposed = Op("includeAsExposed", ['element'], "sysmlv2_view_usage_include_as_exposed", "B", (('element', 'Handle'),)) + +class ViewpointDefinition(RequirementDefinition): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_definition_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_definition_assumed_constraint", "H") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_definition_directed_usage", "H") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + expression = P("expression", "A", True, "sysmlv2_function_expression", "H") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_definition_framed_concern", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_definition_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_function_is_model_level_evaluable", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_definition_is_variation", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAction = P("ownedAction", "A", True, "sysmlv2_definition_owned_action", "H") + ownedAllocation = P("ownedAllocation", "A", True, "sysmlv2_definition_owned_allocation", "H") + ownedAnalysisCase = P("ownedAnalysisCase", "A", True, "sysmlv2_definition_owned_analysis_case", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedAttribute = P("ownedAttribute", "A", True, "sysmlv2_definition_owned_attribute", "H") + ownedCalculation = P("ownedCalculation", "A", True, "sysmlv2_definition_owned_calculation", "H") + ownedCase = P("ownedCase", "A", True, "sysmlv2_definition_owned_case", "H") + ownedConcern = P("ownedConcern", "A", True, "sysmlv2_definition_owned_concern", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedConnection = P("ownedConnection", "A", True, "sysmlv2_definition_owned_connection", "H") + ownedConstraint = P("ownedConstraint", "A", True, "sysmlv2_definition_owned_constraint", "H") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedEnumeration = P("ownedEnumeration", "A", True, "sysmlv2_definition_owned_enumeration", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedFlow = P("ownedFlow", "A", True, "sysmlv2_definition_owned_flow", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedInterface = P("ownedInterface", "A", True, "sysmlv2_definition_owned_interface", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedItem = P("ownedItem", "A", True, "sysmlv2_definition_owned_item", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedMetadata = P("ownedMetadata", "A", True, "sysmlv2_definition_owned_metadata", "H") + ownedOccurrence = P("ownedOccurrence", "A", True, "sysmlv2_definition_owned_occurrence", "H") + ownedPart = P("ownedPart", "A", True, "sysmlv2_definition_owned_part", "H") + ownedPort = P("ownedPort", "A", True, "sysmlv2_definition_owned_port", "H") + ownedReference = P("ownedReference", "A", True, "sysmlv2_definition_owned_reference", "H") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedRendering = P("ownedRendering", "A", True, "sysmlv2_definition_owned_rendering", "H") + ownedRequirement = P("ownedRequirement", "A", True, "sysmlv2_definition_owned_requirement", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedState = P("ownedState", "A", True, "sysmlv2_definition_owned_state", "H") + ownedSubclassification = P("ownedSubclassification", "A", True, "sysmlv2_classifier_owned_subclassification", "H") + ownedTransition = P("ownedTransition", "A", True, "sysmlv2_definition_owned_transition", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + ownedUsage = P("ownedUsage", "A", True, "sysmlv2_definition_owned_usage", "H") + ownedUseCase = P("ownedUseCase", "A", True, "sysmlv2_definition_owned_use_case", "H") + ownedVerificationCase = P("ownedVerificationCase", "A", True, "sysmlv2_definition_owned_verification_case", "H") + ownedView = P("ownedView", "A", True, "sysmlv2_definition_owned_view", "H") + ownedViewpoint = P("ownedViewpoint", "A", True, "sysmlv2_definition_owned_viewpoint", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + parameter = P("parameter", "A", True, "sysmlv2_behavior_parameter", "H") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_definition_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_definition_required_constraint", "H") + result = P("result", "R", True, "sysmlv2_function_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_definition_stakeholder_parameter", "H") + step = P("step", "A", True, "sysmlv2_behavior_step", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_definition_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_definition_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_definition_usage", "H") + variant = P("variant", "A", True, "sysmlv2_definition_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_definition_variant_membership", "H") + viewpointStakeholder = P("viewpointStakeholder", "A", True, "sysmlv2_viewpoint_definition_viewpoint_stakeholder", "H") + +class ViewpointUsage(RequirementUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actorParameter = P("actorParameter", "A", True, "sysmlv2_requirement_usage_actor_parameter", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + assumedConstraint = P("assumedConstraint", "A", True, "sysmlv2_requirement_usage_assumed_constraint", "H") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + constraintDefinition = P("constraintDefinition", "N", True, "sysmlv2_constraint_usage_constraint_definition", "R") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + framedConcern = P("framedConcern", "A", True, "sysmlv2_requirement_usage_framed_concern", "H") + function = P("function", "N", True, "sysmlv2_expression_function", "R") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isModelLevelEvaluable = P("isModelLevelEvaluable", "N", True, "sysmlv2_expression_is_model_level_evaluable", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + predicate = P("predicate", "N", True, "sysmlv2_boolean_expression_predicate", "R") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + reqId = P("reqId", "N", False, "sysmlv2_requirement_usage_req_id", "S") + requiredConstraint = P("requiredConstraint", "A", True, "sysmlv2_requirement_usage_required_constraint", "H") + requirementDefinition = P("requirementDefinition", "N", True, "sysmlv2_requirement_usage_requirement_definition", "R") + result = P("result", "R", True, "sysmlv2_expression_result", "R") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + stakeholderParameter = P("stakeholderParameter", "A", True, "sysmlv2_requirement_usage_stakeholder_parameter", "H") + subjectParameter = P("subjectParameter", "R", True, "sysmlv2_requirement_usage_subject_parameter", "R") + text = P("text", "A", True, "sysmlv2_requirement_usage_text", "T") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + viewpointDefinition = P("viewpointDefinition", "N", True, "sysmlv2_viewpoint_usage_viewpoint_definition", "R") + viewpointStakeholder = P("viewpointStakeholder", "A", True, "sysmlv2_viewpoint_usage_viewpoint_stakeholder", "H") + +class WhileLoopActionUsage(LoopActionUsage): + """concrete — SysML 20250201.""" + __slots__ = () + actionDefinition = P("actionDefinition", "A", True, "sysmlv2_action_usage_action_definition", "H") + aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") + behavior = P("behavior", "A", True, "sysmlv2_step_behavior", "H") + bodyAction = P("bodyAction", "R", True, "sysmlv2_loop_action_usage_body_action", "R") + chainingFeature = P("chainingFeature", "A", True, "sysmlv2_feature_chaining_feature", "H") + crossFeature = P("crossFeature", "N", True, "sysmlv2_feature_cross_feature", "R") + declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") + declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") + definition = P("definition", "A", True, "sysmlv2_usage_definition", "H") + differencingType = P("differencingType", "A", True, "sysmlv2_type_differencing_type", "H") + directedFeature = P("directedFeature", "A", True, "sysmlv2_type_directed_feature", "H") + directedUsage = P("directedUsage", "A", True, "sysmlv2_usage_directed_usage", "H") + direction = P("direction", "N", False, "sysmlv2_feature_direction", "S") + documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") + elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") + endFeature = P("endFeature", "A", True, "sysmlv2_type_end_feature", "H") + endOwningType = P("endOwningType", "N", True, "sysmlv2_feature_end_owning_type", "R") + feature = P("feature", "A", True, "sysmlv2_type_feature", "H") + featureMembership = P("featureMembership", "A", True, "sysmlv2_type_feature_membership", "H") + featureTarget = P("featureTarget", "R", True, "sysmlv2_feature_feature_target", "R") + featuringType = P("featuringType", "A", True, "sysmlv2_feature_featuring_type", "H") + importedMembership = P("importedMembership", "A", True, "sysmlv2_namespace_imported_membership", "H") + individualDefinition = P("individualDefinition", "N", True, "sysmlv2_occurrence_usage_individual_definition", "R") + inheritedFeature = P("inheritedFeature", "A", True, "sysmlv2_type_inherited_feature", "H") + inheritedMembership = P("inheritedMembership", "A", True, "sysmlv2_type_inherited_membership", "H") + input = P("input", "A", True, "sysmlv2_type_input", "H") + intersectingType = P("intersectingType", "A", True, "sysmlv2_type_intersecting_type", "H") + isAbstract = P("isAbstract", "N", False, "sysmlv2_type_is_abstract", "B") + isComposite = P("isComposite", "N", False, "sysmlv2_feature_is_composite", "B") + isConjugated = P("isConjugated", "N", True, "sysmlv2_type_is_conjugated", "B") + isConstant = P("isConstant", "N", False, "sysmlv2_feature_is_constant", "B") + isDerived = P("isDerived", "N", False, "sysmlv2_feature_is_derived", "B") + isEnd = P("isEnd", "N", False, "sysmlv2_feature_is_end", "B") + isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") + isIndividual = P("isIndividual", "N", False, "sysmlv2_occurrence_usage_is_individual", "B") + isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") + isOrdered = P("isOrdered", "N", False, "sysmlv2_feature_is_ordered", "B") + isPortion = P("isPortion", "N", False, "sysmlv2_feature_is_portion", "B") + isReference = P("isReference", "N", True, "sysmlv2_usage_is_reference", "B") + isSufficient = P("isSufficient", "N", False, "sysmlv2_type_is_sufficient", "B") + isUnique = P("isUnique", "N", False, "sysmlv2_feature_is_unique", "B") + isVariable = P("isVariable", "N", False, "sysmlv2_feature_is_variable", "B") + isVariation = P("isVariation", "N", False, "sysmlv2_usage_is_variation", "B") + mayTimeVary = P("mayTimeVary", "N", True, "sysmlv2_usage_may_time_vary", "B") + member = P("member", "A", True, "sysmlv2_namespace_member", "H") + membership = P("membership", "A", True, "sysmlv2_namespace_membership", "H") + multiplicity = P("multiplicity", "N", True, "sysmlv2_type_multiplicity", "R") + name = P("name", "N", True, "sysmlv2_element_name", "S") + nestedAction = P("nestedAction", "A", True, "sysmlv2_usage_nested_action", "H") + nestedAllocation = P("nestedAllocation", "A", True, "sysmlv2_usage_nested_allocation", "H") + nestedAnalysisCase = P("nestedAnalysisCase", "A", True, "sysmlv2_usage_nested_analysis_case", "H") + nestedAttribute = P("nestedAttribute", "A", True, "sysmlv2_usage_nested_attribute", "H") + nestedCalculation = P("nestedCalculation", "A", True, "sysmlv2_usage_nested_calculation", "H") + nestedCase = P("nestedCase", "A", True, "sysmlv2_usage_nested_case", "H") + nestedConcern = P("nestedConcern", "A", True, "sysmlv2_usage_nested_concern", "H") + nestedConnection = P("nestedConnection", "A", True, "sysmlv2_usage_nested_connection", "H") + nestedConstraint = P("nestedConstraint", "A", True, "sysmlv2_usage_nested_constraint", "H") + nestedEnumeration = P("nestedEnumeration", "A", True, "sysmlv2_usage_nested_enumeration", "H") + nestedFlow = P("nestedFlow", "A", True, "sysmlv2_usage_nested_flow", "H") + nestedInterface = P("nestedInterface", "A", True, "sysmlv2_usage_nested_interface", "H") + nestedItem = P("nestedItem", "A", True, "sysmlv2_usage_nested_item", "H") + nestedMetadata = P("nestedMetadata", "A", True, "sysmlv2_usage_nested_metadata", "H") + nestedOccurrence = P("nestedOccurrence", "A", True, "sysmlv2_usage_nested_occurrence", "H") + nestedPart = P("nestedPart", "A", True, "sysmlv2_usage_nested_part", "H") + nestedPort = P("nestedPort", "A", True, "sysmlv2_usage_nested_port", "H") + nestedReference = P("nestedReference", "A", True, "sysmlv2_usage_nested_reference", "H") + nestedRendering = P("nestedRendering", "A", True, "sysmlv2_usage_nested_rendering", "H") + nestedRequirement = P("nestedRequirement", "A", True, "sysmlv2_usage_nested_requirement", "H") + nestedState = P("nestedState", "A", True, "sysmlv2_usage_nested_state", "H") + nestedTransition = P("nestedTransition", "A", True, "sysmlv2_usage_nested_transition", "H") + nestedUsage = P("nestedUsage", "A", True, "sysmlv2_usage_nested_usage", "H") + nestedUseCase = P("nestedUseCase", "A", True, "sysmlv2_usage_nested_use_case", "H") + nestedVerificationCase = P("nestedVerificationCase", "A", True, "sysmlv2_usage_nested_verification_case", "H") + nestedView = P("nestedView", "A", True, "sysmlv2_usage_nested_view", "H") + nestedViewpoint = P("nestedViewpoint", "A", True, "sysmlv2_usage_nested_viewpoint", "H") + occurrenceDefinition = P("occurrenceDefinition", "A", True, "sysmlv2_occurrence_usage_occurrence_definition", "H") + output = P("output", "A", True, "sysmlv2_type_output", "H") + ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") + ownedConjugator = P("ownedConjugator", "N", True, "sysmlv2_type_owned_conjugator", "R") + ownedCrossSubsetting = P("ownedCrossSubsetting", "N", True, "sysmlv2_feature_owned_cross_subsetting", "R") + ownedDifferencing = P("ownedDifferencing", "A", True, "sysmlv2_type_owned_differencing", "H") + ownedDisjoining = P("ownedDisjoining", "A", True, "sysmlv2_type_owned_disjoining", "H") + ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") + ownedEndFeature = P("ownedEndFeature", "A", True, "sysmlv2_type_owned_end_feature", "H") + ownedFeature = P("ownedFeature", "A", True, "sysmlv2_type_owned_feature", "H") + ownedFeatureChaining = P("ownedFeatureChaining", "A", True, "sysmlv2_feature_owned_feature_chaining", "H") + ownedFeatureInverting = P("ownedFeatureInverting", "A", True, "sysmlv2_feature_owned_feature_inverting", "H") + ownedFeatureMembership = P("ownedFeatureMembership", "A", True, "sysmlv2_type_owned_feature_membership", "H") + ownedImport = P("ownedImport", "A", True, "sysmlv2_namespace_owned_import", "H") + ownedIntersecting = P("ownedIntersecting", "A", True, "sysmlv2_type_owned_intersecting", "H") + ownedMember = P("ownedMember", "A", True, "sysmlv2_namespace_owned_member", "H") + ownedMembership = P("ownedMembership", "A", True, "sysmlv2_namespace_owned_membership", "H") + ownedRedefinition = P("ownedRedefinition", "A", True, "sysmlv2_feature_owned_redefinition", "H") + ownedReferenceSubsetting = P("ownedReferenceSubsetting", "N", True, "sysmlv2_feature_owned_reference_subsetting", "R") + ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") + ownedSpecialization = P("ownedSpecialization", "A", True, "sysmlv2_type_owned_specialization", "H") + ownedSubsetting = P("ownedSubsetting", "A", True, "sysmlv2_feature_owned_subsetting", "H") + ownedTypeFeaturing = P("ownedTypeFeaturing", "A", True, "sysmlv2_feature_owned_type_featuring", "H") + ownedTyping = P("ownedTyping", "A", True, "sysmlv2_feature_owned_typing", "H") + ownedUnioning = P("ownedUnioning", "A", True, "sysmlv2_type_owned_unioning", "H") + owner = P("owner", "N", True, "sysmlv2_element_owner", "R") + owningDefinition = P("owningDefinition", "N", True, "sysmlv2_usage_owning_definition", "R") + owningFeatureMembership = P("owningFeatureMembership", "N", True, "sysmlv2_feature_owning_feature_membership", "R") + owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") + owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") + owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") + owningType = P("owningType", "N", True, "sysmlv2_feature_owning_type", "R") + owningUsage = P("owningUsage", "N", True, "sysmlv2_usage_owning_usage", "R") + parameter = P("parameter", "A", True, "sysmlv2_step_parameter", "H") + portionKind = P("portionKind", "N", False, "sysmlv2_occurrence_usage_portion_kind", "S") + qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") + shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") + textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") + type = P("type", "A", True, "sysmlv2_feature_type", "H") + unioningType = P("unioningType", "A", True, "sysmlv2_type_unioning_type", "H") + untilArgument = P("untilArgument", "N", True, "sysmlv2_while_loop_action_usage_until_argument", "R") + usage = P("usage", "A", True, "sysmlv2_usage_usage", "H") + variant = P("variant", "A", True, "sysmlv2_usage_variant", "H") + variantMembership = P("variantMembership", "A", True, "sysmlv2_usage_variant_membership", "H") + whileArgument = P("whileArgument", "R", True, "sysmlv2_while_loop_action_usage_while_argument", "R") + +Element.aliasIds = P("aliasIds", "A", False, "sysmlv2_element_alias_ids", "T") +Element.declaredName = P("declaredName", "N", False, "sysmlv2_element_declared_name", "S") +Element.declaredShortName = P("declaredShortName", "N", False, "sysmlv2_element_declared_short_name", "S") +Element.documentation = P("documentation", "A", True, "sysmlv2_element_documentation", "H") +Element.elementId = P("elementId", "N", False, "sysmlv2_element_element_id", "S") +Element.isImpliedIncluded = P("isImpliedIncluded", "N", False, "sysmlv2_element_is_implied_included", "B") +Element.isLibraryElement = P("isLibraryElement", "N", True, "sysmlv2_element_is_library_element", "B") +Element.name = P("name", "N", True, "sysmlv2_element_name", "S") +Element.ownedAnnotation = P("ownedAnnotation", "A", True, "sysmlv2_element_owned_annotation", "H") +Element.ownedElement = P("ownedElement", "A", True, "sysmlv2_element_owned_element", "H") +Element.ownedRelationship = P("ownedRelationship", "A", False, "sysmlv2_element_owned_relationship", "H") +Element.owner = P("owner", "N", True, "sysmlv2_element_owner", "R") +Element.owningMembership = P("owningMembership", "N", True, "sysmlv2_element_owning_membership", "R") +Element.owningNamespace = P("owningNamespace", "N", True, "sysmlv2_element_owning_namespace", "R") +Element.owningRelationship = P("owningRelationship", "N", False, "sysmlv2_element_owning_relationship", "R") +Element.qualifiedName = P("qualifiedName", "N", True, "sysmlv2_element_qualified_name", "S") +Element.shortName = P("shortName", "N", True, "sysmlv2_element_short_name", "S") +Element.textualRepresentation = P("textualRepresentation", "A", True, "sysmlv2_element_textual_representation", "H") +Element.escapedName = Op("escapedName", [], "sysmlv2_element_escaped_name", "S", ()) +Element.effectiveShortName = Op("effectiveShortName", [], "sysmlv2_element_effective_short_name", "S", ()) +Element.effectiveName = Op("effectiveName", [], "sysmlv2_element_effective_name", "S", ()) +Element.libraryNamespace = Op("libraryNamespace", [], "sysmlv2_element_library_namespace", "R", ()) +Element.path = Op("path", [], "sysmlv2_element_path", "S", ()) + +REGISTRY = { + "AcceptActionUsage": AcceptActionUsage, + "ActionDefinition": ActionDefinition, + "ActionUsage": ActionUsage, + "ActorMembership": ActorMembership, + "AllocationDefinition": AllocationDefinition, + "AllocationUsage": AllocationUsage, + "AnalysisCaseDefinition": AnalysisCaseDefinition, + "AnalysisCaseUsage": AnalysisCaseUsage, + "AnnotatingElement": AnnotatingElement, + "Annotation": Annotation, + "AssertConstraintUsage": AssertConstraintUsage, + "AssignmentActionUsage": AssignmentActionUsage, + "Association": Association, + "AssociationStructure": AssociationStructure, + "AttributeDefinition": AttributeDefinition, + "AttributeUsage": AttributeUsage, + "Behavior": Behavior, + "BindingConnector": BindingConnector, + "BindingConnectorAsUsage": BindingConnectorAsUsage, + "BooleanExpression": BooleanExpression, + "CalculationDefinition": CalculationDefinition, + "CalculationUsage": CalculationUsage, + "CaseDefinition": CaseDefinition, + "CaseUsage": CaseUsage, + "Class": Class, + "Classifier": Classifier, + "CollectExpression": CollectExpression, + "Comment": Comment, + "ConcernDefinition": ConcernDefinition, + "ConcernUsage": ConcernUsage, + "ConjugatedPortDefinition": ConjugatedPortDefinition, + "ConjugatedPortTyping": ConjugatedPortTyping, + "Conjugation": Conjugation, + "ConnectionDefinition": ConnectionDefinition, + "ConnectionUsage": ConnectionUsage, + "Connector": Connector, + "ConstraintDefinition": ConstraintDefinition, + "ConstraintUsage": ConstraintUsage, + "ConstructorExpression": ConstructorExpression, + "CrossSubsetting": CrossSubsetting, + "DataType": DataType, + "DecisionNode": DecisionNode, + "Definition": Definition, + "Dependency": Dependency, + "Differencing": Differencing, + "Disjoining": Disjoining, + "Documentation": Documentation, + "ElementFilterMembership": ElementFilterMembership, + "EndFeatureMembership": EndFeatureMembership, + "EnumerationDefinition": EnumerationDefinition, + "EnumerationUsage": EnumerationUsage, + "EventOccurrenceUsage": EventOccurrenceUsage, + "ExhibitStateUsage": ExhibitStateUsage, + "Expression": Expression, + "Feature": Feature, + "FeatureChainExpression": FeatureChainExpression, + "FeatureChaining": FeatureChaining, + "FeatureInverting": FeatureInverting, + "FeatureMembership": FeatureMembership, + "FeatureReferenceExpression": FeatureReferenceExpression, + "FeatureTyping": FeatureTyping, + "FeatureValue": FeatureValue, + "Flow": Flow, + "FlowDefinition": FlowDefinition, + "FlowEnd": FlowEnd, + "FlowUsage": FlowUsage, + "ForLoopActionUsage": ForLoopActionUsage, + "ForkNode": ForkNode, + "FramedConcernMembership": FramedConcernMembership, + "Function": Function, + "IfActionUsage": IfActionUsage, + "IncludeUseCaseUsage": IncludeUseCaseUsage, + "IndexExpression": IndexExpression, + "Interaction": Interaction, + "InterfaceDefinition": InterfaceDefinition, + "InterfaceUsage": InterfaceUsage, + "Intersecting": Intersecting, + "Invariant": Invariant, + "InvocationExpression": InvocationExpression, + "ItemDefinition": ItemDefinition, + "ItemUsage": ItemUsage, + "JoinNode": JoinNode, + "LibraryPackage": LibraryPackage, + "LiteralBoolean": LiteralBoolean, + "LiteralExpression": LiteralExpression, + "LiteralInfinity": LiteralInfinity, + "LiteralInteger": LiteralInteger, + "LiteralRational": LiteralRational, + "LiteralString": LiteralString, + "Membership": Membership, + "MembershipExpose": MembershipExpose, + "MembershipImport": MembershipImport, + "MergeNode": MergeNode, + "Metaclass": Metaclass, + "MetadataAccessExpression": MetadataAccessExpression, + "MetadataDefinition": MetadataDefinition, + "MetadataFeature": MetadataFeature, + "MetadataUsage": MetadataUsage, + "Multiplicity": Multiplicity, + "MultiplicityRange": MultiplicityRange, + "Namespace": Namespace, + "NamespaceExpose": NamespaceExpose, + "NamespaceImport": NamespaceImport, + "NullExpression": NullExpression, + "ObjectiveMembership": ObjectiveMembership, + "OccurrenceDefinition": OccurrenceDefinition, + "OccurrenceUsage": OccurrenceUsage, + "OperatorExpression": OperatorExpression, + "OwningMembership": OwningMembership, + "Package": Package, + "ParameterMembership": ParameterMembership, + "PartDefinition": PartDefinition, + "PartUsage": PartUsage, + "PayloadFeature": PayloadFeature, + "PerformActionUsage": PerformActionUsage, + "PortConjugation": PortConjugation, + "PortDefinition": PortDefinition, + "PortUsage": PortUsage, + "Predicate": Predicate, + "Redefinition": Redefinition, + "ReferenceSubsetting": ReferenceSubsetting, + "ReferenceUsage": ReferenceUsage, + "RenderingDefinition": RenderingDefinition, + "RenderingUsage": RenderingUsage, + "RequirementConstraintMembership": RequirementConstraintMembership, + "RequirementDefinition": RequirementDefinition, + "RequirementUsage": RequirementUsage, + "RequirementVerificationMembership": RequirementVerificationMembership, + "ResultExpressionMembership": ResultExpressionMembership, + "ReturnParameterMembership": ReturnParameterMembership, + "SatisfyRequirementUsage": SatisfyRequirementUsage, + "SelectExpression": SelectExpression, + "SendActionUsage": SendActionUsage, + "Specialization": Specialization, + "StakeholderMembership": StakeholderMembership, + "StateDefinition": StateDefinition, + "StateSubactionMembership": StateSubactionMembership, + "StateUsage": StateUsage, + "Step": Step, + "Structure": Structure, + "Subclassification": Subclassification, + "SubjectMembership": SubjectMembership, + "Subsetting": Subsetting, + "Succession": Succession, + "SuccessionAsUsage": SuccessionAsUsage, + "SuccessionFlow": SuccessionFlow, + "SuccessionFlowUsage": SuccessionFlowUsage, + "TerminateActionUsage": TerminateActionUsage, + "TextualRepresentation": TextualRepresentation, + "TransitionFeatureMembership": TransitionFeatureMembership, + "TransitionUsage": TransitionUsage, + "TriggerInvocationExpression": TriggerInvocationExpression, + "Type": Type, + "TypeFeaturing": TypeFeaturing, + "Unioning": Unioning, + "Usage": Usage, + "UseCaseDefinition": UseCaseDefinition, + "UseCaseUsage": UseCaseUsage, + "VariantMembership": VariantMembership, + "VerificationCaseDefinition": VerificationCaseDefinition, + "VerificationCaseUsage": VerificationCaseUsage, + "ViewDefinition": ViewDefinition, + "ViewRenderingMembership": ViewRenderingMembership, + "ViewUsage": ViewUsage, + "ViewpointDefinition": ViewpointDefinition, + "ViewpointUsage": ViewpointUsage, + "WhileLoopActionUsage": WhileLoopActionUsage, +} diff --git a/python/sysml/classes.pyi b/python/sysml/classes.pyi new file mode 100644 index 0000000..4d93e10 --- /dev/null +++ b/python/sysml/classes.pyi @@ -0,0 +1,13769 @@ +"""Generated type stubs — do not edit. Source: metamodel.json.""" + +from .base import Element as _RuntimeElement + +class Element(_RuntimeElement): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + def escapedName(self) -> str | None: ... + def effectiveShortName(self) -> str | None: ... + def effectiveName(self) -> str | None: ... + def libraryNamespace(self) -> Namespace | None: ... + def path(self) -> str | None: ... + +class Namespace(Element): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importedMembership: list[Membership] + isImpliedIncluded: bool | None + isLibraryElement: bool | None + member: list[Element] + membership: list[Membership] + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedImport: list[Import] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + def namesOf(self, element: Element | None) -> list[str]: ... + def visibilityOf(self, mem: Membership | None) -> str | None: ... + def visibleMemberships(self, excluded: list[Namespace], isRecursive: bool | None, includeAll: bool | None) -> list[Membership]: ... + def importedMemberships(self, excluded: list[Namespace]) -> list[Membership]: ... + def membershipsOfVisibility(self, visibility: str | None, excluded: list[Namespace]) -> list[Membership]: ... + def resolve(self, qualifiedName: str | None) -> Membership | None: ... + def resolveGlobal(self, qualifiedName: str | None) -> Membership | None: ... + def resolveLocal(self, name: str | None) -> Membership | None: ... + def resolveVisible(self, name: str | None) -> Membership | None: ... + def qualificationOf(self, qualifiedName: str | None) -> str | None: ... + def unqualifiedNameOf(self, qualifiedName: str | None) -> str | None: ... + +class Type(Namespace): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + def visibleMemberships(self, excluded: list[Namespace], isRecursive: bool | None, includeAll: bool | None) -> list[Membership]: ... + def inheritedMemberships(self, excludedNamespaces: list[Namespace], excludedTypes: list[Type], excludeImplied: bool | None) -> list[Membership]: ... + def inheritableMemberships(self, excludedNamespaces: list[Namespace], excludedTypes: list[Type], excludeImplied: bool | None) -> list[Membership]: ... + def nonPrivateMemberships(self, excludedNamespaces: list[Namespace], excludedTypes: list[Type], excludeImplied: bool | None) -> list[Membership]: ... + def removeRedefinedFeatures(self, memberships: list[Membership]) -> list[Membership]: ... + def allRedefinedFeaturesOf(self, membership: Membership | None) -> list[Feature]: ... + def directionOf(self, feature: Feature | None) -> str | None: ... + def directionOfExcluding(self, feature: Feature | None, excluded: list[Type]) -> str | None: ... + def supertypes(self, excludeImplied: bool | None) -> list[Type]: ... + def allSupertypes(self) -> list[Type]: ... + def specializes(self, supertype: Type | None) -> bool | None: ... + def specializesFromLibrary(self, libraryTypeName: str | None) -> bool | None: ... + def isCompatibleWith(self, otherType: Type | None) -> bool | None: ... + def multiplicities(self) -> list[Multiplicity]: ... + +class Feature(Type): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def directionFor(self, type: Type | None) -> str | None: ... + def effectiveShortName(self) -> str | None: ... + def effectiveName(self) -> str | None: ... + def namingFeature(self) -> Feature | None: ... + def supertypes(self, excludeImplied: bool | None) -> list[Type]: ... + def redefines(self, redefinedFeature: Feature | None) -> bool | None: ... + def redefinesFromLibrary(self, libraryFeatureName: str | None) -> bool | None: ... + def subsetsChain(self, first: Feature | None, second: Feature | None) -> bool | None: ... + def isCompatibleWith(self, otherType: Type | None) -> bool | None: ... + def typingFeatures(self) -> list[Feature]: ... + def asCartesianProduct(self) -> list[Type]: ... + def isCartesianProduct(self) -> bool | None: ... + def isOwnedCrossFeature(self) -> bool | None: ... + def ownedCrossFeature(self) -> Feature | None: ... + def allRedefinedFeatures(self) -> list[Feature]: ... + def isFeaturedWithin(self, type: Type | None) -> bool | None: ... + def canAccess(self, feature: Feature | None) -> bool | None: ... + def isFeaturingType(self, type: Type | None) -> bool | None: ... + +class Step(Feature): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class Usage(Feature): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def namingFeature(self) -> Feature | None: ... + def referencedFeatureTarget(self) -> Feature | None: ... + +class OccurrenceUsage(Usage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ActionUsage(OccurrenceUsage, Step): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def inputParameters(self) -> list[Feature]: ... + def inputParameter(self, i: int | None) -> Feature | None: ... + def argument(self, i: int | None) -> Expression | None: ... + def isSubactionUsage(self) -> bool | None: ... + +class AcceptActionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + payloadArgument: Expression | None + payloadParameter: ReferenceUsage | None + portionKind: str | None + qualifiedName: str | None + receiverArgument: Expression | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def isTriggerAction(self) -> bool | None: ... + +class Classifier(Type): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class Definition(Classifier): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Class(Classifier): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class OccurrenceDefinition(Class, Definition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Behavior(Class): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + shortName: str | None + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class ActionDefinition(Behavior, OccurrenceDefinition): + action: list[ActionUsage] + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + shortName: str | None + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Relationship(Element): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + def libraryNamespace(self) -> Namespace | None: ... + def path(self) -> str | None: ... + +class Membership(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def isDistinguishableFrom(self, other: Membership | None) -> bool | None: ... + +class OwningMembership(Membership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def path(self) -> str | None: ... + +class FeatureMembership(OwningMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class ParameterMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberParameter: Feature | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def parameterDirection(self) -> str | None: ... + +class ActorMembership(ParameterMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedActorParameter: PartUsage | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberParameter: Feature | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class Structure(Class): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class Association(Relationship, Classifier): + aliasIds: list[str] + associationEnd: list[Feature] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class AssociationStructure(Association, Structure): + aliasIds: list[str] + associationEnd: list[Feature] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class ItemDefinition(Structure, OccurrenceDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class PartDefinition(ItemDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ConnectionDefinition(PartDefinition, AssociationStructure): + aliasIds: list[str] + associationEnd: list[Feature] + connectionEnd: list[Usage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AllocationDefinition(ConnectionDefinition): + aliasIds: list[str] + allocation: list[AllocationUsage] + associationEnd: list[Feature] + connectionEnd: list[Usage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ItemUsage(OccurrenceUsage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class PartUsage(ItemUsage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + partDefinition: list[PartDefinition] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Connector(Relationship, Feature): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class ConnectorAsUsage(Connector, Usage): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ConnectionUsage(ConnectorAsUsage, PartUsage): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectionDefinition: list[AssociationStructure] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + partDefinition: list[PartDefinition] + portionKind: str | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AllocationUsage(ConnectionUsage): + aliasIds: list[str] + allocationDefinition: list[AllocationDefinition] + association: list[Association] + chainingFeature: list[Feature] + connectionDefinition: list[AssociationStructure] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + partDefinition: list[PartDefinition] + portionKind: str | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Function(Behavior): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class CalculationDefinition(Function, ActionDefinition): + action: list[ActionUsage] + aliasIds: list[str] + calculation: list[CalculationUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class CaseDefinition(CalculationDefinition): + action: list[ActionUsage] + actorParameter: list[PartUsage] + aliasIds: list[str] + calculation: list[CalculationUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + objectiveRequirement: RequirementUsage | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AnalysisCaseDefinition(CaseDefinition): + action: list[ActionUsage] + actorParameter: list[PartUsage] + aliasIds: list[str] + calculation: list[CalculationUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + objectiveRequirement: RequirementUsage | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + resultExpression: Expression | None + shortName: str | None + step: list[Step] + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Expression(Step): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + def evaluate(self, target: Element | None) -> list[Element]: ... + def checkCondition(self, target: Element | None) -> bool | None: ... + +class CalculationUsage(Expression, ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + calculationDefinition: Function | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + +class CaseUsage(CalculationUsage): + actionDefinition: list[Behavior] + actorParameter: list[PartUsage] + aliasIds: list[str] + behavior: list[Behavior] + calculationDefinition: Function | None + caseDefinition: CaseDefinition | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + objectiveRequirement: RequirementUsage | None + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AnalysisCaseUsage(CaseUsage): + actionDefinition: list[Behavior] + actorParameter: list[PartUsage] + aliasIds: list[str] + analysisCaseDefinition: AnalysisCaseDefinition | None + behavior: list[Behavior] + calculationDefinition: Function | None + caseDefinition: CaseDefinition | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + objectiveRequirement: RequirementUsage | None + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + result: Feature | None + resultExpression: Expression | None + shortName: str | None + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AnnotatingElement(Element): + aliasIds: list[str] + annotatedElement: list[Element] + annotation: list[Annotation] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotatingRelationship: list[Annotation] + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningAnnotatingRelationship: Annotation | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + +class Annotation(Relationship): + aliasIds: list[str] + annotatedElement: Element | None + annotatingElement: AnnotatingElement | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotatingElement: AnnotatingElement | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningAnnotatedElement: Element | None + owningAnnotatingElement: AnnotatingElement | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class BooleanExpression(Expression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + predicate: Predicate | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class Invariant(BooleanExpression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isNegated: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + predicate: Predicate | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class ConstraintUsage(BooleanExpression, OccurrenceUsage): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + constraintDefinition: Predicate | None + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + predicate: Predicate | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def namingFeature(self) -> Feature | None: ... + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + +class AssertConstraintUsage(ConstraintUsage, Invariant): + aliasIds: list[str] + assertedConstraint: ConstraintUsage | None + behavior: list[Behavior] + chainingFeature: list[Feature] + constraintDefinition: Predicate | None + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isNegated: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + predicate: Predicate | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AssignmentActionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + referent: Feature | None + shortName: str | None + targetArgument: Expression | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + valueExpression: Expression | None + variant: list[Usage] + variantMembership: list[VariantMembership] + +class DataType(Classifier): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class AttributeDefinition(DataType, Definition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class AttributeUsage(Usage): + aliasIds: list[str] + attributeDefinition: list[DataType] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class BindingConnector(Connector): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class BindingConnectorAsUsage(BindingConnector, ConnectorAsUsage): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class InstantiationExpression(Expression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def instantiatedType_op(self) -> Type | None: ... + +class InvocationExpression(InstantiationExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + def evaluate(self, target: Element | None) -> list[Element]: ... + +class OperatorExpression(InvocationExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + operator: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def instantiatedType_op(self) -> Type | None: ... + +class CollectExpression(OperatorExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + operator: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class Comment(AnnotatingElement): + aliasIds: list[str] + annotatedElement: list[Element] + annotation: list[Annotation] + body: str | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + locale: str | None + name: str | None + ownedAnnotatingRelationship: list[Annotation] + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningAnnotatingRelationship: Annotation | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + +class Predicate(Function): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class ConstraintDefinition(Predicate, OccurrenceDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class RequirementDefinition(ConstraintDefinition): + actorParameter: list[PartUsage] + aliasIds: list[str] + assumedConstraint: list[ConstraintUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + framedConcern: list[ConcernUsage] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + result: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + step: list[Step] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ConcernDefinition(RequirementDefinition): + actorParameter: list[PartUsage] + aliasIds: list[str] + assumedConstraint: list[ConstraintUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + framedConcern: list[ConcernUsage] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + result: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + step: list[Step] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class RequirementUsage(ConstraintUsage): + actorParameter: list[PartUsage] + aliasIds: list[str] + assumedConstraint: list[ConstraintUsage] + behavior: list[Behavior] + chainingFeature: list[Feature] + constraintDefinition: Predicate | None + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + framedConcern: list[ConcernUsage] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + predicate: Predicate | None + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + requirementDefinition: RequirementDefinition | None + result: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ConcernUsage(RequirementUsage): + actorParameter: list[PartUsage] + aliasIds: list[str] + assumedConstraint: list[ConstraintUsage] + behavior: list[Behavior] + chainingFeature: list[Feature] + concernDefinition: ConcernDefinition | None + constraintDefinition: Predicate | None + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + framedConcern: list[ConcernUsage] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + predicate: Predicate | None + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + requirementDefinition: RequirementDefinition | None + result: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class PortDefinition(Structure, OccurrenceDefinition): + aliasIds: list[str] + conjugatedPortDefinition: ConjugatedPortDefinition | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ConjugatedPortDefinition(PortDefinition): + aliasIds: list[str] + conjugatedPortDefinition: ConjugatedPortDefinition | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + originalPortDefinition: PortDefinition | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedPortConjugator: PortConjugation | None + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def effectiveName(self) -> str | None: ... + +class Specialization(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class FeatureTyping(Specialization): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + type: Type | None + typedFeature: Feature | None + +class ConjugatedPortTyping(FeatureTyping): + aliasIds: list[str] + conjugatedPortDefinition: ConjugatedPortDefinition | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + portDefinition: PortDefinition | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + type: Type | None + typedFeature: Feature | None + +class Conjugation(Relationship): + aliasIds: list[str] + conjugatedType: Type | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + originalType: Type | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class ConstructorExpression(InstantiationExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + +class ControlNode(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def multiplicityHasBounds(self, mult: Multiplicity | None, lower: int | None, upper: int | None) -> bool | None: ... + +class Subsetting(Specialization): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + subsettedFeature: Feature | None + subsettingFeature: Feature | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class CrossSubsetting(Subsetting): + aliasIds: list[str] + crossedFeature: Feature | None + crossingFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + subsettedFeature: Feature | None + subsettingFeature: Feature | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class DecisionNode(ControlNode): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Dependency(Relationship): + aliasIds: list[str] + client: list[Element] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + supplier: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class Differencing(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: Type | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + typeDifferenced: Type | None + +class Disjoining(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + disjoiningType: Type | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + typeDisjoined: Type | None + +class Documentation(Comment): + aliasIds: list[str] + annotatedElement: list[Element] + annotation: list[Annotation] + body: str | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + documentedElement: Element | None + elementId: str | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + locale: str | None + name: str | None + ownedAnnotatingRelationship: list[Annotation] + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningAnnotatingRelationship: Annotation | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + +class ElementFilterMembership(OwningMembership): + aliasIds: list[str] + condition: Expression | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class EndFeatureMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class EnumerationDefinition(AttributeDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + enumeratedValue: list[EnumerationUsage] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class EnumerationUsage(AttributeUsage): + aliasIds: list[str] + attributeDefinition: list[DataType] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + enumerationDefinition: EnumerationDefinition | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class EventOccurrenceUsage(OccurrenceUsage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + eventOccurrence: OccurrenceUsage | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class PerformActionUsage(EventOccurrenceUsage, ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + eventOccurrence: OccurrenceUsage | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + performedAction: ActionUsage | None + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def namingFeature(self) -> Feature | None: ... + +class StateUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + doAction: ActionUsage | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + entryAction: ActionUsage | None + exitAction: ActionUsage | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isParallel: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + stateDefinition: list[Behavior] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def isSubstateUsage(self, isParallel: bool | None) -> bool | None: ... + +class ExhibitStateUsage(StateUsage, PerformActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + doAction: ActionUsage | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + entryAction: ActionUsage | None + eventOccurrence: OccurrenceUsage | None + exhibitedState: StateUsage | None + exitAction: ActionUsage | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isParallel: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + performedAction: ActionUsage | None + portionKind: str | None + qualifiedName: str | None + shortName: str | None + stateDefinition: list[Behavior] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Import(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importOwningNamespace: Namespace | None + importedElement: Element | None + isImplied: bool | None + isImpliedIncluded: bool | None + isImportAll: bool | None + isLibraryElement: bool | None + isRecursive: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def importedMemberships(self, excluded: list[Namespace]) -> list[Membership]: ... + +class Expose(Import): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importOwningNamespace: Namespace | None + importedElement: Element | None + isImplied: bool | None + isImpliedIncluded: bool | None + isImportAll: bool | None + isLibraryElement: bool | None + isRecursive: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class FeatureChainExpression(OperatorExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + operator: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + targetFeature: Feature | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def sourceTargetFeature(self) -> Feature | None: ... + +class FeatureChaining(Relationship): + aliasIds: list[str] + chainingFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + featureChained: Feature | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class FeatureInverting(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + featureInverted: Feature | None + invertingFeature: Feature | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class FeatureReferenceExpression(Expression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + referent: Feature | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + def evaluate(self, target: Element | None) -> list[Element]: ... + +class FeatureValue(OwningMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + featureWithValue: Feature | None + isDefault: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isInitial: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + value: Expression | None + visibility: str | None + +class Flow(Connector, Step): + aliasIds: list[str] + association: list[Association] + behavior: list[Behavior] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + flowEnd: list[FlowEnd] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + interaction: list[Interaction] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + payloadFeature: PayloadFeature | None + payloadType: list[Classifier] + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + sourceOutputFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + targetInputFeature: Feature | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class Interaction(Association, Behavior): + aliasIds: list[str] + associationEnd: list[Feature] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + step: list[Step] + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class FlowDefinition(Interaction, ActionDefinition): + action: list[ActionUsage] + aliasIds: list[str] + associationEnd: list[Feature] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + flowEnd: list[Usage] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + step: list[Step] + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class FlowEnd(Feature): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class FlowUsage(Flow, ConnectorAsUsage, ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + association: list[Association] + behavior: list[Behavior] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + flowDefinition: list[Interaction] + flowEnd: list[FlowEnd] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + interaction: list[Interaction] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + payloadFeature: PayloadFeature | None + payloadType: list[Classifier] + portionKind: str | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + sourceOutputFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + targetInputFeature: Feature | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class LoopActionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + bodyAction: ActionUsage | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ForLoopActionUsage(LoopActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + bodyAction: ActionUsage | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + loopVariable: ReferenceUsage | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + seqArgument: Expression | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class ForkNode(ControlNode): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class RequirementConstraintMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + kind: str | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedConstraint: ConstraintUsage | None + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + referencedConstraint: ConstraintUsage | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class FramedConcernMembership(RequirementConstraintMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + kind: str | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedConcern: ConcernUsage | None + ownedConstraint: ConstraintUsage | None + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + referencedConcern: ConcernUsage | None + referencedConstraint: ConstraintUsage | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class IfActionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + elseAction: ActionUsage | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + ifArgument: Expression | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + thenAction: ActionUsage | None + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class UseCaseUsage(CaseUsage): + actionDefinition: list[Behavior] + actorParameter: list[PartUsage] + aliasIds: list[str] + behavior: list[Behavior] + calculationDefinition: Function | None + caseDefinition: CaseDefinition | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + includedUseCase: list[UseCaseUsage] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + objectiveRequirement: RequirementUsage | None + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + useCaseDefinition: UseCaseDefinition | None + variant: list[Usage] + variantMembership: list[VariantMembership] + +class IncludeUseCaseUsage(UseCaseUsage, PerformActionUsage): + actionDefinition: list[Behavior] + actorParameter: list[PartUsage] + aliasIds: list[str] + behavior: list[Behavior] + calculationDefinition: Function | None + caseDefinition: CaseDefinition | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + eventOccurrence: OccurrenceUsage | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + includedUseCase: list[UseCaseUsage] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + objectiveRequirement: RequirementUsage | None + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + performedAction: ActionUsage | None + portionKind: str | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + useCaseDefinition: UseCaseDefinition | None + useCaseIncluded: UseCaseUsage | None + variant: list[Usage] + variantMembership: list[VariantMembership] + +class IndexExpression(OperatorExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + operator: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class InterfaceDefinition(ConnectionDefinition): + aliasIds: list[str] + associationEnd: list[Feature] + connectionEnd: list[Usage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + interfaceEnd: list[PortUsage] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + relatedType: list[Type] + shortName: str | None + source: list[Element] + sourceType: Type | None + target: list[Element] + targetType: list[Type] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class InterfaceUsage(ConnectionUsage): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectionDefinition: list[AssociationStructure] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + interfaceDefinition: list[InterfaceDefinition] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + partDefinition: list[PartDefinition] + portionKind: str | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Intersecting(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + intersectingType: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + typeIntersected: Type | None + +class JoinNode(ControlNode): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Package(Namespace): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + filterCondition: list[Expression] + importedMembership: list[Membership] + isImpliedIncluded: bool | None + isLibraryElement: bool | None + member: list[Element] + membership: list[Membership] + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedImport: list[Import] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + def importedMemberships(self, excluded: list[Namespace]) -> list[Membership]: ... + def includeAsMember(self, element: Element | None) -> bool | None: ... + +class LibraryPackage(Package): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + filterCondition: list[Expression] + importedMembership: list[Membership] + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isStandard: bool | None + member: list[Element] + membership: list[Membership] + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedImport: list[Import] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + def libraryNamespace(self) -> Namespace | None: ... + +class LiteralExpression(Expression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + def evaluate(self, target: Element | None) -> list[Element]: ... + +class LiteralBoolean(LiteralExpression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + value: bool | None + +class LiteralInfinity(LiteralExpression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class LiteralInteger(LiteralExpression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + value: int | None + +class LiteralRational(LiteralExpression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + value: float | None + +class LiteralString(LiteralExpression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + value: str | None + +class MembershipImport(Import): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importOwningNamespace: Namespace | None + importedElement: Element | None + importedMembership: Membership | None + isImplied: bool | None + isImpliedIncluded: bool | None + isImportAll: bool | None + isLibraryElement: bool | None + isRecursive: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def importedMemberships(self, excluded: list[Namespace]) -> list[Membership]: ... + +class MembershipExpose(MembershipImport, Expose): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importOwningNamespace: Namespace | None + importedElement: Element | None + importedMembership: Membership | None + isImplied: bool | None + isImpliedIncluded: bool | None + isImportAll: bool | None + isLibraryElement: bool | None + isRecursive: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class MergeNode(ControlNode): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Metaclass(Structure): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubclassification: list[Subclassification] + ownedUnioning: list[Unioning] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + +class MetadataAccessExpression(Expression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + referencedElement: Element | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + def evaluate(self, target: Element | None) -> list[Element]: ... + def metaclassFeature(self) -> MetadataFeature | None: ... + +class MetadataDefinition(Metaclass, ItemDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class MetadataFeature(AnnotatingElement, Feature): + aliasIds: list[str] + annotatedElement: list[Element] + annotation: list[Annotation] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + metaclass: Metaclass | None + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotatingRelationship: list[Annotation] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningAnnotatingRelationship: Annotation | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def evaluateFeature(self, baseFeature: Feature | None) -> list[Element]: ... + def isSemantic(self) -> bool | None: ... + def isSyntactic(self) -> bool | None: ... + def syntaxElement(self) -> Element | None: ... + +class MetadataUsage(MetadataFeature, ItemUsage): + aliasIds: list[str] + annotatedElement: list[Element] + annotation: list[Annotation] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + metaclass: Metaclass | None + metadataDefinition: Metaclass | None + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotatingRelationship: list[Annotation] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningAnnotatingRelationship: Annotation | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Multiplicity(Feature): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class MultiplicityRange(Multiplicity): + aliasIds: list[str] + bound: list[Expression] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + lowerBound: Expression | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + upperBound: Expression | None + def hasBounds(self, lower: int | None, upper: int | None) -> bool | None: ... + def valueOf(self, bound: Expression | None) -> int | None: ... + +class NamespaceImport(Import): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importOwningNamespace: Namespace | None + importedElement: Element | None + importedNamespace: Namespace | None + isImplied: bool | None + isImpliedIncluded: bool | None + isImportAll: bool | None + isLibraryElement: bool | None + isRecursive: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def importedMemberships(self, excluded: list[Namespace]) -> list[Membership]: ... + +class NamespaceExpose(NamespaceImport, Expose): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + importOwningNamespace: Namespace | None + importedElement: Element | None + importedNamespace: Namespace | None + isImplied: bool | None + isImpliedIncluded: bool | None + isImportAll: bool | None + isLibraryElement: bool | None + isRecursive: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class NullExpression(Expression): + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def modelLevelEvaluable(self, visited: list[Feature]) -> bool | None: ... + def evaluate(self, target: Element | None) -> list[Element]: ... + +class ObjectiveMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedObjectiveRequirement: RequirementUsage | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class PayloadFeature(Feature): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class PortConjugation(Conjugation): + aliasIds: list[str] + conjugatedPortDefinition: ConjugatedPortDefinition | None + conjugatedType: Type | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + originalPortDefinition: PortDefinition | None + originalType: Type | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class PortUsage(OccurrenceUsage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + portDefinition: list[PortDefinition] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class Redefinition(Subsetting): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + redefinedFeature: Feature | None + redefiningFeature: Feature | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + subsettedFeature: Feature | None + subsettingFeature: Feature | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class ReferenceSubsetting(Subsetting): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeature: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + referencedFeature: Feature | None + referencingFeature: Feature | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + subsettedFeature: Feature | None + subsettingFeature: Feature | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class ReferenceUsage(Usage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def namingFeature(self) -> Feature | None: ... + +class RenderingDefinition(PartDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + rendering: list[RenderingUsage] + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class RenderingUsage(PartUsage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + partDefinition: list[PartDefinition] + portionKind: str | None + qualifiedName: str | None + renderingDefinition: RenderingDefinition | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class RequirementVerificationMembership(RequirementConstraintMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + kind: str | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedConstraint: ConstraintUsage | None + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedRequirement: RequirementUsage | None + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + referencedConstraint: ConstraintUsage | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + verifiedRequirement: RequirementUsage | None + visibility: str | None + +class ResultExpressionMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedResultExpression: Expression | None + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class ReturnParameterMembership(ParameterMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberParameter: Feature | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + def parameterDirection(self) -> str | None: ... + +class SatisfyRequirementUsage(RequirementUsage, AssertConstraintUsage): + actorParameter: list[PartUsage] + aliasIds: list[str] + assertedConstraint: ConstraintUsage | None + assumedConstraint: list[ConstraintUsage] + behavior: list[Behavior] + chainingFeature: list[Feature] + constraintDefinition: Predicate | None + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + framedConcern: list[ConcernUsage] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isNegated: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + predicate: Predicate | None + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + requirementDefinition: RequirementDefinition | None + result: Feature | None + satisfiedRequirement: RequirementUsage | None + satisfyingFeature: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class SelectExpression(OperatorExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + operator: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class SendActionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + payloadArgument: Expression | None + portionKind: str | None + qualifiedName: str | None + receiverArgument: Expression | None + senderArgument: Expression | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class StakeholderMembership(ParameterMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberParameter: Feature | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedStakeholderParameter: PartUsage | None + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class StateDefinition(ActionDefinition): + action: list[ActionUsage] + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + doAction: ActionUsage | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + entryAction: ActionUsage | None + exitAction: ActionUsage | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isParallel: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + shortName: str | None + state: list[StateUsage] + step: list[Step] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class StateSubactionMembership(FeatureMembership): + action: ActionUsage | None + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + kind: str | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class Subclassification(Specialization): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + general: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningClassifier: Classifier | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + specific: Type | None + subclassifier: Classifier | None + superclassifier: Classifier | None + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class SubjectMembership(ParameterMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberParameter: Feature | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSubjectParameter: Usage | None + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class Succession(Connector): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class SuccessionAsUsage(Succession, ConnectorAsUsage): + aliasIds: list[str] + association: list[Association] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class SuccessionFlow(Succession, Flow): + aliasIds: list[str] + association: list[Association] + behavior: list[Behavior] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + flowEnd: list[FlowEnd] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + interaction: list[Interaction] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + payloadFeature: PayloadFeature | None + payloadType: list[Classifier] + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + sourceOutputFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + targetInputFeature: Feature | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + +class SuccessionFlowUsage(SuccessionFlow, FlowUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + association: list[Association] + behavior: list[Behavior] + chainingFeature: list[Feature] + connectorEnd: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + defaultFeaturingType: Type | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + flowDefinition: list[Interaction] + flowEnd: list[FlowEnd] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + interaction: list[Interaction] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImplied: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + payloadFeature: PayloadFeature | None + payloadType: list[Classifier] + portionKind: str | None + qualifiedName: str | None + relatedElement: list[Element] + relatedFeature: list[Feature] + shortName: str | None + source: list[Element] + sourceFeature: Feature | None + sourceOutputFeature: Feature | None + target: list[Element] + targetFeature: list[Feature] + targetInputFeature: Feature | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class TerminateActionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + terminatedOccurrenceArgument: Expression | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class TextualRepresentation(AnnotatingElement): + aliasIds: list[str] + annotatedElement: list[Element] + annotation: list[Annotation] + body: str | None + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + language: str | None + name: str | None + ownedAnnotatingRelationship: list[Annotation] + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningAnnotatingRelationship: Annotation | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + representedElement: Element | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + +class TransitionFeatureMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + kind: str | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + transitionFeature: Step | None + visibility: str | None + +class TransitionUsage(ActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + effectAction: list[ActionUsage] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + guardExpression: list[Expression] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + source: ActionUsage | None + succession: Succession | None + target: ActionUsage | None + textualRepresentation: list[TextualRepresentation] + triggerAction: list[AcceptActionUsage] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + def triggerPayloadParameter(self) -> ReferenceUsage | None: ... + def sourceFeature(self) -> Feature | None: ... + +class TriggerInvocationExpression(InvocationExpression): + aliasIds: list[str] + argument: list[Expression] + behavior: list[Behavior] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + instantiatedType: Type | None + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + kind: str | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + def instantiatedType_op(self) -> Type | None: ... + +class TypeFeaturing(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + featureOfType: Feature | None + featuringType: Type | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningFeatureOfType: Feature | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + +class Unioning(Relationship): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + typeUnioned: Type | None + unioningType: Type | None + +class UseCaseDefinition(CaseDefinition): + action: list[ActionUsage] + actorParameter: list[PartUsage] + aliasIds: list[str] + calculation: list[CalculationUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + includedUseCase: list[UseCaseUsage] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + objectiveRequirement: RequirementUsage | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + +class VariantMembership(OwningMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedVariantUsage: Usage | None + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + qualifiedName: str | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class VerificationCaseDefinition(CaseDefinition): + action: list[ActionUsage] + actorParameter: list[PartUsage] + aliasIds: list[str] + calculation: list[CalculationUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + objectiveRequirement: RequirementUsage | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + result: Feature | None + shortName: str | None + step: list[Step] + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + verifiedRequirement: list[RequirementUsage] + +class VerificationCaseUsage(CaseUsage): + actionDefinition: list[Behavior] + actorParameter: list[PartUsage] + aliasIds: list[str] + behavior: list[Behavior] + calculationDefinition: Function | None + caseDefinition: CaseDefinition | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + objectiveRequirement: RequirementUsage | None + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + result: Feature | None + shortName: str | None + subjectParameter: Usage | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + verificationCaseDefinition: VerificationCaseDefinition | None + verifiedRequirement: list[RequirementUsage] + +class ViewDefinition(PartDefinition): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + feature: list[Feature] + featureMembership: list[FeatureMembership] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + qualifiedName: str | None + satisfiedViewpoint: list[ViewpointUsage] + shortName: str | None + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + view: list[ViewUsage] + viewCondition: list[Expression] + viewRendering: RenderingUsage | None + +class ViewRenderingMembership(FeatureMembership): + aliasIds: list[str] + declaredName: str | None + declaredShortName: str | None + documentation: list[Documentation] + elementId: str | None + isImplied: bool | None + isImpliedIncluded: bool | None + isLibraryElement: bool | None + memberElement: Element | None + memberElementId: str | None + memberName: str | None + memberShortName: str | None + membershipOwningNamespace: Namespace | None + name: str | None + ownedAnnotation: list[Annotation] + ownedElement: list[Element] + ownedMemberElement: Element | None + ownedMemberElementId: str | None + ownedMemberFeature: Feature | None + ownedMemberName: str | None + ownedMemberShortName: str | None + ownedRelatedElement: list[Element] + ownedRelationship: list[Relationship] + ownedRendering: RenderingUsage | None + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelatedElement: Element | None + owningRelationship: Relationship | None + owningType: Type | None + qualifiedName: str | None + referencedRendering: RenderingUsage | None + relatedElement: list[Element] + shortName: str | None + source: list[Element] + target: list[Element] + textualRepresentation: list[TextualRepresentation] + visibility: str | None + +class ViewUsage(PartUsage): + aliasIds: list[str] + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + exposedElement: list[Element] + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + itemDefinition: list[Structure] + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + partDefinition: list[PartDefinition] + portionKind: str | None + qualifiedName: str | None + satisfiedViewpoint: list[ViewpointUsage] + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + viewCondition: list[Expression] + viewDefinition: ViewDefinition | None + viewRendering: RenderingUsage | None + def includeAsExposed(self, element: Element | None) -> bool | None: ... + +class ViewpointDefinition(RequirementDefinition): + actorParameter: list[PartUsage] + aliasIds: list[str] + assumedConstraint: list[ConstraintUsage] + declaredName: str | None + declaredShortName: str | None + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + expression: list[Expression] + feature: list[Feature] + featureMembership: list[FeatureMembership] + framedConcern: list[ConcernUsage] + importedMembership: list[Membership] + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isConjugated: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isSufficient: bool | None + isVariation: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + output: list[Feature] + ownedAction: list[ActionUsage] + ownedAllocation: list[AllocationUsage] + ownedAnalysisCase: list[AnalysisCaseUsage] + ownedAnnotation: list[Annotation] + ownedAttribute: list[AttributeUsage] + ownedCalculation: list[CalculationUsage] + ownedCase: list[CaseUsage] + ownedConcern: list[ConcernUsage] + ownedConjugator: Conjugation | None + ownedConnection: list[ConnectorAsUsage] + ownedConstraint: list[ConstraintUsage] + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedEnumeration: list[EnumerationUsage] + ownedFeature: list[Feature] + ownedFeatureMembership: list[FeatureMembership] + ownedFlow: list[FlowUsage] + ownedImport: list[Import] + ownedInterface: list[InterfaceUsage] + ownedIntersecting: list[Intersecting] + ownedItem: list[ItemUsage] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedMetadata: list[MetadataUsage] + ownedOccurrence: list[OccurrenceUsage] + ownedPart: list[PartUsage] + ownedPort: list[PortUsage] + ownedReference: list[ReferenceUsage] + ownedRelationship: list[Relationship] + ownedRendering: list[RenderingUsage] + ownedRequirement: list[RequirementUsage] + ownedSpecialization: list[Specialization] + ownedState: list[StateUsage] + ownedSubclassification: list[Subclassification] + ownedTransition: list[TransitionUsage] + ownedUnioning: list[Unioning] + ownedUsage: list[Usage] + ownedUseCase: list[UseCaseUsage] + ownedVerificationCase: list[VerificationCaseUsage] + ownedView: list[ViewUsage] + ownedViewpoint: list[ViewpointUsage] + owner: Element | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + parameter: list[Feature] + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + result: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + step: list[Step] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + viewpointStakeholder: list[PartUsage] + +class ViewpointUsage(RequirementUsage): + actorParameter: list[PartUsage] + aliasIds: list[str] + assumedConstraint: list[ConstraintUsage] + behavior: list[Behavior] + chainingFeature: list[Feature] + constraintDefinition: Predicate | None + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + framedConcern: list[ConcernUsage] + function: Function | None + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isModelLevelEvaluable: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + predicate: Predicate | None + qualifiedName: str | None + reqId: str | None + requiredConstraint: list[ConstraintUsage] + requirementDefinition: RequirementDefinition | None + result: Feature | None + shortName: str | None + stakeholderParameter: list[PartUsage] + subjectParameter: Usage | None + text: list[str] + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + viewpointDefinition: ViewpointDefinition | None + viewpointStakeholder: list[PartUsage] + +class WhileLoopActionUsage(LoopActionUsage): + actionDefinition: list[Behavior] + aliasIds: list[str] + behavior: list[Behavior] + bodyAction: ActionUsage | None + chainingFeature: list[Feature] + crossFeature: Feature | None + declaredName: str | None + declaredShortName: str | None + definition: list[Classifier] + differencingType: list[Type] + directedFeature: list[Feature] + directedUsage: list[Usage] + direction: str | None + documentation: list[Documentation] + elementId: str | None + endFeature: list[Feature] + endOwningType: Type | None + feature: list[Feature] + featureMembership: list[FeatureMembership] + featureTarget: Feature | None + featuringType: list[Type] + importedMembership: list[Membership] + individualDefinition: OccurrenceDefinition | None + inheritedFeature: list[Feature] + inheritedMembership: list[Membership] + input: list[Feature] + intersectingType: list[Type] + isAbstract: bool | None + isComposite: bool | None + isConjugated: bool | None + isConstant: bool | None + isDerived: bool | None + isEnd: bool | None + isImpliedIncluded: bool | None + isIndividual: bool | None + isLibraryElement: bool | None + isOrdered: bool | None + isPortion: bool | None + isReference: bool | None + isSufficient: bool | None + isUnique: bool | None + isVariable: bool | None + isVariation: bool | None + mayTimeVary: bool | None + member: list[Element] + membership: list[Membership] + multiplicity: Multiplicity | None + name: str | None + nestedAction: list[ActionUsage] + nestedAllocation: list[AllocationUsage] + nestedAnalysisCase: list[AnalysisCaseUsage] + nestedAttribute: list[AttributeUsage] + nestedCalculation: list[CalculationUsage] + nestedCase: list[CaseUsage] + nestedConcern: list[ConcernUsage] + nestedConnection: list[ConnectorAsUsage] + nestedConstraint: list[ConstraintUsage] + nestedEnumeration: list[EnumerationUsage] + nestedFlow: list[FlowUsage] + nestedInterface: list[InterfaceUsage] + nestedItem: list[ItemUsage] + nestedMetadata: list[MetadataUsage] + nestedOccurrence: list[OccurrenceUsage] + nestedPart: list[PartUsage] + nestedPort: list[PortUsage] + nestedReference: list[ReferenceUsage] + nestedRendering: list[RenderingUsage] + nestedRequirement: list[RequirementUsage] + nestedState: list[StateUsage] + nestedTransition: list[TransitionUsage] + nestedUsage: list[Usage] + nestedUseCase: list[UseCaseUsage] + nestedVerificationCase: list[VerificationCaseUsage] + nestedView: list[ViewUsage] + nestedViewpoint: list[ViewpointUsage] + occurrenceDefinition: list[Class] + output: list[Feature] + ownedAnnotation: list[Annotation] + ownedConjugator: Conjugation | None + ownedCrossSubsetting: CrossSubsetting | None + ownedDifferencing: list[Differencing] + ownedDisjoining: list[Disjoining] + ownedElement: list[Element] + ownedEndFeature: list[Feature] + ownedFeature: list[Feature] + ownedFeatureChaining: list[FeatureChaining] + ownedFeatureInverting: list[FeatureInverting] + ownedFeatureMembership: list[FeatureMembership] + ownedImport: list[Import] + ownedIntersecting: list[Intersecting] + ownedMember: list[Element] + ownedMembership: list[Membership] + ownedRedefinition: list[Redefinition] + ownedReferenceSubsetting: ReferenceSubsetting | None + ownedRelationship: list[Relationship] + ownedSpecialization: list[Specialization] + ownedSubsetting: list[Subsetting] + ownedTypeFeaturing: list[TypeFeaturing] + ownedTyping: list[FeatureTyping] + ownedUnioning: list[Unioning] + owner: Element | None + owningDefinition: Definition | None + owningFeatureMembership: FeatureMembership | None + owningMembership: OwningMembership | None + owningNamespace: Namespace | None + owningRelationship: Relationship | None + owningType: Type | None + owningUsage: Usage | None + parameter: list[Feature] + portionKind: str | None + qualifiedName: str | None + shortName: str | None + textualRepresentation: list[TextualRepresentation] + type: list[Type] + unioningType: list[Type] + untilArgument: Expression | None + usage: list[Usage] + variant: list[Usage] + variantMembership: list[VariantMembership] + whileArgument: Expression | None + +REGISTRY: dict[str, type[Element]] diff --git a/python/sysml/toolkit.py b/python/sysml/toolkit.py new file mode 100644 index 0000000..12f7440 --- /dev/null +++ b/python/sysml/toolkit.py @@ -0,0 +1,363 @@ +"""The SysML Toolkit backend: the Python core over the binding library (abi/). + +Implements the same five-method backend contract as PayloadBackend, so the generated classes +and `Model` are untouched. Handles are the integers the library mints; references come back +as ``{"@id": handle}`` so that `_wrap` turns them into typed elements exactly as it does for +payload models. + +Dispatch is static: each generated descriptor carries the C symbol and result shape resolved +at generation time for its declaring class, and ``read`` calls that symbol directly. No +lookup, no base walk. ``get(handle, prop)`` remains as the name-based fallback the shared +`Model` helpers use. + +Errors follow the ABI specification: NOT_IMPLEMENTED raises NotImplementedInToolkit, +NOT_APPLICABLE is an absent value, INVALID_HANDLE raises Gone. +""" + +from __future__ import annotations + +import ctypes as C +import errno +import json +import os +import sys +from typing import Any, Iterable, Optional + +from .base import SdkError, Gone, NotImplementedInToolkit, UnresolvedReference +from . import toolkit_table as T + +# ---------------------------------------------------------------- C structures + +class Str(C.Structure): + _fields_ = [("ptr", C.c_void_p), ("len", C.c_size_t), ("present", C.c_bool), ("owner", C.c_void_p)] + +class Handles(C.Structure): + _fields_ = [("items", C.POINTER(C.c_uint64)), ("len", C.c_size_t), ("owner", C.c_void_p)] + +class Ref(C.Structure): + _fields_ = [("present", C.c_bool), ("value", C.c_uint64)] + +class Bool(C.Structure): + _fields_ = [("present", C.c_bool), ("value", C.c_bool)] + +class Int(C.Structure): + _fields_ = [("present", C.c_bool), ("value", C.c_int64)] + +class Real(C.Structure): + _fields_ = [("present", C.c_bool), ("value", C.c_double)] + +class LoadOptions(C.Structure): + _fields_ = [ + ("paths", C.POINTER(Str)), ("paths_len", C.c_size_t), + ("source_names", C.POINTER(Str)), ("source_texts", C.POINTER(Str)), ("sources_len", C.c_size_t), + ("library_dir", Str), + ] + +# "T", a list of strings, crosses the ABI as JSON text in a Str. +OUT_TYPES = {"H": Handles, "R": Ref, "S": Str, "T": Str, "B": Bool, "I": Int, "F": Real} +OK, NOT_IMPLEMENTED, NOT_APPLICABLE, INVALID_HANDLE, INVALID_ARG, LOAD_FAILED, INTERNAL, UNRESOLVED = range(8) + + +class ToolkitError(SdkError): + """A status the ABI specification classes as an error other than the two typed ones.""" + + +# ---------------------------------------------------------------- library loading + +def _default_library_path() -> str: + """SYSMLV2_ABI; else the library a platform wheel carries; else the repository's build.""" + env = os.environ.get("SYSMLV2_ABI") + if env: + return env + name = {"win32": "sysmlv2_abi.dll", "darwin": "libsysmlv2_abi.dylib"}.get(sys.platform, "libsysmlv2_abi.so") + here = os.path.dirname(os.path.abspath(__file__)) # python/sysml + packaged = os.path.join(here, "_native", name) + if os.path.exists(packaged): + return packaged + repo = os.path.dirname(os.path.dirname(here)) + return os.path.join(repo, "abi", "target", "release", name) + + +class Library: + """One loaded binding library, shared by every session created from it.""" + + def __init__(self, path: Optional[str] = None): + self.path = path or _default_library_path() + self.lib = C.CDLL(self.path) + lib = self.lib + lib.sysmlv2_free.argtypes = [C.c_void_p] + lib.sysmlv2_free.restype = None + lib.sysmlv2_abi_version.restype = C.c_uint32 + lib.sysmlv2_names_digest.restype = C.c_void_p + lib.sysmlv2_names_digest_len.restype = C.c_size_t + lib.sysmlv2_session_open.argtypes = [C.POINTER(LoadOptions), C.POINTER(C.c_void_p)] + lib.sysmlv2_session_close.argtypes = [C.c_void_p] + lib.sysmlv2_session_roots.argtypes = [C.c_void_p, C.POINTER(Handles)] + lib.sysmlv2_last_error.argtypes = [C.c_void_p, C.POINTER(Str)] + lib.sysmlv2_metaclass.argtypes = [C.c_void_p, C.c_uint64, C.POINTER(Str)] + lib.sysmlv2_user_elements.argtypes = [C.c_void_p, C.POINTER(Handles)] + lib.sysmlv2_session_full_json.argtypes = [C.c_void_p, C.c_uint32, C.POINTER(Str)] + digest = C.string_at(lib.sysmlv2_names_digest(), lib.sysmlv2_names_digest_len()).decode() + if digest != T.NAMES_DIGEST: + raise ToolkitError( + f"binding library {self.path} was generated from naming table {digest[:12]}, " + f"this SDK from {T.NAMES_DIGEST[:12]}; regenerate one side" + ) + self._fn_cache: dict[str, Any] = {} + + def fn(self, symbol: str, out_type): + f = self._fn_cache.get(symbol) + if f is None: + f = getattr(self.lib, symbol) + f.argtypes = [C.c_void_p, C.c_uint64, C.POINTER(out_type)] + f.restype = C.c_int + self._fn_cache[symbol] = f + return f + + def take_str(self, s: Str) -> Optional[str]: + v = C.string_at(s.ptr, s.len).decode() if (s.present and s.ptr) else None + self.lib.sysmlv2_free(s.owner) + return v + + def take_handles(self, h: Handles) -> list[int]: + v = [h.items[i] for i in range(h.len)] + self.lib.sysmlv2_free(h.owner) + return v + + +_DEFAULT: Optional[Library] = None + + +def library(path: Optional[str] = None) -> Library: + global _DEFAULT + if path is not None: + return Library(path) + if _DEFAULT is None: + _DEFAULT = Library() + return _DEFAULT + + +# ---------------------------------------------------------------- backend + +def _c_str(b: bytes, keep: list) -> Str: + buf = C.create_string_buffer(b, len(b)) + keep.append(buf) + return Str(C.cast(buf, C.c_void_p), len(b), True, None) + + +class ToolkitBackend: + """A read-only session over the SysML Toolkit, through the binding library.""" + + def __init__(self, session: C.c_void_p, lib: Library): + self._s = session + self._L = lib + self._mc: dict[int, str] = {} + self._declaring: dict[tuple[str, str], tuple[str, str] | None] = {} + + @classmethod + def open(cls, paths: Iterable[str | os.PathLike] = (), *, sources: dict[str, str] | None = None, + library_dir: str | os.PathLike | None = None, lib: Optional[Library] = None) -> "ToolkitBackend": + L = lib or library() + keep: list = [] + paths = [os.fspath(p) for p in paths] + library_dir = os.fspath(library_dir) if library_dir is not None else None + opts = LoadOptions() + if sources: + names = (Str * len(sources))(*[_c_str(k.encode(), keep) for k in sources]) + texts = (Str * len(sources))(*[_c_str(v.encode(), keep) for v in sources.values()]) + opts.source_names, opts.source_texts, opts.sources_len = names, texts, len(sources) + elif paths: + arr = (Str * len(paths))(*[_c_str(p.encode(), keep) for p in paths]) + opts.paths, opts.paths_len = arr, len(paths) + else: + raise ToolkitError("open needs paths or sources") + for p in ([] if sources else paths): + if not os.path.isfile(p): + raise FileNotFoundError(errno.ENOENT, "model file not found", os.path.abspath(p)) + if library_dir and not os.path.isdir(library_dir): + raise FileNotFoundError(errno.ENOENT, "library directory not found", os.path.abspath(library_dir)) + opts.library_dir = _c_str(library_dir.encode(), keep) if library_dir else Str(None, 0, False, None) + sess = C.c_void_p() + st = L.lib.sysmlv2_session_open(C.byref(opts), C.byref(sess)) + if st != OK: + raise ToolkitError(f"the SysML Toolkit could not load {paths or list(sources)}: status {st} (the SysML Toolkit's reason is on stderr)") + return cls(sess, L) + + def close(self) -> None: + if self._s: + self._L.lib.sysmlv2_session_close(self._s) + self._s = None + + def __del__(self): + try: + self.close() + except Exception: + pass + + # -- errors -------------------------------------------------------------- + + def _error(self) -> str: + out = Str() + self._L.lib.sysmlv2_last_error(self._s, C.byref(out)) + return self._L.take_str(out) or "" + + def _check(self, st: int, where: str) -> bool: + """True when a value is present; False for NOT_APPLICABLE; raises otherwise.""" + if st == OK: + return True + if st == NOT_APPLICABLE: + return False + msg = self._error() + if st == NOT_IMPLEMENTED: + raise NotImplementedInToolkit(msg or f"{where}: not implemented by the SysML Toolkit") + if st == INVALID_HANDLE: + raise Gone(msg or f"{where}: invalid handle") + if st == UNRESOLVED: + raise UnresolvedReference(msg or f"{where}: a reference did not resolve") + raise ToolkitError(f"{where}: status {st}: {msg}") + + # -- dispatch ------------------------------------------------------------ + + def _declaring_entry(self, mc: str, prop: str): + key = (mc, prop) + if key in self._declaring: + return self._declaring[key] + seen, stack, found = set(), [mc], None + while stack: + c = stack.pop() + if c in seen: + continue + seen.add(c) + e = T.FUNCS.get((c, prop)) + if e is not None: + found = e + break + stack.extend(T.BASES.get(c, [])) + self._declaring[key] = found + return found + + def _call(self, symbol: str, code: str, handle: int, where: str) -> Any: + out_t = OUT_TYPES[code] + out = out_t() + st = self._L.fn(symbol, out_t)(self._s, C.c_uint64(handle), C.byref(out)) + if not self._check(st, where): + return [] if code in ("H", "T") else None + return self._unpack(code, out) + + def _unpack(self, code: str, out) -> Any: + if code == "H": + return [{"@id": h} for h in self._L.take_handles(out)] + if code == "R": + return {"@id": out.value} if out.present else None + if code == "S": + return self._L.take_str(out) + if code == "T": # a list of strings (a requirement's `text`), as JSON text + text = self._L.take_str(out) + return [] if text is None else json.loads(text) + return out.value if out.present else None + + # -- the backend contract -------------------------------------------------- + + def read(self, handle: int, prop) -> Any: + """Static dispatch: the descriptor already names the binding library function.""" + return self._call(prop.symbol, prop.code, handle, f"{self.metaclass(handle)}.{prop.name}") + + _PARAM_CTYPES = {"Handle": C.c_uint64, "bool": C.c_bool, "Str": C.POINTER(Str), "Handles": C.POINTER(Handles)} + + def call(self, handle: int, op, args: tuple) -> Any: + """Invoke a specification operation with its declared parameters.""" + if len(args) != len(op.param_types): + raise TypeError(f"{op.name}() takes {len(op.param_types)} argument(s), {len(args)} given") + keep: list = [] + cargs = [] + + def handle_of(value, what: str) -> int: + # The binding library has no "no element": a missing element is refused here, never + # passed as a handle that names some other element. + if hasattr(value, "_handle"): + return value._handle + if isinstance(value, int) and not isinstance(value, bool): + return value + raise TypeError(f"{self.metaclass(handle)}.{op.name}(): {what} must be an element, not {value!r}") + + for (pname, ptype), value in zip(op.param_types, args): + if ptype == "Handle": + cargs.append(C.c_uint64(handle_of(value, pname))) + elif ptype == "bool": + cargs.append(C.c_bool(bool(value))) + elif ptype == "Str": # an element as its element id, as every binding passes it + text = value.element_id if hasattr(value, "element_id") else "" if value is None else str(value) + cargs.append(C.byref(_c_str(text.encode(), keep))) + else: # Handles + hs = [handle_of(v, f"each of {pname}") for v in (value or [])] + arr = (C.c_uint64 * max(1, len(hs)))(*hs) + keep.append(arr) + keep.append(Handles(C.cast(arr, C.POINTER(C.c_uint64)), len(hs), None)) + cargs.append(C.byref(keep[-1])) + out_t = OUT_TYPES[op.code] + f = getattr(self._L.lib, op.symbol) + f.argtypes = [C.c_void_p, C.c_uint64] + [self._PARAM_CTYPES[t] for _, t in op.param_types] + [C.POINTER(out_t)] + f.restype = C.c_int + out = out_t() + st = f(self._s, C.c_uint64(handle), *cargs, C.byref(out)) + where = f"{self.metaclass(handle)}.{op.name}()" + if not self._check(st, where): + return [] if op.code == "H" else None + return self._unpack(op.code, out) + + def full_json(self, closures: bool = True) -> str: + """The model as full-form interchange JSON, from the SysML Toolkit's own emitter. + + With `closures` (the default) the inheritance-aware properties carry the specification's + values, inherited and imported members included. Without, they carry the owned side only, + as the SysML Toolkit's command-line export writes them. + """ + out = Str() + st = self._L.lib.sysmlv2_session_full_json(self._s, 1 if closures else 0, C.byref(out)) + self._check(st, "full_json") + return self._L.take_str(out) or "[]" + + def get(self, handle: int, prop: str) -> Any: + mc = self.metaclass(handle) + entry = self._declaring_entry(mc, prop) + if entry is None: + return None # not a member of this metaclass: absent, as the payload backend answers + symbol, code, _ = entry + return self._call(symbol, code, handle, f"{mc}.{prop}") + + def metaclass(self, handle: int) -> str: + mc = self._mc.get(handle) + if mc is None: + out = Str() + st = self._L.lib.sysmlv2_metaclass(self._s, C.c_uint64(handle), C.byref(out)) + self._check(st, f"metaclass({handle})") + mc = self._L.take_str(out) or "" + self._mc[handle] = mc + return mc + + def element_id(self, handle: int) -> str: + return self._call("sysmlv2_element_element_id", "S", handle, "elementId") or "" + + def resolve(self, qualified_name: str) -> Optional[int]: + keep: list = [] + arg = _c_str(qualified_name.encode(), keep) + f = self._L.lib.sysmlv2_session_resolve + f.argtypes = [C.c_void_p, C.POINTER(Str), C.POINTER(Ref)] + f.restype = C.c_int + out = Ref() + st = f(self._s, C.byref(arg), C.byref(out)) + if not self._check(st, f"resolve({qualified_name!r})"): + return None + return out.value if out.present else None + + def all_handles(self) -> Iterable[int]: + out = Handles() + st = self._L.lib.sysmlv2_user_elements(self._s, C.byref(out)) + self._check(st, "user_elements") + return self._L.take_handles(out) + + def roots(self) -> list[int]: + out = Handles() + st = self._L.lib.sysmlv2_session_roots(self._s, C.byref(out)) + self._check(st, "roots") + return self._L.take_handles(out) diff --git a/python/sysml/toolkit_table.py b/python/sysml/toolkit_table.py new file mode 100644 index 0000000..a489a26 --- /dev/null +++ b/python/sysml/toolkit_table.py @@ -0,0 +1,665 @@ +# Generated by tools/gen_toolkit_table.py. Do not edit. +NAMES_DIGEST = "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351" +FUNCS = { + ('AcceptActionUsage', 'payloadArgument'): ("sysmlv2_accept_action_usage_payload_argument", 'R', ()), + ('AcceptActionUsage', 'payloadParameter'): ("sysmlv2_accept_action_usage_payload_parameter", 'R', ()), + ('AcceptActionUsage', 'receiverArgument'): ("sysmlv2_accept_action_usage_receiver_argument", 'R', ()), + ('AcceptActionUsage', 'isTriggerAction()'): ("sysmlv2_accept_action_usage_is_trigger_action", 'B', ()), + ('ActionDefinition', 'action'): ("sysmlv2_action_definition_action", 'H', ()), + ('ActionUsage', 'actionDefinition'): ("sysmlv2_action_usage_action_definition", 'H', ()), + ('ActionUsage', 'argument()'): ("sysmlv2_action_usage_argument", 'R', (('i', 'Str'),)), + ('ActionUsage', 'inputParameter()'): ("sysmlv2_action_usage_input_parameter", 'R', (('i', 'Str'),)), + ('ActionUsage', 'inputParameters()'): ("sysmlv2_action_usage_input_parameters", 'H', ()), + ('ActionUsage', 'isSubactionUsage()'): ("sysmlv2_action_usage_is_subaction_usage", 'B', ()), + ('ActorMembership', 'ownedActorParameter'): ("sysmlv2_actor_membership_owned_actor_parameter", 'R', ()), + ('AllocationDefinition', 'allocation'): ("sysmlv2_allocation_definition_allocation", 'H', ()), + ('AllocationUsage', 'allocationDefinition'): ("sysmlv2_allocation_usage_allocation_definition", 'H', ()), + ('AnalysisCaseDefinition', 'resultExpression'): ("sysmlv2_analysis_case_definition_result_expression", 'R', ()), + ('AnalysisCaseUsage', 'analysisCaseDefinition'): ("sysmlv2_analysis_case_usage_analysis_case_definition", 'R', ()), + ('AnalysisCaseUsage', 'resultExpression'): ("sysmlv2_analysis_case_usage_result_expression", 'R', ()), + ('AnnotatingElement', 'annotatedElement'): ("sysmlv2_annotating_element_annotated_element", 'H', ()), + ('AnnotatingElement', 'annotation'): ("sysmlv2_annotating_element_annotation", 'H', ()), + ('AnnotatingElement', 'ownedAnnotatingRelationship'): ("sysmlv2_annotating_element_owned_annotating_relationship", 'H', ()), + ('AnnotatingElement', 'owningAnnotatingRelationship'): ("sysmlv2_annotating_element_owning_annotating_relationship", 'R', ()), + ('Annotation', 'annotatedElement'): ("sysmlv2_annotation_annotated_element", 'R', ()), + ('Annotation', 'annotatingElement'): ("sysmlv2_annotation_annotating_element", 'R', ()), + ('Annotation', 'ownedAnnotatingElement'): ("sysmlv2_annotation_owned_annotating_element", 'R', ()), + ('Annotation', 'owningAnnotatedElement'): ("sysmlv2_annotation_owning_annotated_element", 'R', ()), + ('Annotation', 'owningAnnotatingElement'): ("sysmlv2_annotation_owning_annotating_element", 'R', ()), + ('AssertConstraintUsage', 'assertedConstraint'): ("sysmlv2_assert_constraint_usage_asserted_constraint", 'R', ()), + ('AssignmentActionUsage', 'referent'): ("sysmlv2_assignment_action_usage_referent", 'R', ()), + ('AssignmentActionUsage', 'targetArgument'): ("sysmlv2_assignment_action_usage_target_argument", 'R', ()), + ('AssignmentActionUsage', 'valueExpression'): ("sysmlv2_assignment_action_usage_value_expression", 'R', ()), + ('Association', 'associationEnd'): ("sysmlv2_association_association_end", 'H', ()), + ('Association', 'relatedType'): ("sysmlv2_association_related_type", 'H', ()), + ('Association', 'sourceType'): ("sysmlv2_association_source_type", 'R', ()), + ('Association', 'targetType'): ("sysmlv2_association_target_type", 'H', ()), + ('AttributeUsage', 'attributeDefinition'): ("sysmlv2_attribute_usage_attribute_definition", 'H', ()), + ('Behavior', 'parameter'): ("sysmlv2_behavior_parameter", 'H', ()), + ('Behavior', 'step'): ("sysmlv2_behavior_step", 'H', ()), + ('BooleanExpression', 'predicate'): ("sysmlv2_boolean_expression_predicate", 'R', ()), + ('CalculationDefinition', 'calculation'): ("sysmlv2_calculation_definition_calculation", 'H', ()), + ('CalculationUsage', 'calculationDefinition'): ("sysmlv2_calculation_usage_calculation_definition", 'R', ()), + ('CaseDefinition', 'actorParameter'): ("sysmlv2_case_definition_actor_parameter", 'H', ()), + ('CaseDefinition', 'objectiveRequirement'): ("sysmlv2_case_definition_objective_requirement", 'R', ()), + ('CaseDefinition', 'subjectParameter'): ("sysmlv2_case_definition_subject_parameter", 'R', ()), + ('CaseUsage', 'actorParameter'): ("sysmlv2_case_usage_actor_parameter", 'H', ()), + ('CaseUsage', 'caseDefinition'): ("sysmlv2_case_usage_case_definition", 'R', ()), + ('CaseUsage', 'objectiveRequirement'): ("sysmlv2_case_usage_objective_requirement", 'R', ()), + ('CaseUsage', 'subjectParameter'): ("sysmlv2_case_usage_subject_parameter", 'R', ()), + ('Classifier', 'ownedSubclassification'): ("sysmlv2_classifier_owned_subclassification", 'H', ()), + ('Comment', 'body'): ("sysmlv2_comment_body", 'S', ()), + ('Comment', 'locale'): ("sysmlv2_comment_locale", 'S', ()), + ('ConcernUsage', 'concernDefinition'): ("sysmlv2_concern_usage_concern_definition", 'R', ()), + ('ConjugatedPortDefinition', 'originalPortDefinition'): ("sysmlv2_conjugated_port_definition_original_port_definition", 'R', ()), + ('ConjugatedPortDefinition', 'ownedPortConjugator'): ("sysmlv2_conjugated_port_definition_owned_port_conjugator", 'R', ()), + ('ConjugatedPortTyping', 'conjugatedPortDefinition'): ("sysmlv2_conjugated_port_typing_conjugated_port_definition", 'R', ()), + ('ConjugatedPortTyping', 'portDefinition'): ("sysmlv2_conjugated_port_typing_port_definition", 'R', ()), + ('Conjugation', 'conjugatedType'): ("sysmlv2_conjugation_conjugated_type", 'R', ()), + ('Conjugation', 'originalType'): ("sysmlv2_conjugation_original_type", 'R', ()), + ('Conjugation', 'owningType'): ("sysmlv2_conjugation_owning_type", 'R', ()), + ('ConnectionDefinition', 'connectionEnd'): ("sysmlv2_connection_definition_connection_end", 'H', ()), + ('ConnectionUsage', 'connectionDefinition'): ("sysmlv2_connection_usage_connection_definition", 'H', ()), + ('Connector', 'association'): ("sysmlv2_connector_association", 'H', ()), + ('Connector', 'connectorEnd'): ("sysmlv2_connector_connector_end", 'H', ()), + ('Connector', 'defaultFeaturingType'): ("sysmlv2_connector_default_featuring_type", 'R', ()), + ('Connector', 'relatedFeature'): ("sysmlv2_connector_related_feature", 'H', ()), + ('Connector', 'sourceFeature'): ("sysmlv2_connector_source_feature", 'R', ()), + ('Connector', 'targetFeature'): ("sysmlv2_connector_target_feature", 'H', ()), + ('ConstraintUsage', 'constraintDefinition'): ("sysmlv2_constraint_usage_constraint_definition", 'R', ()), + ('ControlNode', 'multiplicityHasBounds()'): ("sysmlv2_control_node_multiplicity_has_bounds", 'B', (('mult', 'Handle'), ('lower', 'Str'), ('upper', 'Str'))), + ('CrossSubsetting', 'crossedFeature'): ("sysmlv2_cross_subsetting_crossed_feature", 'R', ()), + ('CrossSubsetting', 'crossingFeature'): ("sysmlv2_cross_subsetting_crossing_feature", 'R', ()), + ('Definition', 'directedUsage'): ("sysmlv2_definition_directed_usage", 'H', ()), + ('Definition', 'isVariation'): ("sysmlv2_definition_is_variation", 'B', ()), + ('Definition', 'ownedAction'): ("sysmlv2_definition_owned_action", 'H', ()), + ('Definition', 'ownedAllocation'): ("sysmlv2_definition_owned_allocation", 'H', ()), + ('Definition', 'ownedAnalysisCase'): ("sysmlv2_definition_owned_analysis_case", 'H', ()), + ('Definition', 'ownedAttribute'): ("sysmlv2_definition_owned_attribute", 'H', ()), + ('Definition', 'ownedCalculation'): ("sysmlv2_definition_owned_calculation", 'H', ()), + ('Definition', 'ownedCase'): ("sysmlv2_definition_owned_case", 'H', ()), + ('Definition', 'ownedConcern'): ("sysmlv2_definition_owned_concern", 'H', ()), + ('Definition', 'ownedConnection'): ("sysmlv2_definition_owned_connection", 'H', ()), + ('Definition', 'ownedConstraint'): ("sysmlv2_definition_owned_constraint", 'H', ()), + ('Definition', 'ownedEnumeration'): ("sysmlv2_definition_owned_enumeration", 'H', ()), + ('Definition', 'ownedFlow'): ("sysmlv2_definition_owned_flow", 'H', ()), + ('Definition', 'ownedInterface'): ("sysmlv2_definition_owned_interface", 'H', ()), + ('Definition', 'ownedItem'): ("sysmlv2_definition_owned_item", 'H', ()), + ('Definition', 'ownedMetadata'): ("sysmlv2_definition_owned_metadata", 'H', ()), + ('Definition', 'ownedOccurrence'): ("sysmlv2_definition_owned_occurrence", 'H', ()), + ('Definition', 'ownedPart'): ("sysmlv2_definition_owned_part", 'H', ()), + ('Definition', 'ownedPort'): ("sysmlv2_definition_owned_port", 'H', ()), + ('Definition', 'ownedReference'): ("sysmlv2_definition_owned_reference", 'H', ()), + ('Definition', 'ownedRendering'): ("sysmlv2_definition_owned_rendering", 'H', ()), + ('Definition', 'ownedRequirement'): ("sysmlv2_definition_owned_requirement", 'H', ()), + ('Definition', 'ownedState'): ("sysmlv2_definition_owned_state", 'H', ()), + ('Definition', 'ownedTransition'): ("sysmlv2_definition_owned_transition", 'H', ()), + ('Definition', 'ownedUsage'): ("sysmlv2_definition_owned_usage", 'H', ()), + ('Definition', 'ownedUseCase'): ("sysmlv2_definition_owned_use_case", 'H', ()), + ('Definition', 'ownedVerificationCase'): ("sysmlv2_definition_owned_verification_case", 'H', ()), + ('Definition', 'ownedView'): ("sysmlv2_definition_owned_view", 'H', ()), + ('Definition', 'ownedViewpoint'): ("sysmlv2_definition_owned_viewpoint", 'H', ()), + ('Definition', 'usage'): ("sysmlv2_definition_usage", 'H', ()), + ('Definition', 'variant'): ("sysmlv2_definition_variant", 'H', ()), + ('Definition', 'variantMembership'): ("sysmlv2_definition_variant_membership", 'H', ()), + ('Dependency', 'client'): ("sysmlv2_dependency_client", 'H', ()), + ('Dependency', 'supplier'): ("sysmlv2_dependency_supplier", 'H', ()), + ('Differencing', 'differencingType'): ("sysmlv2_differencing_differencing_type", 'R', ()), + ('Differencing', 'typeDifferenced'): ("sysmlv2_differencing_type_differenced", 'R', ()), + ('Disjoining', 'disjoiningType'): ("sysmlv2_disjoining_disjoining_type", 'R', ()), + ('Disjoining', 'owningType'): ("sysmlv2_disjoining_owning_type", 'R', ()), + ('Disjoining', 'typeDisjoined'): ("sysmlv2_disjoining_type_disjoined", 'R', ()), + ('Documentation', 'documentedElement'): ("sysmlv2_documentation_documented_element", 'R', ()), + ('Element', 'aliasIds'): ("sysmlv2_element_alias_ids", 'T', ()), + ('Element', 'declaredName'): ("sysmlv2_element_declared_name", 'S', ()), + ('Element', 'declaredShortName'): ("sysmlv2_element_declared_short_name", 'S', ()), + ('Element', 'documentation'): ("sysmlv2_element_documentation", 'H', ()), + ('Element', 'elementId'): ("sysmlv2_element_element_id", 'S', ()), + ('Element', 'isImpliedIncluded'): ("sysmlv2_element_is_implied_included", 'B', ()), + ('Element', 'isLibraryElement'): ("sysmlv2_element_is_library_element", 'B', ()), + ('Element', 'name'): ("sysmlv2_element_name", 'S', ()), + ('Element', 'ownedAnnotation'): ("sysmlv2_element_owned_annotation", 'H', ()), + ('Element', 'ownedElement'): ("sysmlv2_element_owned_element", 'H', ()), + ('Element', 'ownedRelationship'): ("sysmlv2_element_owned_relationship", 'H', ()), + ('Element', 'owner'): ("sysmlv2_element_owner", 'R', ()), + ('Element', 'owningMembership'): ("sysmlv2_element_owning_membership", 'R', ()), + ('Element', 'owningNamespace'): ("sysmlv2_element_owning_namespace", 'R', ()), + ('Element', 'owningRelationship'): ("sysmlv2_element_owning_relationship", 'R', ()), + ('Element', 'qualifiedName'): ("sysmlv2_element_qualified_name", 'S', ()), + ('Element', 'shortName'): ("sysmlv2_element_short_name", 'S', ()), + ('Element', 'textualRepresentation'): ("sysmlv2_element_textual_representation", 'H', ()), + ('Element', 'effectiveName()'): ("sysmlv2_element_effective_name", 'S', ()), + ('Element', 'effectiveShortName()'): ("sysmlv2_element_effective_short_name", 'S', ()), + ('Element', 'escapedName()'): ("sysmlv2_element_escaped_name", 'S', ()), + ('Element', 'libraryNamespace()'): ("sysmlv2_element_library_namespace", 'R', ()), + ('Element', 'path()'): ("sysmlv2_element_path", 'S', ()), + ('ElementFilterMembership', 'condition'): ("sysmlv2_element_filter_membership_condition", 'R', ()), + ('EnumerationDefinition', 'enumeratedValue'): ("sysmlv2_enumeration_definition_enumerated_value", 'H', ()), + ('EnumerationUsage', 'enumerationDefinition'): ("sysmlv2_enumeration_usage_enumeration_definition", 'R', ()), + ('EventOccurrenceUsage', 'eventOccurrence'): ("sysmlv2_event_occurrence_usage_event_occurrence", 'R', ()), + ('ExhibitStateUsage', 'exhibitedState'): ("sysmlv2_exhibit_state_usage_exhibited_state", 'R', ()), + ('Expression', 'function'): ("sysmlv2_expression_function", 'R', ()), + ('Expression', 'isModelLevelEvaluable'): ("sysmlv2_expression_is_model_level_evaluable", 'B', ()), + ('Expression', 'result'): ("sysmlv2_expression_result", 'R', ()), + ('Expression', 'checkCondition()'): ("sysmlv2_expression_check_condition", 'B', (('target', 'Handle'),)), + ('Expression', 'evaluate()'): ("sysmlv2_expression_evaluate", 'H', (('target', 'Handle'),)), + ('Expression', 'modelLevelEvaluable()'): ("sysmlv2_expression_model_level_evaluable", 'B', (('visited', 'Handles'),)), + ('Feature', 'chainingFeature'): ("sysmlv2_feature_chaining_feature", 'H', ()), + ('Feature', 'crossFeature'): ("sysmlv2_feature_cross_feature", 'R', ()), + ('Feature', 'direction'): ("sysmlv2_feature_direction", 'S', ()), + ('Feature', 'endOwningType'): ("sysmlv2_feature_end_owning_type", 'R', ()), + ('Feature', 'featureTarget'): ("sysmlv2_feature_feature_target", 'R', ()), + ('Feature', 'featuringType'): ("sysmlv2_feature_featuring_type", 'H', ()), + ('Feature', 'isComposite'): ("sysmlv2_feature_is_composite", 'B', ()), + ('Feature', 'isConstant'): ("sysmlv2_feature_is_constant", 'B', ()), + ('Feature', 'isDerived'): ("sysmlv2_feature_is_derived", 'B', ()), + ('Feature', 'isEnd'): ("sysmlv2_feature_is_end", 'B', ()), + ('Feature', 'isOrdered'): ("sysmlv2_feature_is_ordered", 'B', ()), + ('Feature', 'isPortion'): ("sysmlv2_feature_is_portion", 'B', ()), + ('Feature', 'isUnique'): ("sysmlv2_feature_is_unique", 'B', ()), + ('Feature', 'isVariable'): ("sysmlv2_feature_is_variable", 'B', ()), + ('Feature', 'ownedCrossSubsetting'): ("sysmlv2_feature_owned_cross_subsetting", 'R', ()), + ('Feature', 'ownedFeatureChaining'): ("sysmlv2_feature_owned_feature_chaining", 'H', ()), + ('Feature', 'ownedFeatureInverting'): ("sysmlv2_feature_owned_feature_inverting", 'H', ()), + ('Feature', 'ownedRedefinition'): ("sysmlv2_feature_owned_redefinition", 'H', ()), + ('Feature', 'ownedReferenceSubsetting'): ("sysmlv2_feature_owned_reference_subsetting", 'R', ()), + ('Feature', 'ownedSubsetting'): ("sysmlv2_feature_owned_subsetting", 'H', ()), + ('Feature', 'ownedTypeFeaturing'): ("sysmlv2_feature_owned_type_featuring", 'H', ()), + ('Feature', 'ownedTyping'): ("sysmlv2_feature_owned_typing", 'H', ()), + ('Feature', 'owningFeatureMembership'): ("sysmlv2_feature_owning_feature_membership", 'R', ()), + ('Feature', 'owningType'): ("sysmlv2_feature_owning_type", 'R', ()), + ('Feature', 'type'): ("sysmlv2_feature_type", 'H', ()), + ('Feature', 'allRedefinedFeatures()'): ("sysmlv2_feature_all_redefined_features", 'H', ()), + ('Feature', 'asCartesianProduct()'): ("sysmlv2_feature_as_cartesian_product", 'H', ()), + ('Feature', 'canAccess()'): ("sysmlv2_feature_can_access", 'B', (('feature', 'Handle'),)), + ('Feature', 'directionFor()'): ("sysmlv2_feature_direction_for", 'S', (('ty', 'Handle'),)), + ('Feature', 'isCartesianProduct()'): ("sysmlv2_feature_is_cartesian_product", 'B', ()), + ('Feature', 'isFeaturedWithin()'): ("sysmlv2_feature_is_featured_within", 'B', (('ty', 'Handle'),)), + ('Feature', 'isFeaturingType()'): ("sysmlv2_feature_is_featuring_type", 'B', (('ty', 'Handle'),)), + ('Feature', 'isOwnedCrossFeature()'): ("sysmlv2_feature_is_owned_cross_feature", 'B', ()), + ('Feature', 'namingFeature()'): ("sysmlv2_feature_naming_feature", 'R', ()), + ('Feature', 'ownedCrossFeature()'): ("sysmlv2_feature_owned_cross_feature", 'R', ()), + ('Feature', 'redefines()'): ("sysmlv2_feature_redefines", 'B', (('redefined_feature', 'Handle'),)), + ('Feature', 'redefinesFromLibrary()'): ("sysmlv2_feature_redefines_from_library", 'B', (('library_feature_name', 'Str'),)), + ('Feature', 'subsetsChain()'): ("sysmlv2_feature_subsets_chain", 'B', (('first', 'Handle'), ('second', 'Handle'))), + ('Feature', 'typingFeatures()'): ("sysmlv2_feature_typing_features", 'H', ()), + ('FeatureChainExpression', 'targetFeature'): ("sysmlv2_feature_chain_expression_target_feature", 'R', ()), + ('FeatureChainExpression', 'sourceTargetFeature()'): ("sysmlv2_feature_chain_expression_source_target_feature", 'R', ()), + ('FeatureChaining', 'chainingFeature'): ("sysmlv2_feature_chaining_chaining_feature", 'R', ()), + ('FeatureChaining', 'featureChained'): ("sysmlv2_feature_chaining_feature_chained", 'R', ()), + ('FeatureInverting', 'featureInverted'): ("sysmlv2_feature_inverting_feature_inverted", 'R', ()), + ('FeatureInverting', 'invertingFeature'): ("sysmlv2_feature_inverting_inverting_feature", 'R', ()), + ('FeatureInverting', 'owningFeature'): ("sysmlv2_feature_inverting_owning_feature", 'R', ()), + ('FeatureMembership', 'ownedMemberFeature'): ("sysmlv2_feature_membership_owned_member_feature", 'R', ()), + ('FeatureMembership', 'owningType'): ("sysmlv2_feature_membership_owning_type", 'R', ()), + ('FeatureReferenceExpression', 'referent'): ("sysmlv2_feature_reference_expression_referent", 'R', ()), + ('FeatureTyping', 'owningFeature'): ("sysmlv2_feature_typing_owning_feature", 'R', ()), + ('FeatureTyping', 'type'): ("sysmlv2_feature_typing_type", 'R', ()), + ('FeatureTyping', 'typedFeature'): ("sysmlv2_feature_typing_typed_feature", 'R', ()), + ('FeatureValue', 'featureWithValue'): ("sysmlv2_feature_value_feature_with_value", 'R', ()), + ('FeatureValue', 'isDefault'): ("sysmlv2_feature_value_is_default", 'B', ()), + ('FeatureValue', 'isInitial'): ("sysmlv2_feature_value_is_initial", 'B', ()), + ('FeatureValue', 'value'): ("sysmlv2_feature_value_value", 'R', ()), + ('Flow', 'flowEnd'): ("sysmlv2_flow_flow_end", 'H', ()), + ('Flow', 'interaction'): ("sysmlv2_flow_interaction", 'H', ()), + ('Flow', 'payloadFeature'): ("sysmlv2_flow_payload_feature", 'R', ()), + ('Flow', 'payloadType'): ("sysmlv2_flow_payload_type", 'H', ()), + ('Flow', 'sourceOutputFeature'): ("sysmlv2_flow_source_output_feature", 'R', ()), + ('Flow', 'targetInputFeature'): ("sysmlv2_flow_target_input_feature", 'R', ()), + ('FlowDefinition', 'flowEnd'): ("sysmlv2_flow_definition_flow_end", 'H', ()), + ('FlowUsage', 'flowDefinition'): ("sysmlv2_flow_usage_flow_definition", 'H', ()), + ('ForLoopActionUsage', 'loopVariable'): ("sysmlv2_for_loop_action_usage_loop_variable", 'R', ()), + ('ForLoopActionUsage', 'seqArgument'): ("sysmlv2_for_loop_action_usage_seq_argument", 'R', ()), + ('FramedConcernMembership', 'ownedConcern'): ("sysmlv2_framed_concern_membership_owned_concern", 'R', ()), + ('FramedConcernMembership', 'referencedConcern'): ("sysmlv2_framed_concern_membership_referenced_concern", 'R', ()), + ('Function', 'expression'): ("sysmlv2_function_expression", 'H', ()), + ('Function', 'isModelLevelEvaluable'): ("sysmlv2_function_is_model_level_evaluable", 'B', ()), + ('Function', 'result'): ("sysmlv2_function_result", 'R', ()), + ('IfActionUsage', 'elseAction'): ("sysmlv2_if_action_usage_else_action", 'R', ()), + ('IfActionUsage', 'ifArgument'): ("sysmlv2_if_action_usage_if_argument", 'R', ()), + ('IfActionUsage', 'thenAction'): ("sysmlv2_if_action_usage_then_action", 'R', ()), + ('Import', 'importOwningNamespace'): ("sysmlv2_import_import_owning_namespace", 'R', ()), + ('Import', 'importedElement'): ("sysmlv2_import_imported_element", 'R', ()), + ('Import', 'isImportAll'): ("sysmlv2_import_is_import_all", 'B', ()), + ('Import', 'isRecursive'): ("sysmlv2_import_is_recursive", 'B', ()), + ('Import', 'visibility'): ("sysmlv2_import_visibility", 'S', ()), + ('Import', 'importedMemberships()'): ("sysmlv2_import_imported_memberships", 'H', (('excluded', 'Handles'),)), + ('IncludeUseCaseUsage', 'useCaseIncluded'): ("sysmlv2_include_use_case_usage_use_case_included", 'R', ()), + ('InstantiationExpression', 'argument'): ("sysmlv2_instantiation_expression_argument", 'H', ()), + ('InstantiationExpression', 'instantiatedType'): ("sysmlv2_instantiation_expression_instantiated_type", 'R', ()), + ('InstantiationExpression', 'instantiatedType()'): ("sysmlv2_instantiation_expression_instantiated_type_op", 'R', ()), + ('InterfaceDefinition', 'interfaceEnd'): ("sysmlv2_interface_definition_interface_end", 'H', ()), + ('InterfaceUsage', 'interfaceDefinition'): ("sysmlv2_interface_usage_interface_definition", 'H', ()), + ('Intersecting', 'intersectingType'): ("sysmlv2_intersecting_intersecting_type", 'R', ()), + ('Intersecting', 'typeIntersected'): ("sysmlv2_intersecting_type_intersected", 'R', ()), + ('Invariant', 'isNegated'): ("sysmlv2_invariant_is_negated", 'B', ()), + ('ItemUsage', 'itemDefinition'): ("sysmlv2_item_usage_item_definition", 'H', ()), + ('LibraryPackage', 'isStandard'): ("sysmlv2_library_package_is_standard", 'B', ()), + ('LiteralBoolean', 'value'): ("sysmlv2_literal_boolean_value", 'B', ()), + ('LiteralInteger', 'value'): ("sysmlv2_literal_integer_value", 'I', ()), + ('LiteralRational', 'value'): ("sysmlv2_literal_rational_value", 'F', ()), + ('LiteralString', 'value'): ("sysmlv2_literal_string_value", 'S', ()), + ('LoopActionUsage', 'bodyAction'): ("sysmlv2_loop_action_usage_body_action", 'R', ()), + ('Membership', 'memberElement'): ("sysmlv2_membership_member_element", 'R', ()), + ('Membership', 'memberElementId'): ("sysmlv2_membership_member_element_id", 'S', ()), + ('Membership', 'memberName'): ("sysmlv2_membership_member_name", 'S', ()), + ('Membership', 'memberShortName'): ("sysmlv2_membership_member_short_name", 'S', ()), + ('Membership', 'membershipOwningNamespace'): ("sysmlv2_membership_membership_owning_namespace", 'R', ()), + ('Membership', 'visibility'): ("sysmlv2_membership_visibility", 'S', ()), + ('Membership', 'isDistinguishableFrom()'): ("sysmlv2_membership_is_distinguishable_from", 'B', (('other', 'Handle'),)), + ('MembershipImport', 'importedMembership'): ("sysmlv2_membership_import_imported_membership", 'R', ()), + ('MetadataAccessExpression', 'referencedElement'): ("sysmlv2_metadata_access_expression_referenced_element", 'R', ()), + ('MetadataAccessExpression', 'metaclassFeature()'): ("sysmlv2_metadata_access_expression_metaclass_feature", 'R', ()), + ('MetadataFeature', 'metaclass'): ("sysmlv2_metadata_feature_metaclass", 'R', ()), + ('MetadataFeature', 'evaluateFeature()'): ("sysmlv2_metadata_feature_evaluate_feature", 'H', (('base_feature', 'Handle'),)), + ('MetadataFeature', 'isSemantic()'): ("sysmlv2_metadata_feature_is_semantic", 'B', ()), + ('MetadataFeature', 'isSyntactic()'): ("sysmlv2_metadata_feature_is_syntactic", 'B', ()), + ('MetadataFeature', 'syntaxElement()'): ("sysmlv2_metadata_feature_syntax_element", 'R', ()), + ('MetadataUsage', 'metadataDefinition'): ("sysmlv2_metadata_usage_metadata_definition", 'R', ()), + ('MultiplicityRange', 'bound'): ("sysmlv2_multiplicity_range_bound", 'H', ()), + ('MultiplicityRange', 'lowerBound'): ("sysmlv2_multiplicity_range_lower_bound", 'R', ()), + ('MultiplicityRange', 'upperBound'): ("sysmlv2_multiplicity_range_upper_bound", 'R', ()), + ('MultiplicityRange', 'hasBounds()'): ("sysmlv2_multiplicity_range_has_bounds", 'B', (('lower', 'Str'), ('upper', 'Str'))), + ('MultiplicityRange', 'valueOf()'): ("sysmlv2_multiplicity_range_value_of", 'I', (('bound', 'Handle'),)), + ('Namespace', 'importedMembership'): ("sysmlv2_namespace_imported_membership", 'H', ()), + ('Namespace', 'member'): ("sysmlv2_namespace_member", 'H', ()), + ('Namespace', 'membership'): ("sysmlv2_namespace_membership", 'H', ()), + ('Namespace', 'ownedImport'): ("sysmlv2_namespace_owned_import", 'H', ()), + ('Namespace', 'ownedMember'): ("sysmlv2_namespace_owned_member", 'H', ()), + ('Namespace', 'ownedMembership'): ("sysmlv2_namespace_owned_membership", 'H', ()), + ('Namespace', 'importedMemberships()'): ("sysmlv2_namespace_imported_memberships", 'H', (('excluded', 'Handles'),)), + ('Namespace', 'membershipsOfVisibility()'): ("sysmlv2_namespace_memberships_of_visibility", 'H', (('visibility', 'Str'), ('excluded', 'Handles'))), + ('Namespace', 'namesOf()'): ("sysmlv2_namespace_names_of", 'T', (('element', 'Handle'),)), + ('Namespace', 'qualificationOf()'): ("sysmlv2_namespace_qualification_of", 'S', (('qualified_name', 'Str'),)), + ('Namespace', 'resolve()'): ("sysmlv2_namespace_resolve", 'R', (('qualified_name', 'Str'),)), + ('Namespace', 'resolveGlobal()'): ("sysmlv2_namespace_resolve_global", 'R', (('qualified_name', 'Str'),)), + ('Namespace', 'resolveLocal()'): ("sysmlv2_namespace_resolve_local", 'R', (('name', 'Str'),)), + ('Namespace', 'resolveVisible()'): ("sysmlv2_namespace_resolve_visible", 'R', (('name', 'Str'),)), + ('Namespace', 'unqualifiedNameOf()'): ("sysmlv2_namespace_unqualified_name_of", 'S', (('qualified_name', 'Str'),)), + ('Namespace', 'visibilityOf()'): ("sysmlv2_namespace_visibility_of", 'S', (('mem', 'Handle'),)), + ('Namespace', 'visibleMemberships()'): ("sysmlv2_namespace_visible_memberships", 'H', (('excluded', 'Handles'), ('is_recursive', 'bool'), ('include_all', 'bool'))), + ('NamespaceImport', 'importedNamespace'): ("sysmlv2_namespace_import_imported_namespace", 'R', ()), + ('ObjectiveMembership', 'ownedObjectiveRequirement'): ("sysmlv2_objective_membership_owned_objective_requirement", 'R', ()), + ('OccurrenceDefinition', 'isIndividual'): ("sysmlv2_occurrence_definition_is_individual", 'B', ()), + ('OccurrenceUsage', 'individualDefinition'): ("sysmlv2_occurrence_usage_individual_definition", 'R', ()), + ('OccurrenceUsage', 'isIndividual'): ("sysmlv2_occurrence_usage_is_individual", 'B', ()), + ('OccurrenceUsage', 'occurrenceDefinition'): ("sysmlv2_occurrence_usage_occurrence_definition", 'H', ()), + ('OccurrenceUsage', 'portionKind'): ("sysmlv2_occurrence_usage_portion_kind", 'S', ()), + ('OperatorExpression', 'operator'): ("sysmlv2_operator_expression_operator", 'S', ()), + ('OwningMembership', 'ownedMemberElement'): ("sysmlv2_owning_membership_owned_member_element", 'R', ()), + ('OwningMembership', 'ownedMemberElementId'): ("sysmlv2_owning_membership_owned_member_element_id", 'S', ()), + ('OwningMembership', 'ownedMemberName'): ("sysmlv2_owning_membership_owned_member_name", 'S', ()), + ('OwningMembership', 'ownedMemberShortName'): ("sysmlv2_owning_membership_owned_member_short_name", 'S', ()), + ('Package', 'filterCondition'): ("sysmlv2_package_filter_condition", 'H', ()), + ('Package', 'includeAsMember()'): ("sysmlv2_package_include_as_member", 'B', (('element', 'Handle'),)), + ('ParameterMembership', 'ownedMemberParameter'): ("sysmlv2_parameter_membership_owned_member_parameter", 'R', ()), + ('ParameterMembership', 'parameterDirection()'): ("sysmlv2_parameter_membership_parameter_direction", 'S', ()), + ('PartUsage', 'partDefinition'): ("sysmlv2_part_usage_part_definition", 'H', ()), + ('PerformActionUsage', 'performedAction'): ("sysmlv2_perform_action_usage_performed_action", 'R', ()), + ('PortConjugation', 'conjugatedPortDefinition'): ("sysmlv2_port_conjugation_conjugated_port_definition", 'R', ()), + ('PortConjugation', 'originalPortDefinition'): ("sysmlv2_port_conjugation_original_port_definition", 'R', ()), + ('PortDefinition', 'conjugatedPortDefinition'): ("sysmlv2_port_definition_conjugated_port_definition", 'R', ()), + ('PortUsage', 'portDefinition'): ("sysmlv2_port_usage_port_definition", 'H', ()), + ('Redefinition', 'redefinedFeature'): ("sysmlv2_redefinition_redefined_feature", 'R', ()), + ('Redefinition', 'redefiningFeature'): ("sysmlv2_redefinition_redefining_feature", 'R', ()), + ('ReferenceSubsetting', 'referencedFeature'): ("sysmlv2_reference_subsetting_referenced_feature", 'R', ()), + ('ReferenceSubsetting', 'referencingFeature'): ("sysmlv2_reference_subsetting_referencing_feature", 'R', ()), + ('Relationship', 'isImplied'): ("sysmlv2_relationship_is_implied", 'B', ()), + ('Relationship', 'ownedRelatedElement'): ("sysmlv2_relationship_owned_related_element", 'H', ()), + ('Relationship', 'owningRelatedElement'): ("sysmlv2_relationship_owning_related_element", 'R', ()), + ('Relationship', 'relatedElement'): ("sysmlv2_relationship_related_element", 'H', ()), + ('Relationship', 'source'): ("sysmlv2_relationship_source", 'H', ()), + ('Relationship', 'target'): ("sysmlv2_relationship_target", 'H', ()), + ('RenderingDefinition', 'rendering'): ("sysmlv2_rendering_definition_rendering", 'H', ()), + ('RenderingUsage', 'renderingDefinition'): ("sysmlv2_rendering_usage_rendering_definition", 'R', ()), + ('RequirementConstraintMembership', 'kind'): ("sysmlv2_requirement_constraint_membership_kind", 'S', ()), + ('RequirementConstraintMembership', 'ownedConstraint'): ("sysmlv2_requirement_constraint_membership_owned_constraint", 'R', ()), + ('RequirementConstraintMembership', 'referencedConstraint'): ("sysmlv2_requirement_constraint_membership_referenced_constraint", 'R', ()), + ('RequirementDefinition', 'actorParameter'): ("sysmlv2_requirement_definition_actor_parameter", 'H', ()), + ('RequirementDefinition', 'assumedConstraint'): ("sysmlv2_requirement_definition_assumed_constraint", 'H', ()), + ('RequirementDefinition', 'framedConcern'): ("sysmlv2_requirement_definition_framed_concern", 'H', ()), + ('RequirementDefinition', 'reqId'): ("sysmlv2_requirement_definition_req_id", 'S', ()), + ('RequirementDefinition', 'requiredConstraint'): ("sysmlv2_requirement_definition_required_constraint", 'H', ()), + ('RequirementDefinition', 'stakeholderParameter'): ("sysmlv2_requirement_definition_stakeholder_parameter", 'H', ()), + ('RequirementDefinition', 'subjectParameter'): ("sysmlv2_requirement_definition_subject_parameter", 'R', ()), + ('RequirementDefinition', 'text'): ("sysmlv2_requirement_definition_text", 'T', ()), + ('RequirementUsage', 'actorParameter'): ("sysmlv2_requirement_usage_actor_parameter", 'H', ()), + ('RequirementUsage', 'assumedConstraint'): ("sysmlv2_requirement_usage_assumed_constraint", 'H', ()), + ('RequirementUsage', 'framedConcern'): ("sysmlv2_requirement_usage_framed_concern", 'H', ()), + ('RequirementUsage', 'reqId'): ("sysmlv2_requirement_usage_req_id", 'S', ()), + ('RequirementUsage', 'requiredConstraint'): ("sysmlv2_requirement_usage_required_constraint", 'H', ()), + ('RequirementUsage', 'requirementDefinition'): ("sysmlv2_requirement_usage_requirement_definition", 'R', ()), + ('RequirementUsage', 'stakeholderParameter'): ("sysmlv2_requirement_usage_stakeholder_parameter", 'H', ()), + ('RequirementUsage', 'subjectParameter'): ("sysmlv2_requirement_usage_subject_parameter", 'R', ()), + ('RequirementUsage', 'text'): ("sysmlv2_requirement_usage_text", 'T', ()), + ('RequirementVerificationMembership', 'ownedRequirement'): ("sysmlv2_requirement_verification_membership_owned_requirement", 'R', ()), + ('RequirementVerificationMembership', 'verifiedRequirement'): ("sysmlv2_requirement_verification_membership_verified_requirement", 'R', ()), + ('ResultExpressionMembership', 'ownedResultExpression'): ("sysmlv2_result_expression_membership_owned_result_expression", 'R', ()), + ('SatisfyRequirementUsage', 'satisfiedRequirement'): ("sysmlv2_satisfy_requirement_usage_satisfied_requirement", 'R', ()), + ('SatisfyRequirementUsage', 'satisfyingFeature'): ("sysmlv2_satisfy_requirement_usage_satisfying_feature", 'R', ()), + ('SendActionUsage', 'payloadArgument'): ("sysmlv2_send_action_usage_payload_argument", 'R', ()), + ('SendActionUsage', 'receiverArgument'): ("sysmlv2_send_action_usage_receiver_argument", 'R', ()), + ('SendActionUsage', 'senderArgument'): ("sysmlv2_send_action_usage_sender_argument", 'R', ()), + ('Specialization', 'general'): ("sysmlv2_specialization_general", 'R', ()), + ('Specialization', 'owningType'): ("sysmlv2_specialization_owning_type", 'R', ()), + ('Specialization', 'specific'): ("sysmlv2_specialization_specific", 'R', ()), + ('StakeholderMembership', 'ownedStakeholderParameter'): ("sysmlv2_stakeholder_membership_owned_stakeholder_parameter", 'R', ()), + ('StateDefinition', 'doAction'): ("sysmlv2_state_definition_do_action", 'R', ()), + ('StateDefinition', 'entryAction'): ("sysmlv2_state_definition_entry_action", 'R', ()), + ('StateDefinition', 'exitAction'): ("sysmlv2_state_definition_exit_action", 'R', ()), + ('StateDefinition', 'isParallel'): ("sysmlv2_state_definition_is_parallel", 'B', ()), + ('StateDefinition', 'state'): ("sysmlv2_state_definition_state", 'H', ()), + ('StateSubactionMembership', 'action'): ("sysmlv2_state_subaction_membership_action", 'R', ()), + ('StateSubactionMembership', 'kind'): ("sysmlv2_state_subaction_membership_kind", 'S', ()), + ('StateUsage', 'doAction'): ("sysmlv2_state_usage_do_action", 'R', ()), + ('StateUsage', 'entryAction'): ("sysmlv2_state_usage_entry_action", 'R', ()), + ('StateUsage', 'exitAction'): ("sysmlv2_state_usage_exit_action", 'R', ()), + ('StateUsage', 'isParallel'): ("sysmlv2_state_usage_is_parallel", 'B', ()), + ('StateUsage', 'stateDefinition'): ("sysmlv2_state_usage_state_definition", 'H', ()), + ('StateUsage', 'isSubstateUsage()'): ("sysmlv2_state_usage_is_substate_usage", 'B', (('is_parallel', 'bool'),)), + ('Step', 'behavior'): ("sysmlv2_step_behavior", 'H', ()), + ('Step', 'parameter'): ("sysmlv2_step_parameter", 'H', ()), + ('Subclassification', 'owningClassifier'): ("sysmlv2_subclassification_owning_classifier", 'R', ()), + ('Subclassification', 'subclassifier'): ("sysmlv2_subclassification_subclassifier", 'R', ()), + ('Subclassification', 'superclassifier'): ("sysmlv2_subclassification_superclassifier", 'R', ()), + ('SubjectMembership', 'ownedSubjectParameter'): ("sysmlv2_subject_membership_owned_subject_parameter", 'R', ()), + ('Subsetting', 'owningFeature'): ("sysmlv2_subsetting_owning_feature", 'R', ()), + ('Subsetting', 'subsettedFeature'): ("sysmlv2_subsetting_subsetted_feature", 'R', ()), + ('Subsetting', 'subsettingFeature'): ("sysmlv2_subsetting_subsetting_feature", 'R', ()), + ('TerminateActionUsage', 'terminatedOccurrenceArgument'): ("sysmlv2_terminate_action_usage_terminated_occurrence_argument", 'R', ()), + ('TextualRepresentation', 'body'): ("sysmlv2_textual_representation_body", 'S', ()), + ('TextualRepresentation', 'language'): ("sysmlv2_textual_representation_language", 'S', ()), + ('TextualRepresentation', 'representedElement'): ("sysmlv2_textual_representation_represented_element", 'R', ()), + ('TransitionFeatureMembership', 'kind'): ("sysmlv2_transition_feature_membership_kind", 'S', ()), + ('TransitionFeatureMembership', 'transitionFeature'): ("sysmlv2_transition_feature_membership_transition_feature", 'R', ()), + ('TransitionUsage', 'effectAction'): ("sysmlv2_transition_usage_effect_action", 'H', ()), + ('TransitionUsage', 'guardExpression'): ("sysmlv2_transition_usage_guard_expression", 'H', ()), + ('TransitionUsage', 'source'): ("sysmlv2_transition_usage_source", 'R', ()), + ('TransitionUsage', 'succession'): ("sysmlv2_transition_usage_succession", 'R', ()), + ('TransitionUsage', 'target'): ("sysmlv2_transition_usage_target", 'R', ()), + ('TransitionUsage', 'triggerAction'): ("sysmlv2_transition_usage_trigger_action", 'H', ()), + ('TransitionUsage', 'sourceFeature()'): ("sysmlv2_transition_usage_source_feature", 'R', ()), + ('TransitionUsage', 'triggerPayloadParameter()'): ("sysmlv2_transition_usage_trigger_payload_parameter", 'R', ()), + ('TriggerInvocationExpression', 'kind'): ("sysmlv2_trigger_invocation_expression_kind", 'S', ()), + ('Type', 'differencingType'): ("sysmlv2_type_differencing_type", 'H', ()), + ('Type', 'directedFeature'): ("sysmlv2_type_directed_feature", 'H', ()), + ('Type', 'endFeature'): ("sysmlv2_type_end_feature", 'H', ()), + ('Type', 'feature'): ("sysmlv2_type_feature", 'H', ()), + ('Type', 'featureMembership'): ("sysmlv2_type_feature_membership", 'H', ()), + ('Type', 'inheritedFeature'): ("sysmlv2_type_inherited_feature", 'H', ()), + ('Type', 'inheritedMembership'): ("sysmlv2_type_inherited_membership", 'H', ()), + ('Type', 'input'): ("sysmlv2_type_input", 'H', ()), + ('Type', 'intersectingType'): ("sysmlv2_type_intersecting_type", 'H', ()), + ('Type', 'isAbstract'): ("sysmlv2_type_is_abstract", 'B', ()), + ('Type', 'isConjugated'): ("sysmlv2_type_is_conjugated", 'B', ()), + ('Type', 'isSufficient'): ("sysmlv2_type_is_sufficient", 'B', ()), + ('Type', 'multiplicity'): ("sysmlv2_type_multiplicity", 'R', ()), + ('Type', 'output'): ("sysmlv2_type_output", 'H', ()), + ('Type', 'ownedConjugator'): ("sysmlv2_type_owned_conjugator", 'R', ()), + ('Type', 'ownedDifferencing'): ("sysmlv2_type_owned_differencing", 'H', ()), + ('Type', 'ownedDisjoining'): ("sysmlv2_type_owned_disjoining", 'H', ()), + ('Type', 'ownedEndFeature'): ("sysmlv2_type_owned_end_feature", 'H', ()), + ('Type', 'ownedFeature'): ("sysmlv2_type_owned_feature", 'H', ()), + ('Type', 'ownedFeatureMembership'): ("sysmlv2_type_owned_feature_membership", 'H', ()), + ('Type', 'ownedIntersecting'): ("sysmlv2_type_owned_intersecting", 'H', ()), + ('Type', 'ownedSpecialization'): ("sysmlv2_type_owned_specialization", 'H', ()), + ('Type', 'ownedUnioning'): ("sysmlv2_type_owned_unioning", 'H', ()), + ('Type', 'unioningType'): ("sysmlv2_type_unioning_type", 'H', ()), + ('Type', 'allRedefinedFeaturesOf()'): ("sysmlv2_type_all_redefined_features_of", 'H', (('membership', 'Handle'),)), + ('Type', 'allSupertypes()'): ("sysmlv2_type_all_supertypes", 'H', ()), + ('Type', 'directionOf()'): ("sysmlv2_type_direction_of", 'S', (('feature', 'Handle'),)), + ('Type', 'directionOfExcluding()'): ("sysmlv2_type_direction_of_excluding", 'S', (('feature', 'Handle'), ('excluded', 'Handles'))), + ('Type', 'inheritableMemberships()'): ("sysmlv2_type_inheritable_memberships", 'H', (('excluded_namespaces', 'Handles'), ('excluded_types', 'Handles'), ('exclude_implied', 'bool'))), + ('Type', 'inheritedMemberships()'): ("sysmlv2_type_inherited_memberships", 'H', (('excluded_namespaces', 'Handles'), ('excluded_types', 'Handles'), ('exclude_implied', 'bool'))), + ('Type', 'isCompatibleWith()'): ("sysmlv2_type_is_compatible_with", 'B', (('other_type', 'Handle'),)), + ('Type', 'multiplicities()'): ("sysmlv2_type_multiplicities", 'H', ()), + ('Type', 'nonPrivateMemberships()'): ("sysmlv2_type_non_private_memberships", 'H', (('excluded_namespaces', 'Handles'), ('excluded_types', 'Handles'), ('exclude_implied', 'bool'))), + ('Type', 'removeRedefinedFeatures()'): ("sysmlv2_type_remove_redefined_features", 'H', (('memberships', 'Handles'),)), + ('Type', 'specializes()'): ("sysmlv2_type_specializes", 'B', (('supertype', 'Handle'),)), + ('Type', 'specializesFromLibrary()'): ("sysmlv2_type_specializes_from_library", 'B', (('library_type_name', 'Str'),)), + ('Type', 'supertypes()'): ("sysmlv2_type_supertypes", 'H', (('exclude_implied', 'bool'),)), + ('TypeFeaturing', 'featureOfType'): ("sysmlv2_type_featuring_feature_of_type", 'R', ()), + ('TypeFeaturing', 'featuringType'): ("sysmlv2_type_featuring_featuring_type", 'R', ()), + ('TypeFeaturing', 'owningFeatureOfType'): ("sysmlv2_type_featuring_owning_feature_of_type", 'R', ()), + ('Unioning', 'typeUnioned'): ("sysmlv2_unioning_type_unioned", 'R', ()), + ('Unioning', 'unioningType'): ("sysmlv2_unioning_unioning_type", 'R', ()), + ('Usage', 'definition'): ("sysmlv2_usage_definition", 'H', ()), + ('Usage', 'directedUsage'): ("sysmlv2_usage_directed_usage", 'H', ()), + ('Usage', 'isReference'): ("sysmlv2_usage_is_reference", 'B', ()), + ('Usage', 'isVariation'): ("sysmlv2_usage_is_variation", 'B', ()), + ('Usage', 'mayTimeVary'): ("sysmlv2_usage_may_time_vary", 'B', ()), + ('Usage', 'nestedAction'): ("sysmlv2_usage_nested_action", 'H', ()), + ('Usage', 'nestedAllocation'): ("sysmlv2_usage_nested_allocation", 'H', ()), + ('Usage', 'nestedAnalysisCase'): ("sysmlv2_usage_nested_analysis_case", 'H', ()), + ('Usage', 'nestedAttribute'): ("sysmlv2_usage_nested_attribute", 'H', ()), + ('Usage', 'nestedCalculation'): ("sysmlv2_usage_nested_calculation", 'H', ()), + ('Usage', 'nestedCase'): ("sysmlv2_usage_nested_case", 'H', ()), + ('Usage', 'nestedConcern'): ("sysmlv2_usage_nested_concern", 'H', ()), + ('Usage', 'nestedConnection'): ("sysmlv2_usage_nested_connection", 'H', ()), + ('Usage', 'nestedConstraint'): ("sysmlv2_usage_nested_constraint", 'H', ()), + ('Usage', 'nestedEnumeration'): ("sysmlv2_usage_nested_enumeration", 'H', ()), + ('Usage', 'nestedFlow'): ("sysmlv2_usage_nested_flow", 'H', ()), + ('Usage', 'nestedInterface'): ("sysmlv2_usage_nested_interface", 'H', ()), + ('Usage', 'nestedItem'): ("sysmlv2_usage_nested_item", 'H', ()), + ('Usage', 'nestedMetadata'): ("sysmlv2_usage_nested_metadata", 'H', ()), + ('Usage', 'nestedOccurrence'): ("sysmlv2_usage_nested_occurrence", 'H', ()), + ('Usage', 'nestedPart'): ("sysmlv2_usage_nested_part", 'H', ()), + ('Usage', 'nestedPort'): ("sysmlv2_usage_nested_port", 'H', ()), + ('Usage', 'nestedReference'): ("sysmlv2_usage_nested_reference", 'H', ()), + ('Usage', 'nestedRendering'): ("sysmlv2_usage_nested_rendering", 'H', ()), + ('Usage', 'nestedRequirement'): ("sysmlv2_usage_nested_requirement", 'H', ()), + ('Usage', 'nestedState'): ("sysmlv2_usage_nested_state", 'H', ()), + ('Usage', 'nestedTransition'): ("sysmlv2_usage_nested_transition", 'H', ()), + ('Usage', 'nestedUsage'): ("sysmlv2_usage_nested_usage", 'H', ()), + ('Usage', 'nestedUseCase'): ("sysmlv2_usage_nested_use_case", 'H', ()), + ('Usage', 'nestedVerificationCase'): ("sysmlv2_usage_nested_verification_case", 'H', ()), + ('Usage', 'nestedView'): ("sysmlv2_usage_nested_view", 'H', ()), + ('Usage', 'nestedViewpoint'): ("sysmlv2_usage_nested_viewpoint", 'H', ()), + ('Usage', 'owningDefinition'): ("sysmlv2_usage_owning_definition", 'R', ()), + ('Usage', 'owningUsage'): ("sysmlv2_usage_owning_usage", 'R', ()), + ('Usage', 'usage'): ("sysmlv2_usage_usage", 'H', ()), + ('Usage', 'variant'): ("sysmlv2_usage_variant", 'H', ()), + ('Usage', 'variantMembership'): ("sysmlv2_usage_variant_membership", 'H', ()), + ('Usage', 'referencedFeatureTarget()'): ("sysmlv2_usage_referenced_feature_target", 'R', ()), + ('UseCaseDefinition', 'includedUseCase'): ("sysmlv2_use_case_definition_included_use_case", 'H', ()), + ('UseCaseUsage', 'includedUseCase'): ("sysmlv2_use_case_usage_included_use_case", 'H', ()), + ('UseCaseUsage', 'useCaseDefinition'): ("sysmlv2_use_case_usage_use_case_definition", 'R', ()), + ('VariantMembership', 'ownedVariantUsage'): ("sysmlv2_variant_membership_owned_variant_usage", 'R', ()), + ('VerificationCaseDefinition', 'verifiedRequirement'): ("sysmlv2_verification_case_definition_verified_requirement", 'H', ()), + ('VerificationCaseUsage', 'verificationCaseDefinition'): ("sysmlv2_verification_case_usage_verification_case_definition", 'R', ()), + ('VerificationCaseUsage', 'verifiedRequirement'): ("sysmlv2_verification_case_usage_verified_requirement", 'H', ()), + ('ViewDefinition', 'satisfiedViewpoint'): ("sysmlv2_view_definition_satisfied_viewpoint", 'H', ()), + ('ViewDefinition', 'view'): ("sysmlv2_view_definition_view", 'H', ()), + ('ViewDefinition', 'viewCondition'): ("sysmlv2_view_definition_view_condition", 'H', ()), + ('ViewDefinition', 'viewRendering'): ("sysmlv2_view_definition_view_rendering", 'R', ()), + ('ViewRenderingMembership', 'ownedRendering'): ("sysmlv2_view_rendering_membership_owned_rendering", 'R', ()), + ('ViewRenderingMembership', 'referencedRendering'): ("sysmlv2_view_rendering_membership_referenced_rendering", 'R', ()), + ('ViewUsage', 'exposedElement'): ("sysmlv2_view_usage_exposed_element", 'H', ()), + ('ViewUsage', 'satisfiedViewpoint'): ("sysmlv2_view_usage_satisfied_viewpoint", 'H', ()), + ('ViewUsage', 'viewCondition'): ("sysmlv2_view_usage_view_condition", 'H', ()), + ('ViewUsage', 'viewDefinition'): ("sysmlv2_view_usage_view_definition", 'R', ()), + ('ViewUsage', 'viewRendering'): ("sysmlv2_view_usage_view_rendering", 'R', ()), + ('ViewUsage', 'includeAsExposed()'): ("sysmlv2_view_usage_include_as_exposed", 'B', (('element', 'Handle'),)), + ('ViewpointDefinition', 'viewpointStakeholder'): ("sysmlv2_viewpoint_definition_viewpoint_stakeholder", 'H', ()), + ('ViewpointUsage', 'viewpointDefinition'): ("sysmlv2_viewpoint_usage_viewpoint_definition", 'R', ()), + ('ViewpointUsage', 'viewpointStakeholder'): ("sysmlv2_viewpoint_usage_viewpoint_stakeholder", 'H', ()), + ('WhileLoopActionUsage', 'untilArgument'): ("sysmlv2_while_loop_action_usage_until_argument", 'R', ()), + ('WhileLoopActionUsage', 'whileArgument'): ("sysmlv2_while_loop_action_usage_while_argument", 'R', ()), +} +BASES = { + 'AcceptActionUsage': ['ActionUsage'], + 'ActionDefinition': ['OccurrenceDefinition', 'Behavior'], + 'ActionUsage': ['Step', 'OccurrenceUsage'], + 'ActorMembership': ['ParameterMembership'], + 'AllocationDefinition': ['ConnectionDefinition'], + 'AllocationUsage': ['ConnectionUsage'], + 'AnalysisCaseDefinition': ['CaseDefinition'], + 'AnalysisCaseUsage': ['CaseUsage'], + 'AnnotatingElement': ['Element'], + 'Annotation': ['Relationship'], + 'AssertConstraintUsage': ['Invariant', 'ConstraintUsage'], + 'AssignmentActionUsage': ['ActionUsage'], + 'Association': ['Classifier', 'Relationship'], + 'AssociationStructure': ['Structure', 'Association'], + 'AttributeDefinition': ['DataType', 'Definition'], + 'AttributeUsage': ['Usage'], + 'Behavior': ['Class'], + 'BindingConnector': ['Connector'], + 'BindingConnectorAsUsage': ['BindingConnector', 'ConnectorAsUsage'], + 'BooleanExpression': ['Expression'], + 'CalculationDefinition': ['ActionDefinition', 'Function'], + 'CalculationUsage': ['Expression', 'ActionUsage'], + 'CaseDefinition': ['CalculationDefinition'], + 'CaseUsage': ['CalculationUsage'], + 'Class': ['Classifier'], + 'Classifier': ['Type'], + 'CollectExpression': ['OperatorExpression'], + 'Comment': ['AnnotatingElement'], + 'ConcernDefinition': ['RequirementDefinition'], + 'ConcernUsage': ['RequirementUsage'], + 'ConjugatedPortDefinition': ['PortDefinition'], + 'ConjugatedPortTyping': ['FeatureTyping'], + 'Conjugation': ['Relationship'], + 'ConnectionDefinition': ['AssociationStructure', 'PartDefinition'], + 'ConnectionUsage': ['PartUsage', 'ConnectorAsUsage'], + 'Connector': ['Feature', 'Relationship'], + 'ConnectorAsUsage': ['Usage', 'Connector'], + 'ConstraintDefinition': ['OccurrenceDefinition', 'Predicate'], + 'ConstraintUsage': ['OccurrenceUsage', 'BooleanExpression'], + 'ConstructorExpression': ['InstantiationExpression'], + 'ControlNode': ['ActionUsage'], + 'CrossSubsetting': ['Subsetting'], + 'DataType': ['Classifier'], + 'DecisionNode': ['ControlNode'], + 'Definition': ['Classifier'], + 'Dependency': ['Relationship'], + 'Differencing': ['Relationship'], + 'Disjoining': ['Relationship'], + 'Documentation': ['Comment'], + 'Element': [], + 'ElementFilterMembership': ['OwningMembership'], + 'EndFeatureMembership': ['FeatureMembership'], + 'EnumerationDefinition': ['AttributeDefinition'], + 'EnumerationUsage': ['AttributeUsage'], + 'EventOccurrenceUsage': ['OccurrenceUsage'], + 'ExhibitStateUsage': ['PerformActionUsage', 'StateUsage'], + 'Expose': ['Import'], + 'Expression': ['Step'], + 'Feature': ['Type'], + 'FeatureChainExpression': ['OperatorExpression'], + 'FeatureChaining': ['Relationship'], + 'FeatureInverting': ['Relationship'], + 'FeatureMembership': ['OwningMembership'], + 'FeatureReferenceExpression': ['Expression'], + 'FeatureTyping': ['Specialization'], + 'FeatureValue': ['OwningMembership'], + 'Flow': ['Connector', 'Step'], + 'FlowDefinition': ['ActionDefinition', 'Interaction'], + 'FlowEnd': ['Feature'], + 'FlowUsage': ['ConnectorAsUsage', 'Flow', 'ActionUsage'], + 'ForLoopActionUsage': ['LoopActionUsage'], + 'ForkNode': ['ControlNode'], + 'FramedConcernMembership': ['RequirementConstraintMembership'], + 'Function': ['Behavior'], + 'IfActionUsage': ['ActionUsage'], + 'Import': ['Relationship'], + 'IncludeUseCaseUsage': ['UseCaseUsage', 'PerformActionUsage'], + 'IndexExpression': ['OperatorExpression'], + 'InstantiationExpression': ['Expression'], + 'Interaction': ['Association', 'Behavior'], + 'InterfaceDefinition': ['ConnectionDefinition'], + 'InterfaceUsage': ['ConnectionUsage'], + 'Intersecting': ['Relationship'], + 'Invariant': ['BooleanExpression'], + 'InvocationExpression': ['InstantiationExpression'], + 'ItemDefinition': ['Structure', 'OccurrenceDefinition'], + 'ItemUsage': ['OccurrenceUsage'], + 'JoinNode': ['ControlNode'], + 'LibraryPackage': ['Package'], + 'LiteralBoolean': ['LiteralExpression'], + 'LiteralExpression': ['Expression'], + 'LiteralInfinity': ['LiteralExpression'], + 'LiteralInteger': ['LiteralExpression'], + 'LiteralRational': ['LiteralExpression'], + 'LiteralString': ['LiteralExpression'], + 'LoopActionUsage': ['ActionUsage'], + 'Membership': ['Relationship'], + 'MembershipExpose': ['MembershipImport', 'Expose'], + 'MembershipImport': ['Import'], + 'MergeNode': ['ControlNode'], + 'Metaclass': ['Structure'], + 'MetadataAccessExpression': ['Expression'], + 'MetadataDefinition': ['ItemDefinition', 'Metaclass'], + 'MetadataFeature': ['AnnotatingElement', 'Feature'], + 'MetadataUsage': ['MetadataFeature', 'ItemUsage'], + 'Multiplicity': ['Feature'], + 'MultiplicityRange': ['Multiplicity'], + 'Namespace': ['Element'], + 'NamespaceExpose': ['Expose', 'NamespaceImport'], + 'NamespaceImport': ['Import'], + 'NullExpression': ['Expression'], + 'ObjectiveMembership': ['FeatureMembership'], + 'OccurrenceDefinition': ['Definition', 'Class'], + 'OccurrenceUsage': ['Usage'], + 'OperatorExpression': ['InvocationExpression'], + 'OwningMembership': ['Membership'], + 'Package': ['Namespace'], + 'ParameterMembership': ['FeatureMembership'], + 'PartDefinition': ['ItemDefinition'], + 'PartUsage': ['ItemUsage'], + 'PayloadFeature': ['Feature'], + 'PerformActionUsage': ['EventOccurrenceUsage', 'ActionUsage'], + 'PortConjugation': ['Conjugation'], + 'PortDefinition': ['Structure', 'OccurrenceDefinition'], + 'PortUsage': ['OccurrenceUsage'], + 'Predicate': ['Function'], + 'Redefinition': ['Subsetting'], + 'ReferenceSubsetting': ['Subsetting'], + 'ReferenceUsage': ['Usage'], + 'Relationship': ['Element'], + 'RenderingDefinition': ['PartDefinition'], + 'RenderingUsage': ['PartUsage'], + 'RequirementConstraintMembership': ['FeatureMembership'], + 'RequirementDefinition': ['ConstraintDefinition'], + 'RequirementUsage': ['ConstraintUsage'], + 'RequirementVerificationMembership': ['RequirementConstraintMembership'], + 'ResultExpressionMembership': ['FeatureMembership'], + 'ReturnParameterMembership': ['ParameterMembership'], + 'SatisfyRequirementUsage': ['RequirementUsage', 'AssertConstraintUsage'], + 'SelectExpression': ['OperatorExpression'], + 'SendActionUsage': ['ActionUsage'], + 'Specialization': ['Relationship'], + 'StakeholderMembership': ['ParameterMembership'], + 'StateDefinition': ['ActionDefinition'], + 'StateSubactionMembership': ['FeatureMembership'], + 'StateUsage': ['ActionUsage'], + 'Step': ['Feature'], + 'Structure': ['Class'], + 'Subclassification': ['Specialization'], + 'SubjectMembership': ['ParameterMembership'], + 'Subsetting': ['Specialization'], + 'Succession': ['Connector'], + 'SuccessionAsUsage': ['ConnectorAsUsage', 'Succession'], + 'SuccessionFlow': ['Succession', 'Flow'], + 'SuccessionFlowUsage': ['SuccessionFlow', 'FlowUsage'], + 'TerminateActionUsage': ['ActionUsage'], + 'TextualRepresentation': ['AnnotatingElement'], + 'TransitionFeatureMembership': ['FeatureMembership'], + 'TransitionUsage': ['ActionUsage'], + 'TriggerInvocationExpression': ['InvocationExpression'], + 'Type': ['Namespace'], + 'TypeFeaturing': ['Relationship'], + 'Unioning': ['Relationship'], + 'Usage': ['Feature'], + 'UseCaseDefinition': ['CaseDefinition'], + 'UseCaseUsage': ['CaseUsage'], + 'VariantMembership': ['OwningMembership'], + 'VerificationCaseDefinition': ['CaseDefinition'], + 'VerificationCaseUsage': ['CaseUsage'], + 'ViewDefinition': ['PartDefinition'], + 'ViewRenderingMembership': ['FeatureMembership'], + 'ViewUsage': ['PartUsage'], + 'ViewpointDefinition': ['RequirementDefinition'], + 'ViewpointUsage': ['RequirementUsage'], + 'WhileLoopActionUsage': ['LoopActionUsage'], +} diff --git a/python/tests/conftest.py b/python/tests/conftest.py new file mode 100644 index 0000000..b2c20d6 --- /dev/null +++ b/python/tests/conftest.py @@ -0,0 +1,107 @@ +"""Make the in-repo package importable without installation.""" + +import os +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) + + +def toolkit_library(): + """Path of the binding library the SysML Toolkit backend would load, or None when it is not + built. + + With SYSML_REQUIRE_TOOLKIT=1 a missing library is an error rather than a reason to skip, so a + run that is meant to exercise the SysML Toolkit cannot pass by skipping it. + """ + from sysml.toolkit import _default_library_path + + path = _default_library_path() + if os.path.exists(path): + return path + if os.environ.get("SYSML_REQUIRE_TOOLKIT") == "1": + raise RuntimeError(f"SYSML_REQUIRE_TOOLKIT=1 but the binding library is not at {path}") + return None + + +ROOT = Path(__file__).resolve().parents[2] +LIBRARY_JSON = ROOT / "examples" / "sysml.library.full.json" + + +def example_json(): + """Whether the generated JSON of the examples is present: the SysML Toolkit's exports of the + example models and the standard library as JSON (python tools/export_example.py). + + With SYSML_REQUIRE_EXAMPLE_JSON=1 missing files are an error rather than a reason to skip. + """ + if LIBRARY_JSON.exists(): + return True + if os.environ.get("SYSML_REQUIRE_EXAMPLE_JSON") == "1": + raise RuntimeError(f"SYSML_REQUIRE_EXAMPLE_JSON=1 but {LIBRARY_JSON} is missing; " + f"run python tools/export_example.py") + return False + + +_library = None + + +def payload_library(): + """The library JSON as a PayloadLibrary, read once per test session.""" + global _library + if _library is None: + import json + + from sysml import PayloadLibrary + + _library = PayloadLibrary(json.loads(LIBRARY_JSON.read_text(encoding="utf-8"))) + return _library + + +# ---------------------------------------------------------------- expected SysML Toolkit refusals + +import pytest # noqa: E402 + +TOOLKIT_REFUSAL = " is not answered by the SysML Toolkit" + + +def _refusal_row(nodeid: str): + from toolkit_gaps import TOOLKIT_REFUSALS + + test = nodeid.split("python/tests/")[-1] + for pattern, row in TOOLKIT_REFUSALS.items(): + if test == pattern or (pattern.endswith("*") and test.startswith(pattern[:-1])): + return row + return None + + +def refused_member(message: str): + """The member a SysML Toolkit refusal names ("type", "Type::inheritedMemberships()" -> the + member "inheritedMemberships()"), or None when the message is not a SysML Toolkit refusal.""" + if TOOLKIT_REFUSAL not in message: + return None + head = message.split(TOOLKIT_REFUSAL)[0].strip() + return head.split("::")[-1] + + +@pytest.hookimpl(hookwrapper=True) +def pytest_runtest_makereport(item, call): + """Apply TOOLKIT_REFUSALS (toolkit_gaps.py): a listed test that stops with exactly its listed + SysML Toolkit refusal is an expected failure; one that passes, or stops otherwise, fails.""" + outcome = yield + report = outcome.get_result() + if report.when != "call": + return + row = _refusal_row(item.nodeid) + if row is None: + return + member, reason = row + from sysml import NotImplementedInToolkit + + if call.excinfo is None: + report.outcome = "failed" + report.longrepr = (f"TOOLKIT_REFUSALS expects the SysML Toolkit to refuse {member} ({reason}), " + f"but the test passed: the SysML Toolkit answers now; remove the row from " + f"toolkit_gaps.py") + elif call.excinfo.errisinstance(NotImplementedInToolkit) and refused_member(str(call.excinfo.value)) == member: + report.outcome = "skipped" + report.wasxfail = f"the SysML Toolkit refuses {member} ({reason})" diff --git a/python/tests/test_annex_a.py b/python/tests/test_annex_a.py new file mode 100644 index 0000000..502ae96 --- /dev/null +++ b/python/tests/test_annex_a.py @@ -0,0 +1,168 @@ +"""Regression test on the specification's own example: the simple vehicle model of SysML Annex A, +read through the SysML Toolkit with the standard library. + +Needs the sysml-toolkit repository beside this one, with its `spec-refs/SysML-v2-Release` checkout, +and the binding library; skips when either is absent. + +Two kinds of assertion: + +- Invariants of the specification, which hold whatever the SysML Toolkit computes: a property + redefined under another name answers what the redefining property answers, a non-owning + Membership owns nothing, an owned element's owning relationship is never answered with a null it + does not have, the operations the SDK answers agree with the derived properties the + specification defines by them, and the operations it cannot answer as specified are refused. +- TOOLKIT_GAPS (toolkit_gaps.py): what the SysML Toolkit does not yet answer as the specification + defines it, each row saying what the SysML Toolkit does not do yet. The totals of reads by + outcome are in it too, so a change that starts answering where the SysML Toolkit had no answer + is noticed. + +The model is loaded under its file name, so element ids are the same on every machine. +""" + +from __future__ import annotations + +import json +from collections import Counter +from pathlib import Path + +import pytest +from conftest import toolkit_library +from toolkit_gaps import TOOLKIT_GAPS, REFUSED + +ROOT = Path(__file__).resolve().parents[2] +RELEASE = ROOT.parent / "sysml-toolkit" / "spec-refs" / "SysML-v2-Release" +MODEL = RELEASE / "sysml" / "src" / "examples" / "Vehicle Example" / "SysML v2 Spec Annex A SimpleVehicleModel.sysml" +LIBRARY = RELEASE / "sysml.library" + +pytestmark = [ + pytest.mark.skipif(toolkit_library() is None, reason="binding library not built (abi/)"), + pytest.mark.skipif(not MODEL.exists(), reason="sysml-toolkit checkout with spec-refs/SysML-v2-Release not beside this repository"), +] + +@pytest.fixture(scope="module") +def model(): + from sysml import Model + + return Model.from_toolkit(sources={MODEL.name: MODEL.read_text(encoding="utf-8")}, library_dir=str(LIBRARY)) + + +@pytest.fixture(scope="module") +def elements(model): + from sysml.base import Element + + return model.elements_of_type(Element) + + +@pytest.fixture(scope="module") +def by_id(elements): + return {e.element_id[:8]: e for e in elements} + + +def _answer(element, member): + from sysml import NotImplementedInToolkit, UnresolvedReference + + try: + if member.endswith("()"): + return getattr(element, member[:-2])() + return getattr(element, member) + except NotImplementedInToolkit: + return REFUSED + except UnresolvedReference: + return "unresolved" + + +def _outcome(element, prop): + v = _answer(element, prop) + if v in (REFUSED, "unresolved"): + return v + return "empty" if v in (None, [], "") else "value" + + +# ---------------------------------------------------------------- invariants + + +def test_a_property_redefined_under_another_name_answers_through_the_redefining_one(elements): + typings = [e for e in elements if type(e).__name__ == "FeatureTyping"] + owning = [e for e in elements if hasattr(type(e), "ownedMemberElement")] + assert typings and owning + assert all(t.general == t.type for t in typings) + for m in owning: + assert m.memberName == m.ownedMemberName, m.element_id + assert m.memberElement == m.ownedMemberElement, m.element_id + + +def test_a_non_owning_membership_owns_nothing_and_keeps_only_its_own_name(elements): + plain = [e for e in elements if type(e).__name__ == "Membership"] + assert len(plain) == 280 + assert all(m.ownedRelatedElement == [] for m in plain) + # The one alias of the model; the others are the memberships through which expressions, + # transitions and use cases refer to elements, which the model does not name. + assert [m.memberName for m in plain if m.memberName is not None] == ["Torque"] + + +def test_an_owning_membership_owns_its_member(elements): + for m in (e for e in elements if hasattr(type(e), "ownedMemberElement")): + assert m.ownedRelatedElement == [m.ownedMemberElement], m.element_id + + +def test_owned_relationships_include_the_implied_ones(model): + from sysml.classes import Subclassification + + vehicle = model.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle") + implied = [r for r in vehicle.ownedRelationship if isinstance(r, Subclassification)] + assert [r.general.qualifiedName for r in implied] == ["Parts::Part"] + + +def test_an_owned_element_never_answers_a_null_owning_relationship_it_does_not_have(elements): + for e in elements: + if e.owner is None: + continue + r = _answer(e, "owningRelationship") + if r is None: # only a relationship its owner lists directly has none + assert hasattr(type(e), "source") and e in e.owner.ownedRelationship, e.element_id + + +def test_the_answered_operations_agree_with_the_derived_properties(elements): + for e in elements: + assert e.effectiveName() == e.name, e.element_id + assert e.effectiveShortName() == e.shortName, e.element_id + + +def test_operations_the_toolkit_answers_differently_are_refused(model): + from sysml import NotImplementedInToolkit + + vehicle = model.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle") + for call in (lambda: vehicle.resolve("mass"), lambda: vehicle.resolveLocal("mass"), + lambda: vehicle.supertypes(False), lambda: vehicle.isCompatibleWith(vehicle), + lambda: vehicle.inheritedMemberships([vehicle], [], False)): + with pytest.raises(NotImplementedInToolkit): + call() + + +def test_the_export_is_the_same_model(model, elements): + exported = {e["@id"] for e in json.loads(model._backend.full_json())} + assert {e.element_id for e in elements} <= exported + + +# ---------------------------------------------------------------- gaps in the SysML Toolkit + + +@pytest.mark.parametrize("key", [k for k in TOOLKIT_GAPS if k[0] != "*"], ids=lambda k: f"{k[0]}.{k[1]}") +def test_toolkit_gap(by_id, key): + prefix, member = key + expected, reason = TOOLKIT_GAPS[key] + got = _answer(by_id[prefix], member) + if isinstance(expected, int) and isinstance(got, list): + got = len(got) + assert got == expected, f"{reason}: now {got!r}; if the SysML Toolkit changed, update TOOLKIT_GAPS" + + +def test_reads_by_outcome(elements): + from sysml.base import P + + counts = Counter() + for e in elements: + for name in sorted({n for c in type(e).__mro__ for n, d in vars(c).items() if isinstance(d, P)}): + counts[_outcome(e, name)] += 1 + expected, reason = TOOLKIT_GAPS[("*", "reads")] + assert dict(counts) == expected, f"{reason}: now {dict(counts)}; if the SysML Toolkit changed, update TOOLKIT_GAPS" diff --git a/python/tests/test_conformance_generated.py b/python/tests/test_conformance_generated.py new file mode 100644 index 0000000..ef16c17 --- /dev/null +++ b/python/tests/test_conformance_generated.py @@ -0,0 +1,117 @@ +"""Generated — do not edit. Source: metamodel.json via tools/gen_conformance.py. + +Anti-drift: TABLE_SHA256 pins the table this file was generated from; +the reflection tests verify the generated Python surface against the +live table. See tools/gen_conformance.py for the mechanism. +""" + +import hashlib +import json +from pathlib import Path + +import pytest + +from sysml import REGISTRY, Model, NotImplementedInToolkit +from sysml import classes as C +from sysml.base import Element, Op, P + +TABLE_SHA256 = "17644f3a5d70189d76b5ecb95c2089aeda1f93b6705f8bce5eeae1faf023758b" +_RAW = (Path(__file__).resolve().parents[2] / "metamodel.json").read_bytes() +MM = json.loads(_RAW)["classes"] + +# names the Python generator skips (mirror of tools/gen_classes.py) +_SKIP = {"import", "class", "def", "return", "in", "for", "if", "else"} + + +def _props(name): + for p, meta in MM[name]["props"].items(): + if p not in _SKIP and p.isidentifier(): + yield p, meta + + +def _ancestors(name, acc=None): + acc = set() if acc is None else acc + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + _ancestors(b, acc) + return acc + + +def _flat_ops(name): + """Every operation name `name` declares or inherits.""" + return {op["name"] for c in {name} | _ancestors(name) for op in MM[c]["ops"]} + + +# an operation that shares its name with a property of a class that has both +_COLLIDING = {o for n in MM for o in _flat_ops(n) if o in MM[n]["props"]} + + +def _member(o): + return o + "_op" if o in _COLLIDING else o + + +def _ops(name): + """(spec name, member name, parameter names) of the operations `name` itself declares.""" + for op in MM[name]["ops"]: + o = op["name"] + if o and o.isidentifier(): + yield o, _member(o), op["params"] + + +CLASSES = sorted(n for n in MM if n != "Element") +CONCRETE = [n for n in CLASSES if not MM[n]["abstract"]] +MODEL = Model.from_full_json([{"@id": f"e-{n}", "@type": n} for n in CONCRETE]) + + +def test_table_digest_matches_generated_harness(): + assert hashlib.sha256(_RAW).hexdigest() == TABLE_SHA256, ( + "metamodel.json changed since this harness was generated; " + "rerun tools/gen_conformance.py" + ) + + +def test_registry_is_exactly_the_concrete_classes(): + assert sorted(REGISTRY) == CONCRETE + + +@pytest.mark.parametrize("name", CLASSES) +def test_class_matches_table(name): + klass = getattr(C, name) + info = MM[name] + if not info["abstract"]: + assert REGISTRY[name] is klass + for b in info["bases"]: + base = Element if b == "Element" else getattr(C, b) + assert issubclass(klass, base), f"{name} !< {b}" + own = vars(klass) + for p, meta in _props(name): + d = own.get(p) + assert isinstance(d, P), f"{name}.{p}: descriptor missing" + assert (d.shape, d.derived) == (meta["shape"], meta["derived"]), ( + f"{name}.{p}: metadata drift" + ) + for o, m, params in _ops(name): + assert isinstance(own.get(m), Op), f"{name}.{m}: op stub missing" + assert own[m].name == o, f"{name}.{m}: names {own[m].name}" + assert own[m].params == params, f"{name}.{m}: parameters {own[m].params}" + + +def test_element_operations_on_the_runtime_base(): + for o, m, _params in _ops("Element"): + assert isinstance(vars(Element).get(m), Op), f"Element.{m}: op stub missing" + + +@pytest.mark.parametrize("name", CONCRETE) +def test_runtime_honors_table(name): + w = MODEL.element(f"e-{name}") + assert type(w) is REGISTRY[name] + assert w.metaclass_name == name + for anc in _ancestors(name): + base = Element if anc == "Element" else getattr(C, anc) + assert isinstance(w, base), f"{name} not instance of {anc}" + for p, _meta in _props(name): + getattr(w, p) # a property read never second-guesses the backend + for o in sorted(_flat_ops(name)): + with pytest.raises(NotImplementedInToolkit): + getattr(w, _member(o))() diff --git a/python/tests/test_names.py b/python/tests/test_names.py new file mode 100644 index 0000000..cc13365 --- /dev/null +++ b/python/tests/test_names.py @@ -0,0 +1,61 @@ +"""The names users type to install or import the SDK agree everywhere they are declared. + +`tools/naming.py` holds them (NAMES) and `tools/rename.py` changes them; this checks the files the +package managers and the build read. +""" + +import json +import re +import sys +from pathlib import Path + +import pytest + +ROOT = Path(__file__).resolve().parents[2] +sys.path.insert(0, str(ROOT / "tools")) + +import naming # noqa: E402 + +tomllib = pytest.importorskip("tomllib") + + +def test_python_distribution_and_module(): + project = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8")) + assert project["project"]["name"] == naming.S["python_dist"] + assert project["tool"]["setuptools"]["packages"] == [naming.PYTHON_MODULE] + assert (ROOT / "python" / naming.PYTHON_MODULE / "__init__.py").is_file() + + +def test_npm_package(): + package = json.loads((ROOT / "ts" / "package.json").read_text(encoding="utf-8")) + assert package["name"] == naming.NPM_PACKAGE + + +def test_java_package_and_csharp_projects(): + assert (naming.JAVA_SRC / "Model.java").is_file() + assert (naming.CS_PROJECT / f"{naming.CS_NAMESPACE}.csproj").is_file() + assert (naming.CS_CHECKS_PROJECT / f"{naming.CS_NAMESPACE}.Checks.csproj").is_file() + + +def test_csharp_names_the_whole_namespace(): + # A type named by the namespace's last segment (`SysML.Type` inside OpenMBEE.SysML.Checks) + # compiles only while the namespace ends in that segment; rename.py rewrites whole namespaces, so C# code names the + # whole one (or a using alias of it), in the sources and in the documentation's examples. + if "." not in naming.CS_NAMESPACE: + return + last = re.escape(naming.CS_NAMESPACE.rsplit(".", 1)[1]) + partial = re.compile(rf"(? rotors.motor (flow powerFeed of Power)", + "controller -> rotors.motor (flow commands of Command)", + "rotors.motor -- rotors.propeller (connection drive)", + ] + + +@pytest.mark.parametrize("source, item, reached", [ + ("battery", None, ["controller", "rotors.motor", "rotors.propeller"]), + ("battery", "Power", ["rotors.motor"]), + ("controller", None, ["battery", "rotors.motor", "rotors.propeller"]), # a connection goes both ways + ("rotors.propeller", None, ["rotors.motor"]), # a flow goes one way +]) +def test_reachable_parts(drones, source, item, reached): + assert q.reachable_parts(drones.resolve("Drones::Quadcopter"), source, item=item) == reached + + +def test_links_are_inherited(drones): + assert len(q.links(drones.resolve("Drones::CargoHexacopter"))) == 4 + + +# ---------------------------------------------------------------- requirements + +def test_requirements(drones): + mass, cost = drones.resolve("Drones::Component::mass"), drones.resolve("Drones::Component::cost") + verdicts = q.check_satisfactions(drones, {"totalMass": lambda p: q.rollup(p, mass), + "totalCost": lambda p: q.rollup(p, cost)}) + assert [(q.name_of(v.requirement), q.name_of(v.satisfied_by), q.name_of(v.constraint), v.outcome) + for v in verdicts] == [ + ("scoutMass", "scout", "massBound", "holds"), + ("haulerMass", "hauler", "massBound", "holds"), + ("haulerCost", "hauler", "costBound", "VIOLATED"), + ] + assert verdicts[0].operands == [pytest.approx(0.595), 0.6] + assert verdicts[2].operands == [pytest.approx(185.0), 150.0] + + +# ---------------------------------------------------------------- the report + +def run_demo(*args: str) -> str: + out = subprocess.run([sys.executable, str(EXAMPLE / "python" / "demo.py"), *args], + capture_output=True, text=True, encoding="utf-8", check=True).stdout + return out.replace("\r\n", "\n") + + +def expected(name: str) -> str: + return (EXAMPLE / "expected" / name).read_text(encoding="utf-8") + + +def check_toolkit_report(expected_name: str, *args: str) -> None: + """The demo's report through the SysML Toolkit, compared by tools/compare_report.py: every + report equals the expected one, or stops at the SysML Toolkit refusal TOOLKIT_REPORT_REFUSALS + (toolkit_gaps.py) lists for it, having printed what the expected report has up to there. + Reports stopped that way make the test an expected failure.""" + sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "tools")) + from compare_report import check + + problems, stopped = check(run_demo(*args), EXAMPLE / "expected" / expected_name) + assert not problems, "\n".join(problems) + if stopped: + pytest.xfail("; ".join(stopped)) + + +@needs_json +def test_report_from_payload(): + assert run_demo("--payload") == expected("report.txt") + + +@needs_toolkit +def test_report_from_toolkit(): + check_toolkit_report("report.txt") + + +@needs_toolkit +@pytest.mark.skipif(not ANNEX_A.exists(), reason="sysml-toolkit checkout with spec-refs/SysML-v2-Release not beside this repository") +def test_report_on_annex_a(): + check_toolkit_report("annex-a.txt", "--annex-a", str(ANNEX_A), "--library", str(RELEASE / "sysml.library")) + + +# ---------------------------------------------------------------- multiplicities + +def test_multiplicity_rules(drones): + rotors = drones.resolve("Drones::Multicopter::rotors") + assert q.multiplicity_of(rotors) is rotors.multiplicity # declared: [rotorCount] + assert q.multiplicity_of(drones.resolve("Drones::Multicopter::airframe")) is q.DEFAULT_ONE + battery = next(f for f in drones.resolve("Drones::Quadcopter").ownedFeature if q.name_of(f) == "battery") + # A redefinition without a multiplicity takes that of the usage it redefines: here the default. + assert q.explicit_subsettings(battery) == [drones.resolve("Drones::Multicopter::battery")] + assert q.multiplicity_of(battery) is q.DEFAULT_ONE + assert q.instance_count(rotors, drones.resolve("Drones::Hexacopter")) == 6 + with pytest.raises(q.QueryError): # the general multicopter leaves the number of rotors open + q.instance_count(rotors, drones.resolve("Drones::Multicopter")) diff --git a/python/tests/test_runtime.py b/python/tests/test_runtime.py new file mode 100644 index 0000000..d37f0f8 --- /dev/null +++ b/python/tests/test_runtime.py @@ -0,0 +1,233 @@ +"""Hand-written unit tests for the runtime (sysml/base.py). + +Conformance of the generated surface against metamodel.json lives in +test_conformance_generated.py; this file covers runtime semantics the +table cannot express: identity, wrapping, read passthrough, and the +collision rule. +""" + +import pytest + +import sysml as f +from sysml.base import Element, P + + +PAYLOAD = [ + {"@id": "pkg", "@type": "Package", "qualifiedName": "P", + "declaredName": "P", "ownedMember": [{"@id": "part"}]}, + {"@id": "part", "@type": "PartUsage", "qualifiedName": "P::x", + "declaredName": "x", "owner": {"@id": "pkg"}, + "ownedRelationship": [{"@ref": "Base::things"}]}, + {"@id": "part2", "@type": "PartUsage", "qualifiedName": "P::y", + "declaredName": "y", "owner": {"@id": "pkg"}, + "ownedRelationship": [{"@id": "nowhere"}]}, + {"@id": "mu", "@type": "MetadataUsage", "qualifiedName": "P::meta", + "owner": {"@id": "pkg"}, "metaclass": None}, + {"@id": "mc", "@type": "Metaclass", "qualifiedName": "P::Safety", + "owner": {"@id": "pkg"}}, + {"@id": "mu2", "@type": "MetadataUsage", "qualifiedName": "P::meta2", + "owner": {"@id": "pkg"}, "metaclass": {"@id": "mc"}}, + {"@id": "alien", "@type": "NotARealMetaclass", "qualifiedName": "P::alien", + "owner": {"@id": "pkg"}}, + # the SysML Toolkit serializes memberships ownerless (owner: null) — roots + # must not report them (as in data/bigger.full.json; see Model.roots) + {"@id": "om", "@type": "OwningMembership", "owner": None}, +] + + +@pytest.fixture() +def model(): + return f.Model.from_full_json(PAYLOAD) + + +# --- identity --------------------------------------------------------------- + +def test_wrappers_are_cached_and_equal_by_id(model): + a = model.element("part") + b = model.resolve("P::x") + assert a is b + assert a == b and hash(a) == hash(b) + + +def test_equality_is_model_scoped(model): + other = f.Model.from_full_json(PAYLOAD) + assert model.element("part") != other.element("part") + + +def test_repr_prefers_qualified_name(model): + assert repr(model.element("part")) == "" + + +def test_gone_on_unknown_id(model): + with pytest.raises(f.Gone): + model.element("no-such-id") + + +# --- wrapping --------------------------------------------------------------- + +def test_id_refs_wrap_to_typed_elements(model): + part = model.element("part") + assert type(part.owner).__name__ == "Package" + assert part.owner == model.element("pkg") + + +def test_unresolved_ref_spelling_raises(model): + # SysML Toolkit @ref passthrough: typed navigation refuses unresolved models + with pytest.raises(f.UnresolvedReference) as ei: + model.element("part").ownedRelationship + assert "Base::things" in str(ei.value) and "PartUsage.ownedRelationship" in str(ei.value) + + +def test_dangling_id_ref_raises(model): + with pytest.raises(f.UnresolvedReference) as ei: + model.element("part2").ownedRelationship + assert "nowhere" in str(ei.value) + + +def test_get_raw_still_exposes_unresolved(model): + # forensics path: raw value untouched + assert model.element("part").get_raw("ownedRelationship") == [ + {"@ref": "Base::things"}] + + +def test_unknown_metaclass_falls_back_to_base_element(model): + alien = model.element("alien") + assert type(alien) is Element + assert alien.metaclass_name == "NotARealMetaclass" # backend-routed + + +# --- read passthrough ------------------------------------------------------- +# The SDK never second-guesses a backend result. +# An unimplemented derivation is reported by the SysML Toolkit, not inferred here. + +def test_unimplemented_derivation_returns_the_backend_value(model): + assert model.element("pkg").isLibraryElement is None + + +def test_absent_array_property_normalizes_to_empty(model): + assert model.element("part").ownedMember == [] + + +def test_derived_property_with_a_value_is_wrapped(model): + assert model.element("mu2").metaclass == model.element("mc") + + +def test_get_raw_returns_the_unwrapped_value(model): + assert model.element("pkg").get_raw("isLibraryElement") is None + + +def test_assignment_raises_readonly(model): + with pytest.raises(f.ReadOnly): + model.element("part").declaredName = "y" + + +def test_operation_stub_raises(model): + with pytest.raises(f.NotImplementedInToolkit): + model.element("pkg").visibleMemberships(None, False, False) + + +# --- collision rule --------------------------------------------------------- + +def test_metadata_metaclass_is_the_spec_property(model): + mu = model.element("mu") + assert mu.metaclass_name == "MetadataUsage" # runtime accessor + assert mu.metaclass is None # spec property: backend value (null here) + assert isinstance(type(mu).metaclass, P) # class access -> descriptor + + +def test_runtime_members_all_contain_underscore(): + """Runtime members carry an underscore so no spec name can shadow them. Spec + operations of Element itself are attached to the runtime base by the generator + and are descriptors, not runtime members, so they are excluded.""" + from sysml.base import Op, P + + public = [n for n in dir(Element) if not n.startswith("_") + and not isinstance(getattr(Element, n), (Op, P))] + assert public and all("_" in n for n in public) + + +# --- model queries ---------------------------------------------------------- + +def test_roots(model): + assert model.roots == [model.element("pkg")] + + +def test_all_is_every_element(model): + assert model.all() == model.elements_of_type(Element) + assert model.element("pkg") in model.all() + + +def test_elements_of_type_exact_vs_subtype(model): + from sysml.classes import Usage + + exact = model.elements_of_type("PartUsage", exact=True) + assert [w.element_id for w in exact] == ["part", "part2"] + assert {w.element_id for w in model.elements_of_type(Usage)} == { + "part", "part2", "mu", "mu2"} + + +def test_resolve_miss_returns_none(model): + assert model.resolve("No::Such::Name") is None + + +def test_payload_elements_come_in_document_order(): + """An id given twice keeps its first place and its last element, in every language.""" + m = f.Model.from_full_json([ + {"@id": "z", "@type": "Package", "declaredName": "first"}, + {"@id": "a", "@type": "Package", "declaredName": "A"}, + {"@id": "z", "@type": "Package", "declaredName": "second"}, + ]) + assert [e.element_id for e in m.elements_of_type(Element)] == ["z", "a"] + assert m.element("z").declaredName == "second" + + +# --- a payload model with a library ------------------------------------------ + +LIBRARY = [ + {"@id": "lib", "@type": "LibraryPackage", "qualifiedName": "ScalarValues", "isLibraryElement": True}, + {"@id": "real", "@type": "DataType", "qualifiedName": "ScalarValues::Real", "declaredName": "Real", + "owner": {"@id": "lib"}, "isLibraryElement": True}, + # an id the model also has: the model's element wins + {"@id": "clash", "@type": "Package", "declaredName": "from the library"}, + # a qualified name the model also has: the model's element wins + {"@id": "libP", "@type": "Package", "qualifiedName": "P"}, +] +WITH_LIBRARY = [ + {"@id": "pkg", "@type": "Package", "qualifiedName": "P", "declaredName": "P"}, + {"@id": "mass", "@type": "AttributeUsage", "qualifiedName": "P::mass", "owner": {"@id": "pkg"}, + "type": [{"@id": "real"}], "definition": [{"@id": "gone"}]}, + {"@id": "clash", "@type": "Package", "declaredName": "from the model"}, +] + + +def test_library_resolves_references_the_model_does_not_hold(): + m = f.Model.from_full_json(WITH_LIBRARY, library=f.PayloadLibrary(LIBRARY)) + real = m.element("mass").type[0] + assert real.declaredName == "Real" and real.isLibraryElement is True + assert real.owner.qualifiedName == "ScalarValues" + assert m.resolve("ScalarValues::Real") == real + + +def test_library_elements_are_not_the_models(): + m = f.Model.from_full_json(WITH_LIBRARY, library=f.PayloadLibrary(LIBRARY)) + assert [e.element_id for e in m.elements_of_type(Element)] == ["pkg", "mass", "clash"] + assert [e.element_id for e in m.roots] == ["pkg", "clash"] + + +def test_the_model_wins_over_the_library(): + m = f.Model.from_full_json(WITH_LIBRARY, library=f.PayloadLibrary(LIBRARY)) + assert m.element("clash").declaredName == "from the model" + assert m.resolve("P").element_id == "pkg" + + +def test_a_reference_in_neither_still_raises(): + m = f.Model.from_full_json(WITH_LIBRARY, library=f.PayloadLibrary(LIBRARY)) + with pytest.raises(f.UnresolvedReference): + m.element("mass").definition + + +def test_without_the_library_its_references_do_not_resolve(): + m = f.Model.from_full_json(WITH_LIBRARY) + with pytest.raises(f.UnresolvedReference): + m.element("mass").type + assert m.resolve("ScalarValues::Real") is None diff --git a/python/tests/test_toolkit_backend.py b/python/tests/test_toolkit_backend.py new file mode 100644 index 0000000..a5a81a5 --- /dev/null +++ b/python/tests/test_toolkit_backend.py @@ -0,0 +1,153 @@ +"""The Python SDK reading directly from the SysML Toolkit through the binding library. + +Skips when the library is not built (it needs a sibling sysml-toolkit checkout and cargo). +""" + +from __future__ import annotations + +import os +from pathlib import Path + +import pytest +from conftest import toolkit_library + +ROOT = Path(__file__).resolve().parents[2] +MODEL = ROOT.parent / "sysml-shell" / "models" / "example_model.sysml" + +pytestmark = pytest.mark.skipif(toolkit_library() is None, reason="binding library not built (abi/)") + + +@pytest.fixture(scope="module") +def model(): + from sysml.base import Model + from sysml.toolkit import ToolkitBackend + + src = {"inline.sysml": "package Demo { part def Wheel; part def Car { part wheels : Wheel[4]; attribute mass : Real; } }"} + be = ToolkitBackend.open(sources=src) + yield Model(be) + be.close() + + +def test_roots_and_names(model): + from sysml.classes import Namespace, Package + + roots = model.roots + assert roots and all(isinstance(r, Namespace) for r in roots) + pkgs = [m for r in roots for m in r.ownedMember if isinstance(m, Package)] + assert [p.declaredName for p in pkgs] == ["Demo"] + + +def test_ownership_spine(model): + from sysml.classes import PartDefinition, PartUsage + + car = model.resolve("Demo::Car") + assert isinstance(car, PartDefinition) + assert car.qualifiedName == "Demo::Car" + assert car.owner.declaredName == "Demo" + feats = car.ownedFeature + assert [f.declaredName for f in feats] == ["wheels", "mass"] + wheels = feats[0] + assert isinstance(wheels, PartUsage) + assert wheels.isComposite is True + assert [t.declaredName for t in wheels.type] == ["Wheel"] + + +def test_identity_and_caching(model): + car = model.resolve("Demo::Car") + again = model.resolve("Demo::Car") + assert car is again + assert car.element_id == again.element_id and len(car.element_id) == 36 + + +def test_unimplemented_member_raises(model): + from sysml.base import NotImplementedInToolkit + + car = model.resolve("Demo::Car") + wheels = car.ownedFeature[0] + with pytest.raises(NotImplementedInToolkit) as ei: + _ = wheels.mayTimeVary + assert "mayTimeVary" in str(ei.value) + + +def test_an_element_argument_must_be_an_element(model): + # The binding library has no "no element"; a missing one must not become some other element. + car = model.resolve("Demo::Car") + with pytest.raises(TypeError, match="must be an element"): + car.specializes(None) + with pytest.raises(TypeError, match="must be an element"): + car.inheritedMemberships([None], [], False) + + +def test_not_applicable_is_absent(model): + pkg = model.resolve("Demo") + assert pkg.get_raw("isComposite") is None + + +def test_digest_guard_message(): + from sysml import toolkit_table + + assert len(toolkit_table.NAMES_DIGEST) == 64 + + +@pytest.mark.skipif(not MODEL.exists(), reason="shell example model not beside this repo") +def test_loads_a_file(model): + from sysml.base import Model + from sysml.toolkit import ToolkitBackend + + be = ToolkitBackend.open([str(MODEL)]) + try: + m = Model(be) + assert m.roots + finally: + be.close() + + +def test_paths_may_be_path_objects(tmp_path): + from sysml import Model + + (tmp_path / "lib").mkdir() + (tmp_path / "lib" / "Base.sysml").write_text("package Base { part def Thing; }", encoding="utf-8") + (tmp_path / "model.sysml").write_text("package M { part def Car :> Base::Thing; }", encoding="utf-8") + m = Model.from_toolkit(tmp_path / "model.sysml", library_dir=tmp_path / "lib") + assert m.resolve("M::Car").qualifiedName == "M::Car" + assert m.resolve("Base::Thing").qualifiedName == "Base::Thing" + + +def test_a_missing_path_is_named(tmp_path): + from sysml import Model + + with pytest.raises(FileNotFoundError, match="model file not found.*absent.sysml"): + Model.from_toolkit(tmp_path / "absent.sysml") + (tmp_path / "model.sysml").write_text("package M;", encoding="utf-8") + with pytest.raises(FileNotFoundError, match="library directory not found.*nolib"): + Model.from_toolkit(tmp_path / "model.sysml", library_dir=tmp_path / "nolib") + + +@pytest.fixture(scope="module") +def sizes(): + from sysml import Model + + source = ("package Sizes { doc /* Größe und Wärme */ " + "requirement def Light { doc /* Keep it light. */ } part def Last; }") + return Model.from_toolkit(sources={"größe.sysml": source}) + + +def test_text_beyond_ascii(sizes): + from sysml.classes import PartDefinition + + assert isinstance(sizes.resolve("Sizes::Last"), PartDefinition) # the source arrived whole + assert "Größe und Wärme" in sizes.resolve("Sizes").documentation[0].body + + +def test_a_list_of_strings_is_a_list(sizes): + light = sizes.resolve("Sizes::Light") + assert isinstance(light.text, list) and len(light.text) == 1 + assert light.text[0].startswith("Keep it light.") + assert light.get_raw("text") == light.text # the name-based read decodes it too + + +def test_members_of_element_on_the_runtime_base(sizes): + from sysml import Element + + assert "name" in vars(Element) and "owner" in vars(Element) # declared on the base itself + assert sizes.resolve("Sizes::Light").owner.name == "Sizes" diff --git a/python/tests/test_toolkit_vs_payload.py b/python/tests/test_toolkit_vs_payload.py new file mode 100644 index 0000000..453af81 --- /dev/null +++ b/python/tests/test_toolkit_vs_payload.py @@ -0,0 +1,159 @@ +"""Differential test: the same model through the SysML Toolkit backend and through the +SysML Toolkit's own closure-level full-form JSON export read by the payload backend. Every property +of every element must agree, except where the export writes something the SysML Toolkit does not +hold (EXPORT_DIFFERENCES in toolkit_gaps.py, each with its reason). + +Disagreements are findings in the SysML Toolkit, never the model's fault: either the +SysML Toolkit's answer or its emitter is wrong, and the failure message names the member so it can +be reported. + +Skips when the binding library is not built. +""" + +from __future__ import annotations + +import json + +import pytest +from conftest import toolkit_library +from toolkit_gaps import EXPORT_DIFFERENCES + +pytestmark = pytest.mark.skipif(toolkit_library() is None, reason="binding library not built (abi/)") + +SOURCE = """ +package Vehicles { + part def Wheel { attribute radius : Real; } + part def Engine; + part def Car { + part wheels : Wheel[4]; + part engine : Engine; + attribute mass : Real; + port fuelPort; + } + part def SportsCar :> Car { part spoiler; } + part myCar : SportsCar; +} +""" + + +@pytest.fixture(scope="module") +def pair(): + from sysml.base import Model + from sysml.toolkit import ToolkitBackend + + be = ToolkitBackend.open(sources={"vehicles.sysml": SOURCE}) + toolkit = Model(be) + payload = Model.from_full_json(json.loads(be.full_json())) + yield toolkit, payload + be.close() + + +def _norm(v): + if isinstance(v, list): + return sorted(_norm(x) for x in v) + if hasattr(v, "element_id"): + return v.element_id + return v + + +def _read(element, prop): + from sysml import NotImplementedInToolkit, UnresolvedReference + + try: + return "value", _norm(getattr(element, prop)) + except NotImplementedInToolkit: + return "refused", None + except UnresolvedReference: + return "unresolved", None + + +def test_every_property_agrees_with_the_closure_level_export(pair): + from sysml.base import Element, P + + toolkit, payload = pair + by_id = {e.element_id: e for e in payload.elements_of_type(Element)} + disagreements, compared, observed, answered = [], 0, set(), set() + for k in toolkit.elements_of_type(Element): + p = by_id.get(k.element_id) + assert p is not None, f"SysML Toolkit element {k.element_id} ({type(k).__name__}) missing from its own JSON export" + assert type(p).__name__ == type(k).__name__, f"metaclass differs for {k.element_id}" + for m in sorted({n for c in type(k).__mro__ for n, d in vars(c).items() if isinstance(d, P)}): + kv = _read(k, m) + if kv[0] == "refused": + continue # the SysML Toolkit says it has no answer; the export's fill-in is listed in EXPORT_DIFFERENCES + pv = _read(p, m) + compared += 1 + answered.add(m) + if kv != pv: + if m in EXPORT_DIFFERENCES: + observed.add(m) + continue + disagreements.append( + f"{type(k).__name__}({k.qualifiedName or k.element_id}).{m}: toolkit={kv!r} payload={pv!r}" + ) + assert compared > 1500, "the model is too small to mean anything" + assert not disagreements, "NEW findings in the SysML Toolkit, report them:\n " + "\n ".join(disagreements) + # A known difference is gone only where the SysML Toolkit answered the property and agreed; + # where it refuses the property everywhere, there is nothing to compare. + healed = (set(EXPORT_DIFFERENCES) & answered) - observed + assert not healed, ( + "these known differences no longer show; the SysML Toolkit may have fixed them, " + f"remove them from EXPORT_DIFFERENCES: {sorted(healed)}" + ) + + +def test_the_owned_side_export_leaves_the_closures_empty(pair): + from sysml.base import Model + + toolkit, _ = pair + owned = Model.from_full_json(json.loads(toolkit._backend.full_json(closures=False))) + sports = owned.resolve("Vehicles::SportsCar") + assert sports.inheritedFeature == [] + assert [f.declaredName for f in toolkit.resolve("Vehicles::SportsCar").inheritedFeature] == [ + "wheels", "engine", "mass", "fuelPort"] + + +def test_operations_the_toolkit_answers(pair): + from sysml.base import NotImplementedInToolkit + + toolkit, _ = pair + car = toolkit.resolve("Vehicles::Car") + sports = toolkit.resolve("Vehicles::SportsCar") + # The specification defines the derived names as these operations. + assert car.effectiveName() == car.name == "Car" + assert car.effectiveShortName() is None + # Inherited memberships are Membership relationships; memberName on an OwningMembership is + # its ownedMemberName, which it redefines. + inherited = sports.inheritedMemberships([], [], False) + assert all(m.metaclass_name.endswith("Membership") for m in inherited) + names = sorted(m.memberName for m in inherited) + assert "wheels" in names and "engine" in names + # The SysML Toolkit does not take the excluded lists: a non-empty one is refused, never + # ignored. + with pytest.raises(NotImplementedInToolkit): + sports.inheritedMemberships([car], [], False) + + +def test_operations_the_toolkit_answers_differently_are_refused(pair): + from sysml.base import NotImplementedInToolkit + + toolkit, _ = pair + car = toolkit.resolve("Vehicles::Car") + sports = toolkit.resolve("Vehicles::SportsCar") + for name, call in [ + ("isCompatibleWith", lambda: sports.isCompatibleWith(car)), + ("supertypes", lambda: sports.supertypes(False)), + ("resolve", lambda: car.resolve("wheels")), + ("resolveLocal", lambda: car.resolveLocal("wheels")), + ]: + with pytest.raises(NotImplementedInToolkit, match=name): + call() + + +def test_operations_refuse_on_payload(pair): + from sysml.base import NotImplementedInToolkit + + _, payload = pair + car = payload.resolve("Vehicles::Car") + with pytest.raises(NotImplementedInToolkit): + car.effectiveName() diff --git a/python/tests/toolkit_gaps.py b/python/tests/toolkit_gaps.py new file mode 100644 index 0000000..07547c3 --- /dev/null +++ b/python/tests/toolkit_gaps.py @@ -0,0 +1,82 @@ +"""What the pinned SysML Toolkit release does not yet answer as the specification defines it. + +This module is the only place a test records a gap in the SysML Toolkit; every row says what the +SysML Toolkit does not do yet. When the SysML Toolkit pin moves, rows that change are expected: +update them here (see abi/README.md, "Moving to a newer SysML Toolkit release"). Tests that meet a +gap not listed here fail, and so do tests whose listed gap no longer shows, so a change in the +SysML Toolkit is always noticed. +""" + +REFUSED = "refused" # the read raises NotImplementedInToolkit + +# The specification's Annex A model with the standard library (test_annex_a.py). +# (element id prefix, member) -> (expected answer, why). A member is a +# property; a member ending in "()" is an operation called without arguments. +TOOLKIT_GAPS = { + ("7ed4db60", "connectorEnd"): (REFUSED, "connector ends wait on the implied end redefinitions"), + ("be8ea388", "isVariable"): (REFUSED, "redefined by mayTimeVary, whose variability evidence is incomplete"), + # Reads of every property of every user element, by outcome. + ("*", "reads"): ({"value": 134104, "empty": 182917, "refused": 46479, "unresolved": 83}, + "the properties the SysML Toolkit's checked reader does not answer yet"), +} + +# Tests of what the SDK should answer that meet a SysML Toolkit refusal first: test id (relative +# to python/tests; a trailing * matches every parametrization) -> (the refused member, why). +# Such a test is reported as an expected failure (xfail) when it stops with exactly that +# refusal. It fails when it passes (the SysML Toolkit answers now: remove the row), and when it +# stops on anything else (conftest.py applies this table). +TOOLKIT_REFUSALS = { + "test_annex_a.py::test_the_answered_operations_agree_with_the_derived_properties": + ("effectiveName()", "incomplete evidence for Feature::effectiveName"), + "test_toolkit_backend.py::test_ownership_spine": ("type", "the type projection waits on implied relationships"), + "test_toolkit_vs_payload.py::test_the_owned_side_export_leaves_the_closures_empty": + ("inheritedFeature", "inherited features wait on implied relationships"), + "test_toolkit_vs_payload.py::test_operations_the_toolkit_answers": + ("inheritedMemberships()", "incomplete evidence for Type::inheritedMemberships"), + "test_queries.py::test_reachable_states[toolkit-*": ("targetFeature", "connector ends"), + "test_queries.py::test_shortest_trigger_sequences[toolkit]": ("targetFeature", "connector ends"), + "test_queries.py::test_initial_states[toolkit]": ("targetFeature", "connector ends"), + "test_queries.py::test_guards_in_three_valued_logic[toolkit]": ("argument", "invocation arguments"), + "test_queries.py::test_bill_of_materials_and_rollups[toolkit-*": ("usage", "inherited features"), + "test_queries.py::test_links[toolkit]": ("usage", "inherited features"), + "test_queries.py::test_reachable_parts[toolkit-*": ("usage", "inherited features"), + "test_queries.py::test_links_are_inherited[toolkit]": ("usage", "inherited features"), + "test_queries.py::test_requirements[toolkit]": ("satisfyingFeature", "requirement parameters"), + "test_queries.py::test_multiplicity_rules[toolkit]": ("feature", "inherited features"), +} + +# The query reports through the SysML Toolkit (examples/queries/expected), compared by +# tools/compare_report.py: expected report -> {section heading: (the member the SysML Toolkit +# refuses in that report, why)}, or a list of such pairs where the report stops at a different read +# depending on how the model was loaded: with the standard library the SysML Toolkit answers more, +# so a report can stop later. A report the SysML Toolkit stops must equal the expected one up to +# its refusal; a listed report that completes fails. +TOOLKIT_REPORT_REFUSALS = { + "report.txt": { + "Reachable states: Pumps::PumpController::modes": ("targetFeature", "connector ends"), + "Structure: bills of materials and roll-ups": ("usage", "inherited features"), + "Connectivity: Drones::Quadcopter": [ + ("usage", "inherited features"), + ("sourceFeature", "connector ends, where the usages are answered with the standard library"), + ], + "Requirements": ("satisfyingFeature", "requirement parameters"), + }, + "annex-a.txt": { + "Reachable states: SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates": + ("payloadParameter", "accept action parameters"), + }, +} + +# The small model of test_toolkit_vs_payload.py, read through the SysML Toolkit and through the +# SysML Toolkit's own closure-level export: the properties whose answers differ, and why. +_DEFAULT_AS_NULL = ("the export writes null for this [1] property at its default; the SysML Toolkit answers " + "the default") +EXPORT_DIFFERENCES = { + "result": "the export writes the result parameter an expression inherits from the library (a literal's is " + "LiteralIntegerEvaluation::result, for instance), where the SysML Toolkit refuses result", + "ownedRelationship": "the export invents elements to carry the unresolved reference to Real", + "ownedElement": "as ownedRelationship", + "textualRepresentation": "as ownedRelationship", + **{name: _DEFAULT_AS_NULL for name in ( + "isVariable", "mayTimeVary")}, +} diff --git a/skills/sysml-sdk-cpp/SKILL.md b/skills/sysml-sdk-cpp/SKILL.md new file mode 100644 index 0000000..22872b3 --- /dev/null +++ b/skills/sysml-sdk-cpp/SKILL.md @@ -0,0 +1,640 @@ +--- +name: sysml-sdk-cpp +description: Writes C++17 code that reads, navigates and queries SysML v2 and KerML models with the header-only sysml SDK (namespace sysml, ), through the OpenMBEE SysML Toolkit (a native binding library loaded at run time) or from a full-form interchange JSON payload. Use when a task involves loading .sysml/.kerml files or SysML v2 JSON in C++, walking parts, features, states, connections or requirements, evaluating a model's expressions, or answering questions about a SysML v2 model with code. +--- + +# SysML v2 SDK for C++ + +The SDK is the OMG metamodel as C++ structs: every KerML and SysML metaclass, property and +operation, under its specification name, with the metaclass hierarchy as virtual inheritance over +one runtime `Element`. Header-only, C++17, JSON through the bundled nlohmann/json. A model comes from +one of two backends: + +- **the SysML Toolkit**, through its native binding library, loaded at run time: reads SysML text, + resolves names, computes derived properties and evaluates operations, and refuses what it cannot + derive completely; +- **a payload**: a full-form interchange JSON export from any SysML v2 tool. + +The SDK never guesses. A member the SysML Toolkit does not answer throws +`not_implemented_in_toolkit` with the reason the SysML Toolkit gives; a reference that does not +resolve throws `unresolved_reference`. Never catch these to substitute a made-up value; read +around them as described below, or report them. + +## Setup + +```sh +g++ -std=c++17 -I sysml-sdk-cpp-0.1.0/include main.cpp -o main # add -ldl on Linux, -static with MinGW +``` + +- The package `sysml-sdk-cpp-0.1.0.zip` has `include/` with `sysml/` and `nlohmann/`. +- For the SysML Toolkit, the archive's `lib//` holds the binding library for Windows x64, + Linux x64, and macOS on Apple silicon and on Intel: copy the one for your platform beside your + executable, where `ToolkitBackend::open` finds it. To load it from elsewhere, set `SYSMLV2_ABI` to + it, or name it in code: pass `std::make_shared(path)` as the last + argument of `ToolkitBackend::open`. +- The release's `sysml_library-0.1.0.zip` is the standard library: `sysml.library/` (the models, + for the SysML Toolkit) and `sysml.library.full.json` (for payloads). + +Costs: `classes.g.hpp` is about 4 MB, so a translation unit that includes it takes tens of seconds +to compile: keep the SDK in one translation unit (or a precompiled header). Opening a model with the +standard library takes one to three seconds; the SysML Toolkit's JSON export of a model takes a few +seconds; parsing the 160 MB library JSON takes tens of seconds (parse it once). A model that does +not load, or a model file or library directory that does not exist, throws `sdk_error` with a +status; the SysML Toolkit's reason (the missing path, a parse error) is printed on stderr. + +## Loading a model + +`` includes the runtime (``, which alone has no +metaclasses): include it, and `` for the SysML Toolkit. + +Through the SysML Toolkit: + +```cpp +#include // the runtime and every metaclass (always include it) +#include // the SysML Toolkit backend +using namespace sysml; + +int main() { + Model model = Model::from_backend(ToolkitBackend::open( + {"model.sysml"}, // your files + {}, // or in-memory sources: {{"m.sysml", text}} + "sysml.library")); // the standard library directory + // ... your code here ... +} +``` + +From a payload (a JSON export you have): + +```cpp +#include +#include +#include +using namespace sysml; + +static std::string read_file(const std::string& path) { + std::ifstream in(path, std::ios::binary); + std::stringstream text; + text << in.rdbuf(); + return text.str(); +} + +int main() { + auto library = PayloadLibrary::parse(read_file("sysml.library.full.json")); // once; a shared_ptr to share + Model model = Model::from_full_json(read_file("model.json"), library); + // ... your code here ... +} +``` + +Load the standard library whenever the model uses it, which nearly every model does +(`ScalarValues::Real`, `ISQ::mass`, and implicitly `Parts::parts`). Without it, references into the +library stay unresolved: harmless until you read one, then `unresolved_reference`. +(`ToolkitBackend::open({"a.sysml"})` and `ToolkitBackend::open_sources({{"m.sysml", text}})` open +without it.) Relative paths are relative to the working directory. Element ids depend on the file +names given. With sources given, paths are ignored. Elements keep their model alive; copy them +freely. The SDK takes JSON as text, not paths. + +A payload refers to the standard library's elements without containing them; pass the library JSON +and those references resolve. Library elements are not the model's (`all()`, `roots()`, +`elements_of_type()` skip them); a qualified name is looked up in the payload first. The library +JSON lists each library element's own members only, not what it inherits. + +## The shape of the API + +- **Find:** `model.resolve("Pkg::Part::feature")` returns `std::optional`; convert with + `.value().as()`. `model.elements_of_type()` (subclasses included), + `model.all()`, `model.roots()` (top-level namespaces; the packages are their + `getOwnedMember()`). `model.resolve` is the SysML Toolkit's own name lookup: it also finds + inherited members and members of a feature's type (`"EBikes::CargoEBike::wheels"` is + `Bike::wheels`), and it answers where the specification's `resolve` operation is refused. +- **Properties** are getters, `get` + the specification name: `getQualifiedName()`, + `getOwnedFeature()`, `getIsComposite()`. **Operations** keep their names: `effectiveName()`, + `resolve("Name")` on a `Namespace`. +- **Results:** a multi-valued property is `std::vector` (empty when absent); a single-valued one + `std::optional`: `std::optional`, `std::optional`, + `std::optional` for Integer, `std::optional` for Real, enumeration values as + lowercase strings (`"requirement"`). `getSourceFeature()` is one optional feature, + `getTargetFeature()` a vector. An unnamed element's `getName()` is `std::nullopt` (`entry;`, a + `connect` without a name). An operation without a declared type returns `Value`. +- **Metaclass tests:** `el.is_a()`; convert with `el.as()`, which throws + `wrong_kind` if it is not one. Never `static_cast` or `dynamic_cast` between the structs. + `ConnectionUsage`, `InterfaceUsage` and `AllocationUsage` are `PartUsage`s too (`FlowUsage` is + not); every connector, connections, flows, successions and bindings alike, is a + `ConnectorAsUsage`. A definition's `getOwnedPart()` therefore lists its connections too. + `el.metaclass_name()` is the concrete metaclass. +- **Every element** has the members of `Element`: `getName()`, `getDeclaredName()`, + `getQualifiedName()`, `getOwner()`, `getOwningNamespace()`, `getDocumentation()`, + `getIsLibraryElement()`, `effectiveName()`. +- **Identity:** within one model, `==` compares element ids, and `std::hash` hashes them, + so `std::unordered_set` works (store `Element`, convert with `as()` when reading). The + same element read through two models (the SysML Toolkit's and its export's) is not `==`: compare + their `element_id()`s. + Runtime members are snake_case with an underscore: `element_id()`, `backend_handle()`, + `metaclass_name()`, `get_raw(prop)`, `is_a`, `as`. +- **Errors** (all `sdk_error`, a `std::runtime_error`): `not_implemented_in_toolkit`, + `unresolved_reference`, `gone`, `wrong_kind`. An operation argument that must be an element and is + empty throws `std::invalid_argument`. +- **Operations** need the SysML Toolkit (a payload throws for every one) and take the + specification's parameters in order, as `classes.g.hpp` declares them + (`inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied)`). The SysML Toolkit has + a body for about a third of them and answers a call only where its evidence for the model is + complete. Answered on a typical model: `effectiveName()` (not on every unnamed feature), + `effectiveShortName()`, `resolveGlobal`, `supertypes(true)` (the argument is `excludeImplied`), + `evaluate(target)` (target: the element to evaluate in, such as the part usage; it returns + elements, such as the literal a feature is bound to), `modelLevelEvaluable`. Refused there: + `resolve`, `resolveLocal`, `resolveVisible`, `visibleMemberships`, `namesOf`, + `inheritedMemberships`, `supertypes(false)`. No body at all: `isCompatibleWith`, `specializes`, + `allSupertypes`, `directionOf`, ... Catch the refusal. + +## When the SysML Toolkit refuses a read (read this before writing queries) + +The SysML Toolkit's checked reader answers a property only where it can derive it completely. In +this release it refuses most of what builds on inheritance, so plan for it: + +- **refused on nearly every element:** `getFeature()`, `getInheritedFeature()`, + `getInheritedMembership()`, `getFeatureMembership()`, `getMember()`, `getMembership()`, + `getImportedMembership()`, `getEndFeature()`, `getInput()`, `getOutput()`, `getUsage()`, + `getDirectedUsage()`, `getDefinition()` and the kind-specific definitions + (`getPartDefinition()`, `getPortDefinition()`, `getItemDefinition()`, + `getRequirementDefinition()`, ...), `getParameter()` and `getFeaturingType()`; +- **refused on features, even with a written typing:** `getType()`. Assume it is refused and use + `types_of` below; +- **refused on connectors, accept actions, requirements and satisfy relations:** + `getSourceFeature()`, `getTargetFeature()`, `getConnectorEnd()`, `getRelatedFeature()`, + `getPayloadParameter()`, `getSubjectParameter()`, `getActorParameter()`, + `getStakeholderParameter()`, `getSatisfyingFeature()`; +- **answered:** what the model states itself: `getOwnedMember()`, `getOwnedFeature()`, + `getOwnedMembership()`, the owned lists (`getOwnedUsage()`, `getOwnedPart()`, `getNestedUsage()`, + `getNestedPart()`, `getNestedAttribute()`, `getNestedState()`, `getNestedTransition()`, ...; owned + members only, so an empty `getNestedPart()` does not mean a usage has no parts), `getOwner()`, + `getOwningNamespace()`, `getOwningType()`, `getName()`, `getDeclaredName()`, + `getQualifiedName()`, `getDocumentation()`, `getMultiplicity()`, `getDirection()`, + `getIsComposite()`, `getIsEnd()`, `getIsImplied()`, `getEntryAction()`, `getIsParallel()`, + `getTriggerAction()`, a transition's `getSource()` and `getTarget()`, + `getSatisfiedRequirement()`, `getChainingFeature()`, and the specific owned relationships with + their ends: `getOwnedTyping()` (`getType()`), `getOwnedSubclassification()` + (`getSuperclassifier()`), `getOwnedSpecialization()` (`getGeneral()`), `getOwnedSubsetting()` + (`getSubsettedFeature()`; it holds the redefinitions too), `getOwnedRedefinition()` + (`getRedefinedFeature()`), `getOwnedReferenceSubsetting()` (`getReferencedFeature()`), and a port + definition's `getConjugatedPortDefinition()` / `getOriginalPortDefinition()`. + (`getOwnedMember()`, `getOwnedFeature()` and `getOwnedMembership()` are refused on a + `FeatureReferenceExpression`.) + +The refusal's message names the member and the SysML Toolkit's reason (`property has an incomplete +derivation`, `Type features are incomplete: IncompleteProvider`, `incomplete operation evidence`): +the SysML Toolkit lacks complete evidence for that element, which says nothing about whether the +model is right. Whether a read is refused depends on the property and the element; try one element +first rather than assume. Where it is refused, in this order: + +**1. Read what the model states.** The helpers below derive what the common refused properties +give, from the owned relationships (verified through the SysML Toolkit and through the export alike; +copy them as they are, after the SDK's includes and `using namespace sysml;`). `getIsImplied()` +marks the relationships the SysML Toolkit adds from the library, which the model does not write. + +```cpp +#include +#include +#include +#include +#include +#include +#include +#include + +// The features a feature redefines or subsets as the model writes them (getOwnedSubsetting() holds +// the redefinitions too; getIsImplied() marks what the SysML Toolkit adds from the library). +inline std::vector written_generals(const Feature& feature) { + std::vector out; + for (const Subsetting& s : feature.getOwnedSubsetting()) + if (s.getIsImplied() != true) out.push_back(s.getSubsettedFeature().value()); + return out; +} + +// A definition's supertypes as the model writes them, without the library ones the SysML Toolkit +// implies (Parts::Part for a part definition). +inline std::vector written_supertypes(const Classifier& definition) { + std::vector out; + for (const Subclassification& s : definition.getOwnedSubclassification()) + if (s.getIsImplied() != true) out.push_back(s.getSuperclassifier().value()); + return out; +} + +// A feature's types: getType() where the SysML Toolkit answers it; else its own typings; else those +// of the features it redefines or subsets as written (`part :>> battery[2];`). +inline std::vector types_of(const Feature& feature) { + try { return feature.getType(); } catch (const not_implemented_in_toolkit&) { /* read around it */ } + std::vector own; + for (const FeatureTyping& t : feature.getOwnedTyping()) own.push_back(t.getType().value()); + if (!own.empty()) return own; + for (const Feature& general : written_generals(feature)) { + std::vector found = types_of(general); + if (!found.empty()) return found; + } + return {}; +} + +// t's own features, then those it inherits along what the model writes (a definition's +// supertypes; a usage's types and the usages it redefines or subsets), without the ones redefined +// on the way. The model's own features, not the library's; not the specification's full +// derivation (no visibility, no imports). +inline std::vector features_with_inherited(const Type& t, std::unordered_set& seen) { + if (!seen.insert(t).second) return {}; + std::vector own = t.getOwnedFeature(); + std::unordered_set redefined; + for (const Feature& f : own) + for (const Redefinition& r : f.getOwnedRedefinition()) redefined.insert(r.getRedefinedFeature().value()); + std::vector bases; + if (t.is_a()) { + for (const Classifier& c : written_supertypes(t.as())) bases.push_back(c.as()); + } else if (t.is_a()) { + for (const Type& x : types_of(t.as())) bases.push_back(x); + for (const Feature& g : written_generals(t.as())) bases.push_back(g.as()); + } + for (const Type& base : bases) + for (const Feature& f : features_with_inherited(base, seen)) + if (!redefined.count(f) && std::find(own.begin(), own.end(), f) == own.end()) own.push_back(f); + return own; +} + +inline std::vector features_with_inherited(const Type& t) { + std::unordered_set seen; + return features_with_inherited(t, seen); +} + +inline bool redefines(const Feature& f, const Feature& target, std::unordered_set& seen) { + for (const Redefinition& r : f.getOwnedRedefinition()) { + Feature g = r.getRedefinedFeature().value(); + if (g == target || (seen.insert(g).second && redefines(g, target, seen))) return true; + } + return false; +} + +// The feature that stands for `feature` in `context`: `feature` itself where the context inherits +// it, or the nearest one that redefines it, directly or through other redefinitions; empty where the +// context has neither (pass the declaration, `Component::mass`, not a redefinition in some other +// definition). +inline std::optional feature_in(const Type& context, const Feature& feature) { + for (const Feature& f : features_with_inherited(context)) { + std::unordered_set seen{f}; + if (f == feature || redefines(f, feature, seen)) return f; + } + return std::nullopt; +} + +// The expression that gives `feature` its value in `context` (`attribute :>> mass = 2.5;` in the +// context's definition or body), or empty. Initial values (`:=`) and defaults (`default =`) count +// too; the FeatureValue's getIsInitial() / getIsDefault() tell them apart. +inline std::optional bound_value(const Type& context, const Feature& feature) { + std::optional f = feature_in(context, feature); + if (!f) return std::nullopt; + for (const Membership& m : f->getOwnedMembership()) + if (m.is_a()) return m.as().getValue(); + return std::nullopt; +} + +// The feature a chain of written redefinitions starts from (`Frame::mass` -> `Unit::mass`): the +// declaration to pass to bound_value and feature_in. +inline Feature declaration_of(Feature feature) { + std::unordered_set seen{feature}; + for (;;) { + std::optional next; + for (const Redefinition& r : feature.getOwnedRedefinition()) + if (r.getIsImplied() != true) { next = r.getRedefinedFeature(); break; } + if (!next || !seen.insert(*next).second) return feature; + feature = *next; + } +} + +using Bounds = std::pair, std::optional>; // upper empty for `*` + +// {lower, upper} of a MultiplicityRange with literal bounds. `[4]` has only an upper bound: +// lower = upper then. A bound that is an expression (`[rotorCount]`) throws. +inline Bounds bounds(const MultiplicityRange& range) { + auto literal = [](const std::optional& e) -> std::optional { + if (e && e->is_a()) return std::nullopt; + if (e && e->is_a()) return e->as().getValue(); + throw std::invalid_argument("a bound to evaluate in context: " + (e ? e->metaclass_name() : std::string("none"))); + }; + std::optional upper = literal(range.getUpperBound()); + return {range.getLowerBound() ? literal(range.getLowerBound()) : upper, upper}; +} + +// {lower, upper} of the multiplicity that applies to a usage: its own; else, nearest first, that of +// the features it redefines or subsets as written; else {1, 1} where SysML gives the default (an +// attribute, item, part or port usage, not a connection, owned by a definition or usage); else +// {0, empty}, unconstrained. +inline Bounds multiplicity_of(const Feature& usage) { + std::unordered_set seen{usage}; + std::deque todo{usage}; + while (!todo.empty()) { + Feature u = todo.front(); + todo.pop_front(); + std::optional m = u.getMultiplicity(); + if (m && m->is_a()) return bounds(m->as()); + std::vector generals = written_generals(u); + if (generals.empty()) { + bool kind = (u.is_a() || u.is_a() || u.is_a()) && !u.is_a(); // a PartUsage is an ItemUsage + std::optional owner = u.getOwningType(); + bool owned = owner && (owner->is_a() || owner->is_a()); + if (kind && owned) return {1, 1}; + return {0, std::nullopt}; + } + for (const Feature& g : generals) + if (seen.insert(g).second) todo.push_back(g); + } + return {0, std::nullopt}; +} + +// A connector's ends in order, the source first: the features or feature chains it connects. For +// connections, flows, successions and bindings alike. +inline std::vector ends(const Connector& connector) { + try { + std::vector out; + if (std::optional s = connector.getSourceFeature()) out.push_back(*s); + for (const Feature& t : connector.getTargetFeature()) out.push_back(t); + return out; + } catch (const not_implemented_in_toolkit&) { /* read around it */ } + std::vector out; + for (const Feature& e : connector.getOwnedFeature()) + if (e.getIsEnd() == true && e.getOwnedReferenceSubsetting()) + out.push_back(e.getOwnedReferenceSubsetting()->getReferencedFeature().value()); + return out; +} + +// A feature chain as its features ([battery, powerOut] for battery.powerOut); else [feature]. +inline std::vector path(const Feature& feature) { + std::vector chain = feature.getChainingFeature(); + return chain.empty() ? std::vector{feature} : chain; +} + +// What an accept action accepts (a transition's getTriggerAction().at(0)): its payload's types. +inline std::vector accepted_types(const AcceptActionUsage& accept) { + try { return accept.getPayloadParameter().value().getType(); } catch (const not_implemented_in_toolkit&) { /* read around it */ } + for (const Membership& m : accept.getOwnedMembership()) + if (m.is_a()) return types_of(m.as().getOwnedMemberParameter().value()); + return {}; +} + +// What satisfies the requirement in `satisfy r by x;`: x. +inline std::optional satisfying_feature(const SatisfyRequirementUsage& satisfy) { + try { return satisfy.getSatisfyingFeature(); } catch (const not_implemented_in_toolkit&) { /* read around it */ } + for (const Membership& m : satisfy.getOwnedMembership()) + if (m.is_a()) + for (const Membership& v : m.as().getOwnedSubjectParameter().value().getOwnedMembership()) + if (v.is_a()) { + std::optional e = v.as().getValue(); + if (e && e->is_a()) return e->as().getReferent(); + } + return std::nullopt; +} + +// The subject parameter of a requirement or requirement definition: its own `subject`; else, +// nearest first, that of its definitions or of what it specializes as written; else empty. +inline std::optional subject_of(const Type& requirement) { + try { + if (requirement.is_a()) return requirement.as().getSubjectParameter(); + if (requirement.is_a()) return requirement.as().getSubjectParameter(); + } catch (const not_implemented_in_toolkit&) { /* read around it */ } + for (const Membership& m : requirement.getOwnedMembership()) + if (m.is_a()) return m.as().getOwnedSubjectParameter(); + std::vector bases; + if (requirement.is_a()) { + for (const Classifier& c : written_supertypes(requirement.as())) bases.push_back(c.as()); + } else if (requirement.is_a()) { + for (const Type& x : types_of(requirement.as())) bases.push_back(x); + for (const Feature& g : written_generals(requirement.as())) bases.push_back(g.as()); + } + for (const Type& base : bases) + if (std::optional found = subject_of(base)) return found; + return std::nullopt; +} + +// The states a state machine (a StateUsage or StateDefinition) starts in: the targets of its +// successions from its entry action (`entry; then off;`) or from the library's `start` +// (`first start then off;`), and of its transitions from its entry action +// (`entry action initial; transition initial then off;`). +inline std::vector initial_states(const Type& machine) { + std::optional entry; + if (machine.is_a()) entry = machine.as().getEntryAction(); + else if (machine.is_a()) entry = machine.as().getEntryAction(); + std::vector out; + for (const Feature& f : machine.getOwnedFeature()) { + if (f.is_a()) { + TransitionUsage t = f.as(); + std::optional source = t.getSource(), target = t.getTarget(); + if (entry && source && *source == *entry && target && target->is_a()) out.push_back(target->as()); + } else if (f.is_a()) { + std::vector e = ends(f.as()); + bool from_start = e.size() == 2 && ((entry && e[0] == *entry) + || (e[0].getIsLibraryElement() == true && e[0].getName() == std::optional("start"))); + if (from_start && e[1].is_a()) out.push_back(e[1].as()); + } + } + return out; +} + +// The states of a state machine reachable from its initial states along its own transitions, in the +// order found (guards and triggers not considered; the transitions inside composite states not +// followed). +inline std::vector reachable_states(const Type& machine) { + std::vector> edges; + for (const Feature& f : machine.getOwnedFeature()) + if (f.is_a()) { + TransitionUsage t = f.as(); + std::optional source = t.getSource(), target = t.getTarget(); + if (source && target) edges.emplace_back(*source, *target); + } + std::vector reached = initial_states(machine); + for (std::size_t i = 0; i < reached.size(); ++i) + for (const auto& [from, to] : edges) + if (from == reached[i] && to.is_a() && std::find(reached.begin(), reached.end(), to) == reached.end()) + reached.push_back(to.as()); + return reached; +} + +// The number an expression stands for when it is a literal, or a sign applied to one (`-40.0` is an +// OperatorExpression `-` whose operand is the literal 40.0). Anything else throws: evaluate it in +// context (the SysML Toolkit's evaluate refuses operator expressions). +inline double number(const Expression& expr) { + if (expr.is_a()) return static_cast(expr.as().getValue().value()); + if (expr.is_a()) return expr.as().getValue().value(); + if (expr.is_a()) { + std::optional op = expr.as().getOperator(); + if (op == std::optional("-") || op == std::optional("+")) { + std::vector operands; + for (const Feature& f : expr.getOwnedFeature()) + for (const Membership& m : f.getOwnedMembership()) + if (m.is_a()) operands.push_back(m.as().getValue().value()); + if (operands.size() == 1) return *op == "-" ? -number(operands[0]) : number(operands[0]); + } + } + throw std::invalid_argument("not a literal number: " + expr.metaclass_name()); +} +``` + +**2. Query the SysML Toolkit's export as a payload** when a question needs the specification's full +derivation across a whole model (inherited members with visibility and imports, connector ends of +library connections). The export is written by the SysML Toolkit's compatibility path: it carries a +value for every property, including the ones the checked reader refuses, which the SysML Toolkit +does not vouch for. Say so in your answer when the result depends on them. `full_json` belongs to +the backend, so take it before handing the backend to a model: + +```cpp +auto library = PayloadLibrary::parse(read_file("sysml.library.full.json")); // once; read_file as above +auto backend = ToolkitBackend::open({"model.sysml"}, {}, "sysml.library"); +Model exported = Model::from_full_json(backend->full_json(), library); // same element ids as the SysML Toolkit's +Model model = Model::from_backend(std::move(backend)); // the same session +``` + +**3. Never** substitute an empty vector, a guess or a default for a refused read. + +## Navigation recipes + +With the helpers above; each works through the SysML Toolkit and on a payload. + +```cpp +// d, part, port, usage, flow, machine and constraint stand for elements you have at hand (d: a +// definition or usage, as a Type); model is the Model. + +// Parts of a definition or usage, owned and inherited, not connections; the model's own, not the +// library's (start, done, subparts, ...) +std::vector parts; +for (const Feature& f : features_with_inherited(d)) + if (f.is_a() && !f.is_a()) parts.push_back(f.as()); + +std::vector definitions = types_of(part); // what a usage is typed by + +// The value a feature has in a context (`attribute :>> mass = 2.5;` in the part's definition or body) +Feature mass_f = model.resolve("Pkg::Component::mass").value().as(); // the declaration; declaration_of(f) finds it from a redefinition +std::optional expr = bound_value(part, mass_f); +double mass = number(expr.value()); // a literal, or a sign applied to one (-40.0) + +Bounds b = multiplicity_of(usage); // {2, 2} for [2]; {1, 1} by default; upper empty for * +std::string text = b.first == b.second ? "[" + std::to_string(*b.first) + "]" + : "[" + std::to_string(b.first.value_or(0)) + ".." + (b.second ? std::to_string(*b.second) : "*") + "]"; + +// Roll-up: an attribute summed over a definition's direct parts (mass, cost, power); for a deeper +// tree, apply it to each part that has parts of its own (features_with_inherited(p)) +double total = 0; +std::vector missing; +for (const PartUsage& p : parts) { + std::optional e = bound_value(p, mass_f); + Bounds n = multiplicity_of(p); + if (!e || !n.second || n.first != n.second) missing.push_back(p.getName().value_or("?")); // no value, or a range ([4..6], *): report, never guess + else total += number(*e) * static_cast(*n.second); +} + +// Ports: the definition, and whether it is conjugated (`port p : ~PowerPort;`). getPortDefinition() +// (a vector) is refused; getIsConjugated() is false on a `~` port: the conjugation is its type, the +// ConjugatedPortDefinition that PowerPort owns (name "~PowerPort", qualified name +// "Pkg::PowerPort::'~PowerPort'", quotes included) +for (const Type& t : types_of(port)) + std::cout << (t.is_a() + ? "~" + t.as().getOriginalPortDefinition().value().getQualifiedName().value_or("") + : t.getQualifiedName().value_or("")) << "\n"; + +// Connections (ConnectionUsage: connect, interfaces, allocations): the ends, the source first. The +// ends of an inherited connection are the supertype's features (Drone::rotors, not a redefining +// `part :>> rotors[8];`): feature_in(d, chain.front()) is the one that stands for it in d +for (const Feature& f : features_with_inherited(d)) + if (f.is_a()) + for (const Feature& end : ends(f.as())) { + std::vector chain = path(end); // [battery, powerOut], then the target + std::vector port_types = types_of(chain.back()); // [PortDefinition or ConjugatedPortDefinition] + } +// Flows (FlowUsage), bindings (BindingConnectorAsUsage) and successions are ConnectorAsUsage too, +// with the same ends() +std::vector items = flow.as().getPayloadType(); // the flowing item's definition + +// States +StateUsage machine = model.resolve("Pkg::Controller::modes").value().as(); // e.g. an ExhibitStateUsage +std::vector states = machine.getNestedState(); // its own states +std::vector initial = initial_states(machine); // `entry; then off;`, `first start then off;`, ... +std::vector reachable = reachable_states(machine); // from the initial states along the transitions +for (const TransitionUsage& t : machine.getNestedTransition()) { + ActionUsage from = t.getSource().value(); // getSource(), getTarget(): std::optional; the + ActionUsage to = t.getTarget().value(); // states (as()); an initial transition + // (`transition init then off;`) leaves the entry action, not a state: no as() then + std::vector signals = t.getTriggerAction().empty() ? std::vector{} : accepted_types(t.getTriggerAction().at(0)); +} + +// Requirements +for (const SatisfyRequirementUsage& s : model.elements_of_type()) { + RequirementUsage req = s.getSatisfiedRequirement().value(); + std::optional by = satisfying_feature(s); // the part that satisfies it + std::vector definition = types_of(req); // [RequirementDefinition] + std::optional subject = subject_of(req); // its subject parameter; often the definition's + // (`subject bike : Bike;` in MassLimit: MassLimit::bike) + std::optional limit_f; // the definition's maxMass + for (const Type& t : types_of(req)) + for (const Feature& f : features_with_inherited(t)) + if (f.getName() == std::optional("maxMass")) limit_f = f; + std::optional limit = bound_value(req, limit_f.value()); // the requirement's value for it + std::vector constraints; // its own constraints + for (const Membership& m : req.getOwnedMembership()) + if (m.is_a() + && m.as().getKind() == std::optional("requirement")) + constraints.push_back(m.as().getOwnedConstraint().value()); +} +``` + +## Multiplicity + +`getMultiplicity()` is only what the usage itself declares; `multiplicity_of` above applies SysML's +rule: a usage without one takes the multiplicity of the features it redefines or subsets as written +(nearest first; `part :>> battery[2];` declares its own), and one that redefines or subsets nothing +is `[1..1]` if it is an attribute, item, part or port usage owned by a definition or usage, and +unconstrained (`[0..*]`) otherwise. Implied subsettings (`getIsImplied()`, such as every part's +subsetting of the library's `parts`) do not count. A bound may be an expression to evaluate in +context (`Rotor[rotorCount]`); `bounds` throws for it. + +## Evaluating the model's expressions + +Expressions are elements: `OperatorExpression` (`getOperator()` such as `"<="`, `"and"`, `"not"`; +`getArgument()`), `FeatureReferenceExpression` (`getReferent()`), `FeatureChainExpression` (`a.b`: +argument 0 is `a`, `getTargetFeature()` is `b`; it is an OperatorExpression too, so test it first), +literals with `getValue()` (`LiteralInteger`, `LiteralRational`, `LiteralBoolean`, `LiteralString`, +`LiteralInfinity` for `*`), `TriggerInvocationExpression` (`getKind()`: `at`, `after`, `when`). An +enumeration literal is an `EnumerationUsage` whose `getOwningNamespace()` is the +`EnumerationDefinition` (its owning type is empty, by the specification). Through the SysML Toolkit, +`getArgument()` is refused: an expression's operands are its `getOwnedFeature()`s, each bound by a +`FeatureValue` in its `getOwnedMembership()`. + +The SysML Toolkit's `evaluate(target)` operation evaluates some expressions (it returns elements); +beyond that, the SDK does not evaluate. The SDK's source repository +(https://github.com/Open-MBEE/sysml-sdk, not the release packages) has, in +`examples/queries/cpp/queries.hpp`, an evaluator in three-valued logic (values as +`std::variant`) and complete queries: reachable states +with shortest trigger sequences, bill of materials, attribute roll-up, connectivity, requirement +checks. Where it is at hand, start from it for such questions; the recipes above cover the simple +cases. In C++17 a `std::variant` holding both `bool` and `std::string` takes a string literal as +`bool`: construct strings explicitly. + +## Other differences from the specification + +- **With the library loaded**, `getUsage()`/`getFeature()` (in a payload) include library features: + filter with `getIsLibraryElement()`. A flow's `getConnectorEnd()` also lists the library flow's + ends; use `ends`. +- The second operand of `and`/`or`/`implies` is the operand expression itself, not the + `FeatureReferenceExpression` to it that the specification builds. Accept both. +- An unnamed `satisfy` has no name, but a qualified-name lookup may still find it under the name of + the requirement it satisfies. A feature named only through what it redefines has `getName()` from + it and `getDeclaredName()` `std::nullopt` (a satisfy's subject parameter is named `subj`, although + it redefines the subject of the requirement's definition). +- `getMayTimeVary()`, `getIsVariable()` and `getIsConstant()` on usages throw + `not_implemented_in_toolkit`. +- In the SysML Toolkit's export, an alias (`alias ax for x;`) hides the membership of the feature it + names from what specializations inherit, and a conjugated port's `getPortDefinition()` is the + `ConjugatedPortDefinition` (`~PowerPort`), as the specification says. +- A payload answers what its writer wrote: stand-ins where the writer had no value (empty, `false`, + an empty vector), and `unresolved_reference` for references into the + standard library unless it was given the library JSON. + +## Verify + +- Run the same query through the SysML Toolkit (with the helpers) and on its export as a payload + (the plain derived properties), matching elements by `element_id()`; differences point at the + SysML Toolkit, the export, or your code. +- Format numbers with `snprintf` in the C locale; `std::to_chars` for floating point is missing on + older macOS deployment targets. +- For more examples: the guide and runnable tutorial (`examples/cpp/`) and the query examples + (`examples/queries/cpp/`) in the SDK repository. diff --git a/skills/sysml-sdk-csharp/SKILL.md b/skills/sysml-sdk-csharp/SKILL.md new file mode 100644 index 0000000..63d20c0 --- /dev/null +++ b/skills/sysml-sdk-csharp/SKILL.md @@ -0,0 +1,543 @@ +--- +name: sysml-sdk-csharp +description: Writes C# (.NET 8) code that reads, navigates and queries SysML v2 and KerML models with the OpenMBEE.SysML NuGet package, through the OpenMBEE SysML Toolkit (a native binding library) or from a full-form interchange JSON payload. Use when a task involves loading .sysml/.kerml files or SysML v2 JSON in C#, walking parts, features, states, connections or requirements, evaluating a model's expressions, or answering questions about a SysML v2 model with code. +--- + +# SysML v2 SDK for C# + +The SDK is the OMG metamodel as C# interfaces with default members: every KerML and SysML +metaclass, property and operation, under its specification name, with the metaclass hierarchy as +interface inheritance. A model comes from one of two backends: + +- **the SysML Toolkit**, through its native binding library (P/Invoke): reads SysML text, resolves + names, computes derived properties and evaluates operations, and refuses what it cannot derive + completely; +- **a payload**: a full-form interchange JSON export from any SysML v2 tool, pure .NET. + +The SDK never guesses. A member the SysML Toolkit does not answer throws +`NotImplementedInToolkitException` with the reason the SysML Toolkit gives; a reference that does +not resolve throws `UnresolvedReferenceException`. Never catch these to substitute a made-up +value; read around them as described below, or report them. + +## Setup + +```sh +dotnet add package OpenMBEE.SysML --version 0.1.0 --source +``` + +`--source` is not saved in the project; for later restores (another machine, a cleared cache), add +a `nuget.config` beside the project: + +```xml + + + + + +``` + +- The package carries the binding library for Windows x64, Linux x64, and macOS on + Apple silicon and on Intel; .NET puts the one for the running platform beside the program, where + `ToolkitBackend.DefaultLibrary` finds it. To use another build, set `SYSMLV2_ABI` to it, or name it + in code with `new ToolkitBackend.Library(path)` in place of `ToolkitBackend.DefaultLibrary` (one + per process; it is not disposable). +- The release's `sysml_library-0.1.0.zip` is the standard library: `sysml.library/` (the models, + for the SysML Toolkit) and `sysml.library.full.json` (for payloads). + +Costs: opening a model with the standard library takes one to three seconds; the SysML Toolkit's +JSON export of a model takes a few seconds; the library JSON is about 160 MB and takes a few seconds +to read (read it once). A model file that does not exist throws `FileNotFoundException`, a library +directory `DirectoryNotFoundException`; a model that does not load throws an `SdkException` with a +status, and the SysML Toolkit's reason (a parse error) is printed on stderr. + +## Loading a model + +Through the SysML Toolkit: + +```csharp +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; // the metaclass Type, beside System.Type + +using var toolkit = ToolkitBackend.Open(ToolkitBackend.DefaultLibrary, // the package's binding library, or SYSMLV2_ABI's + new[] { "model.sysml" }, // your files; Array.Empty() with sources + null, // or in-memory sources: new Dictionary { ["m.sysml"] = text } + "sysml.library"); // the standard library directory +var model = new Model(toolkit); // the session closes when `toolkit` is disposed +``` + +From a payload (a JSON export you have): + +```csharp +using OpenMBEE.SysML; +using SpecType = OpenMBEE.SysML.Type; + +var library = PayloadLibrary.FromJson(File.ReadAllText("sysml.library.full.json")); // once, share it +var model = Model.FromFullJson(File.ReadAllText("model.json"), library); +``` + +The code here assumes the implicit usings `dotnet new console` turns on (`System`, `System.IO`, +`System.Linq`, `System.Collections.Generic`, ...). Load the standard library whenever the model uses +it, which nearly every model does (`ScalarValues::Real`, `ISQ::mass`, and implicitly +`Parts::parts`). Without it, references into the library stay unresolved: harmless until you read +one, then `UnresolvedReferenceException`. (`ToolkitBackend.Open("a.sysml", "b.sysml")` and +`ToolkitBackend.OpenSources(sources)` open without it.) Relative paths are relative to the working +directory. Element ids depend on the file names given. With sources given, paths are ignored. + +A payload refers to the standard library's elements without containing them; pass the library JSON +and those references resolve. Library elements are not the model's (`All()`, `Roots()`, +`ElementsOfType()` skip them); a qualified name is looked up in the payload first. The library +JSON lists each library element's own members only, not what it inherits. + +## The shape of the API + +- **Find:** `model.Resolve("Pkg::Part::feature")` returns `IElement?`: cast it + (`(PartDefinition)model.Resolve(...)!`). `model.ElementsOfType()` (subclasses + included), `model.All()`, `model.Roots()` (top-level namespaces; the packages are their + `ownedMember`). `model.Resolve` is the SysML Toolkit's own name lookup: it also finds inherited + members and members of a feature's type (`"EBikes::CargoEBike::wheels"` is `Bike::wheels`), and it + answers where the specification's `resolve` operation is refused. +- **Properties** keep the specification name, lower camel case: `el.qualifiedName`, + `el.ownedFeature`; C# keywords are escaped (`operation.@operator`). **Operations** are methods: + `el.effectiveName()`, `ns.resolve("Name")`; one sharing a property's name takes `Op`: + `instantiatedTypeOp()`. Runtime members are PascalCase: `ElementId`, `MetaclassName`, `Handle`, + `Model`, `GetRaw(prop)`. +- **Members are default interface members:** they are visible only through a variable typed as an + interface that declares them. Keep variables typed as the metaclass (`PartUsage p`), not as a class + or `object`. +- **Metaclass tests:** `el is PartUsage p`, `OfType()`. `ConnectionUsage`, + `InterfaceUsage` and `AllocationUsage` are `PartUsage`s too (`FlowUsage` is not); every connector, + connections, flows, successions and bindings alike, is a `ConnectorAsUsage`. A definition's + `ownedPart` therefore lists its connections too. +- **Every element** (`IElement`) has the members of `Element`: `name`, `declaredName`, + `qualifiedName`, `owner`, `owningNamespace`, `documentation`, `isLibraryElement`, + `effectiveName()`. +- **Values:** multi-valued properties are `IReadOnlyList` (empty when absent); single-valued ones + nullable: `bool?` (test `== true`), `long?` for Integer, `double?` for Real, `string?` (enumeration + values are lowercase strings: `"requirement"`). `sourceFeature` is one feature, `targetFeature` a + list. An unnamed element has `name` null. +- **Identity:** within one model, `Equals`/`GetHashCode` go by element id, so elements work in + `HashSet`/`Dictionary`. The same element read through two models (the SysML Toolkit's and its + export's) is not `Equals`: compare their `ElementId`s. +- **Errors:** `NotImplementedInToolkitException`, `UnresolvedReferenceException`, `GoneException`, + all `SdkException`s. An operation argument that must be an element and is null throws + `ArgumentException`. +- **Operations** need the SysML Toolkit (a payload throws for every one) and take the + specification's parameters in order, as the interfaces declare them + (`inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied)`). The SysML Toolkit has + a body for about a third of them and answers a call only where its evidence for the model is + complete. Answered on a typical model: `effectiveName()` (not on every unnamed feature), + `effectiveShortName()`, `resolveGlobal`, `supertypes(true)` (the argument is `excludeImplied`), + `evaluate(target)` (target: the element to evaluate in, such as the part usage, never null; it + returns elements, such as the literal a feature is bound to), `modelLevelEvaluable`. Refused + there: `resolve`, `resolveLocal`, `resolveVisible`, `visibleMemberships`, `namesOf`, + `inheritedMemberships`, `supertypes(false)`. No body at all: `isCompatibleWith`, `specializes`, + `allSupertypes`, `directionOf`, ... Catch the refusal. + +## When the SysML Toolkit refuses a read (read this before writing queries) + +The SysML Toolkit's checked reader answers a property only where it can derive it completely. In +this release it refuses most of what builds on inheritance, so plan for it: + +- **refused on nearly every element:** `feature`, `inheritedFeature`, `inheritedMembership`, + `featureMembership`, `member`, `membership`, `importedMembership`, `endFeature`, `input`, + `output`, `usage`, `directedUsage`, `definition` and the kind-specific definitions + (`partDefinition`, `portDefinition`, `itemDefinition`, `requirementDefinition`, ...), + `parameter` and `featuringType`; +- **refused on features, even with a written typing:** `type`. Assume it is refused and use + `TypesOf` below; +- **refused on connectors, accept actions, requirements and satisfy relations:** `sourceFeature`, + `targetFeature`, `connectorEnd`, `relatedFeature`, `payloadParameter`, `subjectParameter`, + `actorParameter`, `stakeholderParameter`, `satisfyingFeature`; +- **answered:** what the model states itself: `ownedMember`, `ownedFeature`, `ownedMembership`, the + owned lists (`ownedUsage`, `ownedPart`, `nestedUsage`, `nestedPart`, `nestedAttribute`, + `nestedState`, `nestedTransition`, ...; owned members only, so an empty `nestedPart` does not mean + a usage has no parts), `owner`, `owningNamespace`, `owningType`, `name`, `declaredName`, + `qualifiedName`, `documentation`, `multiplicity`, `direction`, `isComposite`, `isEnd`, + `isImplied`, `entryAction`, `isParallel`, `triggerAction`, a transition's `source` and `target`, + `satisfiedRequirement`, `chainingFeature`, and the specific owned relationships with their ends: + `ownedTyping` (`type`), `ownedSubclassification` (`superclassifier`), `ownedSpecialization` + (`general`), `ownedSubsetting` (`subsettedFeature`; it holds the redefinitions too), + `ownedRedefinition` (`redefinedFeature`), `ownedReferenceSubsetting` (`referencedFeature`), and a + port definition's `conjugatedPortDefinition` / `originalPortDefinition`. (`ownedMember`, + `ownedFeature` and `ownedMembership` are refused on a `FeatureReferenceExpression`.) + +The refusal's message names the member and the SysML Toolkit's reason (`property has an incomplete +derivation`, `Type features are incomplete: IncompleteProvider`, `incomplete operation evidence`): +the SysML Toolkit lacks complete evidence for that element, which says nothing about whether the +model is right. Whether a read is refused depends on the property and the element; try one element +first rather than assume. Where it is refused, in this order: + +**1. Read what the model states.** The helpers below derive what the common refused properties +give, from the owned relationships (verified through the SysML Toolkit and through the export alike; +copy them as they are: static local functions in a top-level program, or static methods of a class). +`isImplied` marks the relationships the SysML Toolkit adds from the library, which the model does +not write. + +```csharp +// The features a feature redefines or subsets as the model writes them (ownedSubsetting holds the +// redefinitions too; isImplied marks what the SysML Toolkit adds from the library). +static List WrittenGenerals(Feature feature) => + feature.ownedSubsetting.Where(s => s.isImplied != true).Select(s => s.subsettedFeature!).ToList(); + +// A definition's supertypes as the model writes them, without the library ones the SysML Toolkit +// implies (Parts::Part for a part definition). +static List WrittenSupertypes(Classifier definition) => + definition.ownedSubclassification.Where(s => s.isImplied != true).Select(s => s.superclassifier!).ToList(); + +// A feature's types: type where the SysML Toolkit answers it; else its own typings; else those of +// the features it redefines or subsets as written (`part :>> battery[2];`). +static IReadOnlyList TypesOf(Feature feature) +{ + try { return feature.type; } catch (NotImplementedInToolkitException) { /* read around it */ } + var own = feature.ownedTyping.Select(t => t.type!).ToList(); + if (own.Count > 0) return own; + foreach (var general in WrittenGenerals(feature)) + if (TypesOf(general) is { Count: > 0 } found) return found; + return Array.Empty(); +} + +// t's own features, then those it inherits along what the model writes (a definition's +// supertypes; a usage's types and the usages it redefines or subsets), without the ones redefined +// on the way. The model's own features, not the library's; not the specification's full +// derivation (no visibility, no imports). +static List FeaturesWithInherited(SpecType t, HashSet? seen = null) +{ + seen ??= new HashSet(); + if (!seen.Add(t)) return new List(); + var own = t.ownedFeature.ToList(); + var redefined = own.SelectMany(o => o.ownedRedefinition).Select(r => r.redefinedFeature!).ToHashSet(); + IEnumerable bases = t is Classifier c ? WrittenSupertypes(c) + : t is Feature feature ? TypesOf(feature).Concat(WrittenGenerals(feature)) + : Enumerable.Empty(); + foreach (var b in bases) + foreach (var inherited in FeaturesWithInherited(b, seen)) + if (!redefined.Contains(inherited) && !own.Contains(inherited)) own.Add(inherited); + return own; +} + +// The feature that stands for `feature` in `context`: `feature` itself where the context inherits +// it, or the nearest one that redefines it, directly or through other redefinitions; null where the +// context has neither (pass the declaration, `Component::mass`, not a redefinition in some other +// definition). +static Feature? FeatureIn(SpecType context, Feature feature) +{ + static bool Redefines(Feature f, Feature target, HashSet seen) => + f.ownedRedefinition.Any(r => r.redefinedFeature!.Equals(target) + || (seen.Add(r.redefinedFeature!) && Redefines(r.redefinedFeature!, target, seen))); + return FeaturesWithInherited(context).FirstOrDefault(x => x.Equals(feature) || Redefines(x, feature, new HashSet { x })); +} + +// The expression that gives `feature` its value in `context` (`attribute :>> mass = 2.5;` in the +// context's definition or body), or null. Initial values (`:=`) and defaults (`default =`) count +// too; the FeatureValue's isInitial / isDefault tell them apart. +static Expression? BoundValue(SpecType context, Feature feature) => + FeatureIn(context, feature)?.ownedMembership.OfType().FirstOrDefault()?.value; + +// The feature a chain of written redefinitions starts from (`Frame::mass` -> `Unit::mass`): the +// declaration to pass to BoundValue and FeatureIn. +static Feature DeclarationOf(Feature feature) +{ + var seen = new HashSet { feature }; + while (feature.ownedRedefinition.FirstOrDefault(r => r.isImplied != true)?.redefinedFeature is { } next && seen.Add(next)) + feature = next; + return feature; +} + +// (lower, upper) of a MultiplicityRange with literal bounds; upper null for `*`. `[4]` has only an +// upper bound: lower = upper then. A bound that is an expression (`[rotorCount]`) throws. +static (long? Lower, long? Upper) Bounds(MultiplicityRange range) +{ + static long? Literal(Expression? e) => e switch + { + LiteralInfinity => null, + LiteralInteger i => i.value, + _ => throw new InvalidOperationException($"a bound to evaluate in context: {e?.MetaclassName}"), + }; + var upper = Literal(range.upperBound); + return (range.lowerBound is null ? upper : Literal(range.lowerBound), upper); +} + +// (lower, upper) of the multiplicity that applies to a usage: its own; else, nearest first, that +// of the features it redefines or subsets as written; else (1, 1) where SysML gives the default (an +// attribute, item, part or port usage, not a connection, owned by a definition or usage); else +// (0, null), unconstrained. +static (long? Lower, long? Upper) MultiplicityOf(Feature usage) +{ + var seen = new HashSet { usage }; + var todo = new Queue(new[] { usage }); + while (todo.Count > 0) + { + var u = todo.Dequeue(); + if (u.multiplicity is MultiplicityRange range) return Bounds(range); + var generals = WrittenGenerals(u); + if (generals.Count == 0) + { + var kind = (u is AttributeUsage || u is ItemUsage || u is PortUsage) && u is not ConnectionUsage; // a PartUsage is an ItemUsage + var owned = u.owningType is Definition || u.owningType is Usage; + return kind && owned ? (1, 1) : (0, null); + } + foreach (var g in generals) if (seen.Add(g)) todo.Enqueue(g); + } + return (0, null); +} + +// A connector's ends in order, the source first: the features or feature chains it connects. For +// connections, flows, successions and bindings alike. +static List Ends(Connector connector) +{ + try { return new[] { connector.sourceFeature }.OfType().Concat(connector.targetFeature).ToList(); } + catch (NotImplementedInToolkitException) { /* read around it */ } + return connector.ownedFeature.Where(e => e.isEnd == true && e.ownedReferenceSubsetting != null) + .Select(e => e.ownedReferenceSubsetting!.referencedFeature!).ToList(); +} + +// A feature chain as its features ([battery, powerOut] for battery.powerOut); else [feature]. +static IReadOnlyList PathOf(Feature feature) => + feature.chainingFeature.Count > 0 ? feature.chainingFeature : new[] { feature }; + +// What an accept action accepts (a transition's triggerAction[0]): its payload's types. +static IReadOnlyList AcceptedTypes(AcceptActionUsage accept) +{ + try { return accept.payloadParameter?.type ?? Array.Empty(); } + catch (NotImplementedInToolkitException) { /* read around it */ } + return TypesOf(accept.ownedMembership.OfType().First().ownedMemberParameter!); +} + +// What satisfies the requirement in `satisfy r by x;`: x. +static Feature? SatisfyingFeature(SatisfyRequirementUsage satisfy) +{ + try { return satisfy.satisfyingFeature; } catch (NotImplementedInToolkitException) { /* read around it */ } + var subject = satisfy.ownedMembership.OfType().First().ownedSubjectParameter!; + return (subject.ownedMembership.OfType().First().value as FeatureReferenceExpression)?.referent; +} + +// The subject parameter of a requirement or requirement definition: its own `subject`; else, +// nearest first, that of its definitions or of what it specializes as written; else null. +static Usage? SubjectOf(SpecType requirement) +{ + try + { + if (requirement is RequirementUsage ru) return ru.subjectParameter; + if (requirement is RequirementDefinition rd) return rd.subjectParameter; + } + catch (NotImplementedInToolkitException) { /* read around it */ } + var own = requirement.ownedMembership.OfType().FirstOrDefault(); + if (own != null) return own.ownedSubjectParameter; + IEnumerable bases = requirement is Classifier c ? WrittenSupertypes(c) + : requirement is Feature f ? TypesOf(f).Concat(WrittenGenerals(f)) + : Enumerable.Empty(); + foreach (var b in bases) + if (SubjectOf(b) is { } found) return found; + return null; +} + +// The states a state machine (a StateUsage or StateDefinition) starts in: the targets of its +// successions from its entry action (`entry; then off;`) or from the library's `start` +// (`first start then off;`), and of its transitions from its entry action +// (`entry action initial; transition initial then off;`). +static List InitialStates(SpecType machine) +{ + var entry = machine is StateUsage su ? su.entryAction : machine is StateDefinition sd ? sd.entryAction : null; + var initial = new List(); + foreach (var f in machine.ownedFeature) + { + if (f is TransitionUsage t) + { + if (entry != null && entry.Equals(t.source) && t.target is StateUsage reached) initial.Add(reached); + } + else if (f is SuccessionAsUsage s) + { + var e = Ends(s); + if (e.Count == 2 && e[1] is StateUsage next + && ((entry != null && entry.Equals(e[0])) || (e[0].isLibraryElement == true && e[0].name == "start"))) + initial.Add(next); + } + } + return initial; +} + +// The states of a state machine reachable from its initial states along its own transitions, in the +// order found (guards and triggers not considered; the transitions inside composite states not +// followed). +static List ReachableStates(SpecType machine) +{ + var next = machine.ownedFeature.OfType().Where(t => t.source != null) + .GroupBy(t => (IElement)t.source!).ToDictionary(g => g.Key, g => g.Select(t => t.target).ToList()); + var reached = InitialStates(machine); + for (var i = 0; i < reached.Count; i++) + if (next.TryGetValue(reached[i], out var targets)) + foreach (var n in targets) + if (n is StateUsage s && !reached.Contains(s)) reached.Add(s); + return reached; +} + +// The number an expression stands for when it is a literal, or a sign applied to one (`-40.0` is an +// OperatorExpression `-` whose operand is the literal 40.0). Anything else throws: evaluate it in +// context (the SysML Toolkit's evaluate refuses operator expressions). +static double Number(Expression expr) +{ + switch (expr) + { + case LiteralInteger i: return i.value!.Value; + case LiteralRational r: return r.value!.Value; + case OperatorExpression op when op.@operator is "-" or "+": + var operands = op.ownedFeature.SelectMany(f => f.ownedMembership.OfType()).Select(v => v.value!).ToList(); + if (operands.Count == 1) return op.@operator == "-" ? -Number(operands[0]) : Number(operands[0]); + break; + } + throw new InvalidOperationException($"not a literal number: {expr.MetaclassName}"); +} +``` + +**2. Query the SysML Toolkit's export as a payload** when a question needs the specification's full +derivation across a whole model (inherited members with visibility and imports, connector ends of +library connections). The export is written by the SysML Toolkit's compatibility path: it carries a +value for every property, including the ones the checked reader refuses, which the SysML Toolkit +does not vouch for. Say so in your answer when the result depends on them. + +```csharp +var library = PayloadLibrary.FromJson(File.ReadAllText("sysml.library.full.json")); // once +var exported = Model.FromFullJson(toolkit.FullJson(), library); // same element ids as the SysML Toolkit's +``` + +**3. Never** substitute an empty list, a guess or a default for a refused read. + +## Navigation recipes + +With the helpers above; each works through the SysML Toolkit and on a payload. + +```csharp +// d, part, port, usage, flow, machine and constraint stand for elements you have at hand (d: a +// definition or usage, as a SpecType); model is the Model. + +// Parts of a definition or usage, owned and inherited, not connections; the model's own, not the +// library's (start, done, subparts, ...) +var parts = FeaturesWithInherited(d).OfType().Where(p => p is not ConnectionUsage).ToList(); + +var definitions = TypesOf(part); // what a usage is typed by + +// The value a feature has in a context (`attribute :>> mass = 2.5;` in the part's definition or body) +var massF = (Feature)model.Resolve("Pkg::Component::mass")!; // the declaration; DeclarationOf(f) finds it from a redefinition +var expr = BoundValue(part, massF); // an Expression, or null +var mass = Number(expr!); // a literal, or a sign applied to one (-40.0) + +var (lower, upper) = MultiplicityOf(usage); // (2, 2) for [2]; (1, 1) by default; upper null for * +var text = lower == upper ? $"[{lower}]" : $"[{lower}..{(upper is null ? "*" : upper.ToString())}]"; + +// Roll-up: an attribute summed over a definition's direct parts (mass, cost, power); for a deeper +// tree, apply it to each part that has parts of its own (FeaturesWithInherited(p)) +double total = 0; +var missing = new List(); +foreach (var p in parts) +{ + var e = BoundValue(p, massF); + var (lo, hi) = MultiplicityOf(p); + if (e is null || hi is null || lo != hi) missing.Add(p.name); // no value, or a range ([4..6], *): report, never guess + else total += Number(e) * lo!.Value; +} + +// Ports: the definition, and whether it is conjugated (`port p : ~PowerPort;`). portDefinition +// (a list) is refused; isConjugated is false on a `~` port: the conjugation is its type, the +// ConjugatedPortDefinition that PowerPort owns (name "~PowerPort", qualified name +// "Pkg::PowerPort::'~PowerPort'", quotes included) +foreach (var t in TypesOf(port)) + Console.WriteLine(t is ConjugatedPortDefinition c ? "~" + c.originalPortDefinition!.qualifiedName : t.qualifiedName); + +// Connections (ConnectionUsage: connect, interfaces, allocations): the ends, the source first. The +// ends of an inherited connection are the supertype's features (Drone::rotors, not a redefining +// `part :>> rotors[8];`): FeatureIn(d, PathOf(end)[0]) is the one that stands for it in d +foreach (var c in FeaturesWithInherited(d).OfType()) +{ + Console.WriteLine(string.Join(" -> ", Ends(c).Select(e => string.Join(".", PathOf(e).Select(f => f.name))))); + var portTypes = Ends(c).Select(e => TypesOf(PathOf(e)[^1])).ToList(); // per end: [PortDefinition or ConjugatedPortDefinition] +} +// Flows (FlowUsage), bindings (BindingConnectorAsUsage) and successions are ConnectorAsUsage too, +// with the same Ends() +var items = ((FlowUsage)flow).payloadType; // the flowing item's definition + +// States +var machine = (StateUsage)model.Resolve("Pkg::Controller::modes")!; // e.g. an ExhibitStateUsage +var states = machine.nestedState; // its own states +var initial = InitialStates(machine); // `entry; then off;`, `first start then off;`, ... +var reachable = ReachableStates(machine); // from the initial states along the transitions +foreach (var t in machine.nestedTransition) // t.guardExpression +{ + ActionUsage from = t.source!, to = t.target!; // the states (cast to StateUsage); an initial + // transition (`transition init then off;`) leaves the entry action, not a state: no cast then + var signals = t.triggerAction.Count > 0 ? AcceptedTypes(t.triggerAction[0]) : Array.Empty(); + var timeOrChange = t.triggerAction.Count > 0 ? t.triggerAction[0].payloadArgument : null; // TriggerInvocationExpression for at/when +} + +// Requirements +foreach (var s in model.ElementsOfType()) +{ + var req = s.satisfiedRequirement!; // the requirement usage + var by = SatisfyingFeature(s); // the part that satisfies it + var definition = TypesOf(req); // [RequirementDefinition] + var subject = SubjectOf(req); // its subject parameter, or null; often the definition's + // (`subject bike : Bike;` in MassLimit: MassLimit::bike) + var limitF = TypesOf(req).SelectMany(t => FeaturesWithInherited(t)).First(f => f.name == "maxMass"); + var limit = BoundValue(req, limitF); // the requirement's value for its definition's maxMass + var constraints = req.ownedMembership.OfType() // its own constraints + .Where(m => m.kind == "requirement").Select(m => m.ownedConstraint).ToList(); +} +var body = constraint.ownedMembership.OfType().First().ownedResultExpression; +``` + +## Multiplicity + +`multiplicity` is only what the usage itself declares; `MultiplicityOf` above applies SysML's rule: +a usage without one takes the multiplicity of the features it redefines or subsets as written +(nearest first; `part :>> battery[2];` declares its own), and one that redefines or subsets nothing +is `[1..1]` if it is an attribute, item, part or port usage owned by a definition or usage, and +unconstrained (`[0..*]`) otherwise. Implied subsettings (`isImplied`, such as every part's +subsetting of the library's `parts`) do not count. A bound may be an expression to evaluate in +context (`Rotor[rotorCount]`); `Bounds` throws for it. + +## Evaluating the model's expressions + +Expressions are elements: `OperatorExpression` (`@operator` such as `"<="`, `"and"`, `"not"`; +`argument`), `FeatureReferenceExpression` (`referent`), `FeatureChainExpression` (`a.b`: +`argument[0]` is `a`, `targetFeature` is `b`; it is an OperatorExpression too, so match it first), +literals with `value` (`LiteralInteger` `long?`, `LiteralRational` `double?`, `LiteralBoolean`, +`LiteralString`, `LiteralInfinity` for `*`), `TriggerInvocationExpression` (`kind`: `at`, `after`, +`when`). An enumeration literal is an `EnumerationUsage` whose `owningNamespace` is the +`EnumerationDefinition` (its `owningType` is null, by the specification). Through the SysML Toolkit, +`argument` is refused: an expression's operands are its `ownedFeature`s, each bound by a +`FeatureValue` in its `ownedMembership`. + +The SysML Toolkit's `evaluate(target)` operation evaluates some expressions (it returns elements); +beyond that, the SDK does not evaluate. The SDK's source repository +(https://github.com/Open-MBEE/sysml-sdk, not the release packages) has, in +`examples/queries/csharp/Queries.cs`, an evaluator in three-valued logic and complete queries: +reachable states with shortest trigger sequences, bill of materials, attribute roll-up, +connectivity, requirement checks. Where it is at hand, start from it for such questions; the recipes +above cover the simple cases. + +## Other differences from the specification + +- **With the library loaded**, `usage`/`feature` (in a payload) include library features: filter + with `isLibraryElement`. A flow's `connectorEnd` also lists the library flow's ends; use `Ends`. +- The second operand of `and`/`or`/`implies` is the operand expression itself, not the + `FeatureReferenceExpression` to it that the specification builds. Accept both. +- An unnamed `satisfy` has no `name`, but a qualified-name lookup may still find it under the name + of the requirement it satisfies. A feature named only through what it redefines has `name` from it + and `declaredName` null (a satisfy's subject parameter is named `subj`, although it redefines the + subject of the requirement's definition). +- `mayTimeVary`, `isVariable` and `isConstant` on usages throw `NotImplementedInToolkitException`. +- In the SysML Toolkit's export, an alias (`alias ax for x;`) hides the membership of the feature it + names from what specializations inherit, and a conjugated port's `portDefinition` is the + `ConjugatedPortDefinition` (`~PowerPort`), as the specification says. +- A payload answers what its writer wrote: stand-ins where the writer had no value (null, `false`, + an empty list), and `UnresolvedReferenceException` for references + into the standard library unless it was given the library JSON. + +## Verify + +- Run the same query through the SysML Toolkit (with the helpers) and on its export as a payload + (the plain derived properties), matching elements by `ElementId`; differences point at the + SysML Toolkit, the export, or your code. +- Format with `CultureInfo.InvariantCulture` and sort names with `StringComparer.Ordinal`, so output + does not depend on the machine's culture. +- For more examples: the guide and runnable tutorial (`examples/csharp/`) and the query examples + (`examples/queries/csharp/`) in the SDK repository. diff --git a/skills/sysml-sdk-java/SKILL.md b/skills/sysml-sdk-java/SKILL.md new file mode 100644 index 0000000..9e30b4b --- /dev/null +++ b/skills/sysml-sdk-java/SKILL.md @@ -0,0 +1,572 @@ +--- +name: sysml-sdk-java +description: Writes Java code that reads, navigates and queries SysML v2 and KerML models with the sysml-sdk jar (packages org.openmbee.sysml and .classes), through the OpenMBEE SysML Toolkit (a native binding library) or from a full-form interchange JSON payload. Use when a task involves loading .sysml/.kerml files or SysML v2 JSON in Java, walking parts, features, states, connections or requirements, evaluating a model's expressions, or answering questions about a SysML v2 model with code. +--- + +# SysML v2 SDK for Java + +The SDK is the OMG metamodel as Java interfaces: every KerML and SysML metaclass, property and +operation, under its specification name, with the metaclass hierarchy as interface inheritance. +A model comes from one of two backends: + +- **the SysML Toolkit**, through its native binding library (the foreign function API): reads SysML + text, resolves names, computes derived properties and evaluates operations, and refuses what it + cannot derive completely; +- **a payload**: a full-form interchange JSON export from any SysML v2 tool, pure Java. + +The SDK never guesses. A member the SysML Toolkit does not answer throws +`NotImplementedInToolkitException` with the reason the SysML Toolkit gives; a reference that does +not resolve throws `UnresolvedReferenceException`. Never catch these to substitute a made-up +value; read around them as described below, or report them. + +## Setup + +- JDK 21 or later. On JDK 21 compile and run with `--enable-preview` (and `--release 21` for + `javac`): the foreign function API is a preview there; from JDK 22 on leave both out. Add + `--enable-native-access=ALL-UNNAMED` to silence the native-access warning. +- Put `sysml-sdk-0.1.0.jar` on the class path; no dependencies, no build tool (the class path + separator is `;` on Windows, quoted in Git Bash, and `:` elsewhere): + + ```sh + javac --enable-preview --release 21 -cp sysml-sdk-0.1.0.jar Main.java + java --enable-preview --enable-native-access=ALL-UNNAMED -cp "sysml-sdk-0.1.0.jar;." Main # Windows + java --enable-preview --enable-native-access=ALL-UNNAMED -cp sysml-sdk-0.1.0.jar:. Main # Linux, macOS + ``` +- The jar carries the binding library for Windows x64, Linux x64, and macOS on Apple + silicon and on Intel, and copies the one for the running platform into the temporary directory on + first use. To use another build, set `SYSMLV2_ABI` to it, or name it in code with + `new ToolkitBackend.Library(Path.of(...))` in place of `ToolkitBackend.library()`. +- The release's `sysml_library-0.1.0.zip` is the standard library: `sysml.library/` (the models, + for the SysML Toolkit) and `sysml.library.full.json` (for payloads). + +Costs: opening a model with the standard library takes one to three seconds; the SysML Toolkit's +JSON export of a model takes a few seconds; the library JSON is about 160 MB and needs `-Xmx2g` to +be read (read it once). A model file or library directory that does not exist throws an +`SdkException` naming it; a model that does not load throws with a status, and the SysML Toolkit's +reason (a parse error) is printed on stderr. + +## Loading a model + +Through the SysML Toolkit: + +```java +import java.nio.file.*; +import java.util.*; +import org.openmbee.sysml.*; // Model, ToolkitBackend, Element, PayloadLibrary, the exceptions +import org.openmbee.sysml.classes.*; // the metaclasses + +try (ToolkitBackend toolkit = ToolkitBackend.open(ToolkitBackend.library(), // the jar's binding library, or SYSMLV2_ABI's + List.of("model.sysml"), // your files; List.of() with sources + null, // or in-memory sources: Map.of("model.sysml", text) + "sysml.library")) { // the standard library directory + Model model = new Model(toolkit); + // ... your code here ... +} +``` + +From a payload (a JSON export you have; run with `-Xmx2g`): + +```java +PayloadLibrary library = PayloadLibrary.fromJson(Files.readString(Path.of("sysml.library.full.json"))); // once, share it +Model model = Model.fromFullJson(Files.readString(Path.of("model.json")), library); +``` + +Load the standard library whenever the model uses it, which nearly every model does +(`ScalarValues::Real`, `ISQ::mass`, and implicitly `Parts::parts`). Without it, references into the +library stay unresolved: harmless until you read one, then `UnresolvedReferenceException`. +(`ToolkitBackend.open(List.of("a.sysml"))` and `ToolkitBackend.openSources(Map.of("m.sysml", text))` +open without it.) Relative paths are relative to the working directory. Element ids depend on the +file names given. With sources given, paths are ignored. + +A payload refers to the standard library's elements without containing them; pass the library JSON +and those references resolve. Library elements are not the model's (`all()`, `roots()`, +`elementsOfType` skip them); a qualified name is looked up in the payload first. The library JSON +lists each library element's own members only, not what it inherits. + +## The shape of the API + +- **Find:** `model.resolve("Pkg::Part::feature")` returns an `Element` or `null`: cast it + (`(PartDefinition) model.resolve(...)`). `model.elementsOfType(PartUsage.class)` (subclasses + included), `model.all()`, `model.roots()` (top-level namespaces; the packages are their + `getOwnedMember()`). `model.resolve` is the SysML Toolkit's own name lookup: it also finds + inherited members and members of a feature's type (`"EBikes::CargoEBike::wheels"` is + `Bike::wheels`, `"EBikes::CargoEBike::battery::mass"` is `Battery::mass`), and it answers where + the specification's `resolve` operation is refused. +- **Properties** are getters, `get` + the specification name: `getQualifiedName()`, + `getOwnedFeature()`, `getIsComposite()`. **Operations** keep their names: `effectiveName()`, + `resolve("Name")` on a `Namespace`, `instantiatedType()`. +- **Metaclass tests:** `el instanceof PartUsage p` (the interfaces are the real hierarchy). + `ConnectionUsage`, `InterfaceUsage` and `AllocationUsage` are `PartUsage`s too (`FlowUsage` is + not); every connector, connections, flows, successions and bindings alike, is a + `ConnectorAsUsage`. A definition's `getOwnedPart()` therefore lists its connections too. + `el.$metaclass()` is the concrete metaclass name. +- **Every element** has the members of `Element`: `getName()`, `getDeclaredName()`, + `getQualifiedName()`, `getOwner()`, `getOwningNamespace()`, `getDocumentation()`, + `getIsLibraryElement()`, `effectiveName()`. A getter declared by a subclass needs a cast first. +- **Values:** multi-valued properties are `List` (empty when absent); single-valued ones are the + type or `null` (`getSourceFeature()` is one feature, `getTargetFeature()` a list). `Boolean` + (nullable: test `Boolean.TRUE.equals(x)`), `Long` for Integer, `Double` for Real, `String` for + enumeration values (lowercase: `"requirement"`). An unnamed element has `getName()` null. +- **Identity:** within one model, `equals`/`hashCode` go by element id (`$id()`), so elements work in + sets and as map keys. The same element read through two models (the SysML Toolkit's and its + export's) is not `equals`: compare their `$id()`s. Runtime members start with `$`: `$id()`, + `$handle()`, `$metaclass()`, `$model()`, `$raw(prop)`. +- **Errors:** `NotImplementedInToolkitException`, `UnresolvedReferenceException`, `GoneException`, + all `SdkException`s (unchecked). An operation argument that must be an element and is null throws + `IllegalArgumentException`. +- **Operations** need the SysML Toolkit (a payload throws for every one) and take the + specification's parameters in order, as the interfaces declare them + (`inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied)`). The SysML Toolkit has + a body for about a third of them and answers a call only where its evidence for the model is + complete. Answered on a typical model: `effectiveName()` (not on every unnamed feature), + `effectiveShortName()`, `resolveGlobal`, `supertypes(true)` (the argument is `excludeImplied`), + `evaluate(target)` (target: the element to evaluate in, such as the part usage, never null; it + returns elements, such as the literal a feature is bound to), `modelLevelEvaluable`. Refused + there: `resolve`, `resolveLocal`, `resolveVisible`, `visibleMemberships`, `namesOf`, + `inheritedMemberships`, `supertypes(false)`. No body at all: `isCompatibleWith`, `specializes`, + `allSupertypes`, `directionOf`, ... Catch the refusal. +- **Name clashes:** `classes.*` has `Function`, `Class`, `Package`, `Type`, `Predicate`, + `Expression`. Import `java.util.function.Function` by its single name (it then wins), and do not + use bare `Class` or `Package` (ambiguous with `java.lang`): import the metaclass by its single + name if you need it. + +## When the SysML Toolkit refuses a read (read this before writing queries) + +The SysML Toolkit's checked reader answers a property only where it can derive it completely. In +this release it refuses most of what builds on inheritance, so plan for it: + +- **refused on nearly every element:** `getFeature()`, `getInheritedFeature()`, + `getInheritedMembership()`, `getFeatureMembership()`, `getMember()`, `getMembership()`, + `getImportedMembership()`, `getEndFeature()`, `getInput()`, `getOutput()`, `getUsage()`, + `getDirectedUsage()`, `getDefinition()` and the kind-specific definitions + (`getPartDefinition()`, `getPortDefinition()`, `getItemDefinition()`, + `getRequirementDefinition()`, ...), `getParameter()` and `getFeaturingType()`; +- **refused on features, even with a written typing:** `getType()`. Assume it is refused and use + `typesOf` below; +- **refused on connectors, accept actions, requirements and satisfy relations:** + `getSourceFeature()`, `getTargetFeature()`, `getConnectorEnd()`, `getRelatedFeature()`, + `getPayloadParameter()`, `getSubjectParameter()`, `getActorParameter()`, + `getStakeholderParameter()`, `getSatisfyingFeature()`; +- **answered:** what the model states itself: `getOwnedMember()`, `getOwnedFeature()`, + `getOwnedMembership()`, the owned lists (`getOwnedUsage()`, `getOwnedPart()`, `getNestedUsage()`, + `getNestedPart()`, `getNestedAttribute()`, `getNestedState()`, `getNestedTransition()`, ...; owned + members only, so an empty `getNestedPart()` does not mean a usage has no parts), `getOwner()`, + `getOwningNamespace()`, `getOwningType()`, `getName()`, `getDeclaredName()`, + `getQualifiedName()`, `getDocumentation()`, `getMultiplicity()`, `getDirection()`, + `getIsComposite()`, `getIsEnd()`, `getIsImplied()`, `getEntryAction()`, `getIsParallel()`, + `getTriggerAction()`, a transition's `getSource()` and `getTarget()`, + `getSatisfiedRequirement()`, `getChainingFeature()`, and the specific owned relationships with + their ends: `getOwnedTyping()` (`getType()`), `getOwnedSubclassification()` + (`getSuperclassifier()`), `getOwnedSpecialization()` (`getGeneral()`), `getOwnedSubsetting()` + (`getSubsettedFeature()`; it holds the redefinitions too), `getOwnedRedefinition()` + (`getRedefinedFeature()`), `getOwnedReferenceSubsetting()` (`getReferencedFeature()`), and a port + definition's `getConjugatedPortDefinition()` / `getOriginalPortDefinition()`. + (`getOwnedMember()`, `getOwnedFeature()` and `getOwnedMembership()` are refused on a + `FeatureReferenceExpression`.) + +The refusal's message names the member and the SysML Toolkit's reason (`property has an incomplete +derivation`, `Type features are incomplete: IncompleteProvider`, `incomplete operation evidence`): +the SysML Toolkit lacks complete evidence for that element, which says nothing about whether the +model is right. Whether a read is refused depends on the property and the element; try one element +first rather than assume. Where it is refused, in this order: + +**1. Read what the model states.** The helpers below derive what the common refused properties +give, from the owned relationships (verified through the SysML Toolkit and through the export alike; +copy them into your class as they are). `getIsImplied()` marks the relationships the SysML Toolkit +adds from the library, which the model does not write. + +```java +/** The features a feature redefines or subsets as the model writes them (getOwnedSubsetting() + * holds the redefinitions too; getIsImplied() marks what the SysML Toolkit adds from the + * library). */ +static List writtenGenerals(Feature feature) { + List out = new ArrayList<>(); + for (Subsetting s : feature.getOwnedSubsetting()) + if (!Boolean.TRUE.equals(s.getIsImplied())) out.add(s.getSubsettedFeature()); + return out; +} + +/** A definition's supertypes as the model writes them, without the library ones the SysML Toolkit + * implies (Parts::Part for a part definition). */ +static List writtenSupertypes(Classifier definition) { + List out = new ArrayList<>(); + for (Subclassification s : definition.getOwnedSubclassification()) + if (!Boolean.TRUE.equals(s.getIsImplied())) out.add(s.getSuperclassifier()); + return out; +} + +/** A feature's types: getType() where the SysML Toolkit answers it; else its own typings; else + * those of the features it redefines or subsets as written (`part :>> battery[2];`). */ +static List typesOf(Feature feature) { + try { return feature.getType(); } catch (NotImplementedInToolkitException refused) { /* read around it */ } + List own = new ArrayList<>(); + for (FeatureTyping t : feature.getOwnedTyping()) own.add(t.getType()); + if (!own.isEmpty()) return own; + for (Feature general : writtenGenerals(feature)) { + List found = typesOf(general); + if (!found.isEmpty()) return found; + } + return List.of(); +} + +/** t's own features, then those it inherits along what the model writes (a definition's + * supertypes; a usage's types and the usages it redefines or subsets), without the ones redefined + * on the way. The model's own features, not the library's; not the specification's full + * derivation (no visibility, no imports). */ +static List featuresWithInherited(Type t) { return featuresWithInherited(t, new HashSet<>()); } + +static List featuresWithInherited(Type t, Set seen) { + if (!seen.add(t)) return new ArrayList<>(); + List own = new ArrayList<>(t.getOwnedFeature()); + Set redefined = new HashSet<>(); + for (Feature f : own) for (Redefinition r : f.getOwnedRedefinition()) redefined.add(r.getRedefinedFeature()); + List bases = new ArrayList<>(); + if (t instanceof Classifier c) bases.addAll(writtenSupertypes(c)); + else if (t instanceof Feature f) { bases.addAll(typesOf(f)); bases.addAll(writtenGenerals(f)); } + for (Type base : bases) + for (Feature f : featuresWithInherited(base, seen)) + if (!redefined.contains(f) && !own.contains(f)) own.add(f); + return own; +} + +/** The feature that stands for `feature` in `context`: `feature` itself where the context inherits + * it, or the nearest one that redefines it, directly or through other redefinitions; null where the + * context has neither (pass the declaration, `Component::mass`, not a redefinition in some other + * definition). */ +static Feature featureIn(Type context, Feature feature) { + for (Feature f : featuresWithInherited(context)) + if (f.equals(feature) || redefines(f, feature, new HashSet<>(Set.of(f)))) return f; + return null; +} + +static boolean redefines(Feature f, Feature target, Set seen) { + for (Redefinition r : f.getOwnedRedefinition()) { + Feature g = r.getRedefinedFeature(); + if (g.equals(target) || (seen.add(g) && redefines(g, target, seen))) return true; + } + return false; +} + +/** The expression that gives `feature` its value in `context` (`attribute :>> mass = 2.5;` in the + * context's definition or body), or null. Initial values (`:=`) and defaults (`default =`) count + * too; the FeatureValue's getIsInitial() / getIsDefault() tell them apart. */ +static Expression boundValue(Type context, Feature feature) { + Feature f = featureIn(context, feature); + if (f == null) return null; + for (Membership m : f.getOwnedMembership()) + if (m instanceof FeatureValue v) return v.getValue(); + return null; +} + +/** The feature a chain of written redefinitions starts from (`Frame::mass` -> `Unit::mass`): the + * declaration to pass to boundValue and featureIn. */ +static Feature declarationOf(Feature feature) { + Set seen = new HashSet<>(Set.of(feature)); + while (true) { + Feature next = null; + for (Redefinition r : feature.getOwnedRedefinition()) + if (!Boolean.TRUE.equals(r.getIsImplied())) { next = r.getRedefinedFeature(); break; } + if (next == null || !seen.add(next)) return feature; + feature = next; + } +} + +/** {lower, upper} of a MultiplicityRange with literal bounds; upper null for `*`. `[4]` has only an + * upper bound: lower = upper then. A bound that is an expression (`[rotorCount]`) throws. */ +static Long[] bounds(MultiplicityRange range) { + Long upper = literal(range.getUpperBound()); + return new Long[] { range.getLowerBound() == null ? upper : literal(range.getLowerBound()), upper }; +} + +static Long literal(Expression e) { + if (e instanceof LiteralInfinity) return null; + if (e instanceof LiteralInteger i) return i.getValue(); + throw new IllegalArgumentException("a bound to evaluate in context: " + e.$metaclass()); +} + +/** {lower, upper} of the multiplicity that applies to a usage: its own; else, nearest first, that + * of the features it redefines or subsets as written; else {1, 1} where SysML gives the default + * (an attribute, item, part or port usage, not a connection, owned by a definition or usage); + * else {0, null}, unconstrained. */ +static Long[] multiplicityOf(Feature usage) { + Set seen = new HashSet<>(Set.of(usage)); + Deque todo = new ArrayDeque<>(List.of(usage)); + while (!todo.isEmpty()) { + Feature u = todo.removeFirst(); + if (u.getMultiplicity() instanceof MultiplicityRange range) return bounds(range); + List generals = writtenGenerals(u); + if (generals.isEmpty()) { + boolean kind = (u instanceof AttributeUsage || u instanceof ItemUsage || u instanceof PortUsage) // a PartUsage is an ItemUsage + && !(u instanceof ConnectionUsage); + boolean owned = u.getOwningType() instanceof Definition || u.getOwningType() instanceof Usage; + return kind && owned ? new Long[] {1L, 1L} : new Long[] {0L, null}; + } + for (Feature g : generals) if (seen.add(g)) todo.addLast(g); + } + return new Long[] {0L, null}; +} + +/** A connector's ends in order, the source first: the features or feature chains it connects. For + * connections, flows, successions and bindings alike. */ +static List ends(Connector connector) { + List out = new ArrayList<>(); + try { + out.add(connector.getSourceFeature()); + out.addAll(connector.getTargetFeature()); + return out; + } catch (NotImplementedInToolkitException refused) { out.clear(); } + for (Feature e : connector.getOwnedFeature()) + if (Boolean.TRUE.equals(e.getIsEnd()) && e.getOwnedReferenceSubsetting() != null) + out.add(e.getOwnedReferenceSubsetting().getReferencedFeature()); + return out; +} + +/** A feature chain as its features ([battery, powerOut] for battery.powerOut); else [feature]. */ +static List path(Feature feature) { + return feature.getChainingFeature().isEmpty() ? List.of(feature) : feature.getChainingFeature(); +} + +/** What an accept action accepts (a transition's getTriggerAction().get(0)): its payload's types. */ +static List acceptedTypes(AcceptActionUsage accept) { + try { return accept.getPayloadParameter().getType(); } catch (NotImplementedInToolkitException refused) { /* read around it */ } + for (Membership m : accept.getOwnedMembership()) + if (m instanceof ParameterMembership p) return typesOf(p.getOwnedMemberParameter()); + return List.of(); +} + +/** What satisfies the requirement in `satisfy r by x;`: x. */ +static Feature satisfyingFeature(SatisfyRequirementUsage satisfy) { + try { return satisfy.getSatisfyingFeature(); } catch (NotImplementedInToolkitException refused) { /* read around it */ } + for (Membership m : satisfy.getOwnedMembership()) + if (m instanceof SubjectMembership sm) + for (Membership v : sm.getOwnedSubjectParameter().getOwnedMembership()) + if (v instanceof FeatureValue fv && fv.getValue() instanceof FeatureReferenceExpression ref) return ref.getReferent(); + return null; +} + +/** The subject parameter of a requirement or requirement definition: its own `subject`; else, + * nearest first, that of its definitions or of what it specializes as written; else null. */ +static Usage subjectOf(Type requirement) { + try { + if (requirement instanceof RequirementUsage r) return r.getSubjectParameter(); + if (requirement instanceof RequirementDefinition r) return r.getSubjectParameter(); + } catch (NotImplementedInToolkitException refused) { /* read around it */ } + for (Membership m : requirement.getOwnedMembership()) + if (m instanceof SubjectMembership sm) return sm.getOwnedSubjectParameter(); + List bases = new ArrayList<>(); + if (requirement instanceof Classifier c) bases.addAll(writtenSupertypes(c)); + else if (requirement instanceof Feature f) { bases.addAll(typesOf(f)); bases.addAll(writtenGenerals(f)); } + for (Type base : bases) { + Usage found = subjectOf(base); + if (found != null) return found; + } + return null; +} + +/** The states a state machine (a StateUsage or StateDefinition) starts in: the targets of its + * successions from its entry action (`entry; then off;`) or from the library's `start` + * (`first start then off;`), and of its transitions from its entry action + * (`entry action initial; transition initial then off;`). */ +static List initialStates(Type machine) { + ActionUsage entry = machine instanceof StateUsage su ? su.getEntryAction() + : machine instanceof StateDefinition sd ? sd.getEntryAction() : null; + List out = new ArrayList<>(); + for (Feature f : machine.getOwnedFeature()) { + if (f instanceof TransitionUsage t) { + if (entry != null && entry.equals(t.getSource()) && t.getTarget() instanceof StateUsage target) out.add(target); + } else if (f instanceof SuccessionAsUsage s) { + List e = ends(s); + if (e.size() == 2 && e.get(1) instanceof StateUsage target && ((entry != null && entry.equals(e.get(0))) + || (Boolean.TRUE.equals(e.get(0).getIsLibraryElement()) && "start".equals(e.get(0).getName())))) + out.add(target); + } + } + return out; +} + +/** The states of a state machine reachable from its initial states along its own transitions, in + * the order found (guards and triggers not considered; the transitions inside composite states not + * followed). */ +static List reachableStates(Type machine) { + Map> next = new HashMap<>(); + for (Feature f : machine.getOwnedFeature()) + if (f instanceof TransitionUsage t) next.computeIfAbsent(t.getSource(), k -> new ArrayList<>()).add(t.getTarget()); + List reached = new ArrayList<>(initialStates(machine)); + for (int i = 0; i < reached.size(); i++) + for (ActionUsage n : next.getOrDefault(reached.get(i), List.of())) + if (n instanceof StateUsage s && !reached.contains(s)) reached.add(s); + return reached; +} + +/** The number an expression stands for when it is a literal, or a sign applied to one (`-40.0` is + * an OperatorExpression `-` whose operand is the literal 40.0). Anything else throws: evaluate it + * in context (the SysML Toolkit's evaluate refuses operator expressions). */ +static double number(Expression expr) { + if (expr instanceof LiteralInteger i) return i.getValue(); + if (expr instanceof LiteralRational r) return r.getValue(); + if (expr instanceof OperatorExpression op && ("-".equals(op.getOperator()) || "+".equals(op.getOperator()))) { + List operands = new ArrayList<>(); + for (Feature f : op.getOwnedFeature()) + for (Membership m : f.getOwnedMembership()) if (m instanceof FeatureValue v) operands.add(v.getValue()); + if (operands.size() == 1) return "-".equals(op.getOperator()) ? -number(operands.get(0)) : number(operands.get(0)); + } + throw new IllegalArgumentException("not a literal number: " + expr.$metaclass()); +} +``` + +**2. Query the SysML Toolkit's export as a payload** when a question needs the specification's full +derivation across a whole model (inherited members with visibility and imports, connector ends of +library connections). The export is written by the SysML Toolkit's compatibility path: it carries a +value for every property, including the ones the checked reader refuses, which the SysML Toolkit +does not vouch for. Say so in your answer when the result depends on them. Run with `-Xmx2g`. + +```java +PayloadLibrary library = PayloadLibrary.fromJson(Files.readString(Path.of("sysml.library.full.json"))); // once +Model exported = Model.fromFullJson(toolkit.fullJson(), library); // same element ids as the SysML Toolkit's +``` + +**3. Never** substitute an empty list, a guess or a default for a refused read. + +## Navigation recipes + +With the helpers above; each works through the SysML Toolkit and on a payload. + +```java +// d, part, port, usage, flow, machine and constraint stand for elements you have at hand (d: a +// definition or usage, as a Type); model is the Model. + +// Parts of a definition or usage, owned and inherited, not connections; the model's own, not the +// library's (start, done, subparts, ...) +List parts = new ArrayList<>(); +for (Feature f : featuresWithInherited(d)) + if (f instanceof PartUsage p && !(f instanceof ConnectionUsage)) parts.add(p); + +List definitions = typesOf(part); // what a usage is typed by + +// The value a feature has in a context (`attribute :>> mass = 2.5;` in the part's definition or body) +Feature massF = (Feature) model.resolve("Pkg::Component::mass"); // the declaration; declarationOf(f) finds it from a redefinition +Expression expr = boundValue(part, massF); // or null +double mass = number(expr); // a literal, or a sign applied to one (-40.0) + +Long[] m = multiplicityOf(usage); // {2, 2} for [2]; {1, 1} by default; upper null for * +String text = m[0].equals(m[1]) ? "[" + m[0] + "]" : "[" + m[0] + ".." + (m[1] == null ? "*" : m[1]) + "]"; + +// Roll-up: an attribute summed over a definition's direct parts (mass, cost, power); for a deeper +// tree, apply it to each part that has parts of its own (featuresWithInherited(p)) +double total = 0; +List missing = new ArrayList<>(); +for (PartUsage p : parts) { + Expression e = boundValue(p, massF); + Long[] n = multiplicityOf(p); + if (e == null || n[1] == null || !n[0].equals(n[1])) missing.add(p.getName()); // no value, or a range ([4..6], *): report, never guess + else total += number(e) * n[0]; +} + +// Ports: the definition, and whether it is conjugated (`port p : ~PowerPort;`). getPortDefinition() +// (a list) is refused; getIsConjugated() is false on a `~` port: the conjugation is its type, the +// ConjugatedPortDefinition that PowerPort owns (name "~PowerPort", qualified name +// "Pkg::PowerPort::'~PowerPort'", quotes included) +for (Type t : typesOf(port)) + System.out.println(t instanceof ConjugatedPortDefinition c ? "~" + c.getOriginalPortDefinition().getQualifiedName() : t.getQualifiedName()); + +// Connections (ConnectionUsage: connect, interfaces, allocations): the ends, the source first. The +// ends of an inherited connection are the supertype's features (Drone::rotors, not a redefining +// `part :>> rotors[8];`): featureIn(d, chain.get(0)) is the one that stands for it in d +for (Feature f : featuresWithInherited(d)) + if (f instanceof ConnectionUsage c) + for (Feature end : ends(c)) { + List chain = path(end); // [battery, powerOut], then the target + List portTypes = typesOf(chain.get(chain.size() - 1)); // [PortDefinition or ConjugatedPortDefinition] + } +// Flows (FlowUsage), bindings (BindingConnectorAsUsage) and successions are ConnectorAsUsage too, +// with the same ends() +List items = ((FlowUsage) flow).getPayloadType(); // the flowing item's definition + +// States +StateUsage machine = (StateUsage) model.resolve("Pkg::Controller::modes"); // e.g. an ExhibitStateUsage +List states = machine.getNestedState(); // its own states +List initial = initialStates(machine); // `entry; then off;`, `first start then off;`, ... +List reachable = reachableStates(machine); // from the initial states along the transitions +for (TransitionUsage t : machine.getNestedTransition()) { + ActionUsage from = t.getSource(), to = t.getTarget(); // the states (cast to StateUsage); an initial + // transition (`transition init then off;`) leaves the entry action, not a state: no cast then + List signals = t.getTriggerAction().isEmpty() ? List.of() : acceptedTypes(t.getTriggerAction().get(0)); + if (!t.getTriggerAction().isEmpty()) + t.getTriggerAction().get(0).getPayloadArgument(); // TriggerInvocationExpression for at/when +} + +// Requirements +for (SatisfyRequirementUsage s : model.elementsOfType(SatisfyRequirementUsage.class)) { + RequirementUsage req = s.getSatisfiedRequirement(); + Feature by = satisfyingFeature(s); // the part that satisfies it + List definition = typesOf(req); // [RequirementDefinition] + Usage subject = subjectOf(req); // its subject parameter, or null; often the definition's + // (`subject bike : Bike;` in MassLimit: MassLimit::bike) + Feature limitF = null; // the definition's maxMass + for (Type t : typesOf(req)) for (Feature f : featuresWithInherited(t)) if ("maxMass".equals(f.getName())) limitF = f; + Expression limit = boundValue(req, limitF); // the requirement's value for it + List constraints = new ArrayList<>(); // its own constraints + for (Membership mm : req.getOwnedMembership()) + if (mm instanceof RequirementConstraintMembership rc && "requirement".equals(rc.getKind())) constraints.add(rc.getOwnedConstraint()); +} +``` + +## Multiplicity + +`getMultiplicity()` is only what the usage itself declares; `multiplicityOf` above applies SysML's +rule: a usage without one takes the multiplicity of the features it redefines or subsets as written +(nearest first; `part :>> battery[2];` declares its own), and one that redefines or subsets nothing +is `[1..1]` if it is an attribute, item, part or port usage owned by a definition or usage, and +unconstrained (`[0..*]`) otherwise. Implied subsettings (`getIsImplied()`, such as every part's +subsetting of the library's `parts`) do not count. A bound may be an expression to evaluate in +context (`Rotor[rotorCount]`); `bounds` throws for it. + +## Evaluating the model's expressions + +Expressions are elements: `OperatorExpression` (`getOperator()` such as `"<="`, `"and"`, `"not"`; +`getArgument()`), `FeatureReferenceExpression` (`getReferent()`), `FeatureChainExpression` (`a.b`: +argument 0 is `a`, `getTargetFeature()` is `b`; it is an OperatorExpression too, so test it first), +literals with `getValue()` (`LiteralInteger` Long, `LiteralRational` Double, `LiteralBoolean`, +`LiteralString`, `LiteralInfinity` for `*`), `TriggerInvocationExpression` (`getKind()`: `at`, +`after`, `when`). An enumeration literal is an `EnumerationUsage` whose `getOwningNamespace()` is the +`EnumerationDefinition` (its owning type is null, by the specification). Through the SysML Toolkit, +`getArgument()` is refused: an expression's operands are its `getOwnedFeature()`s, each bound by a +`FeatureValue` in its `getOwnedMembership()`. + +The SysML Toolkit's `evaluate(target)` operation evaluates some expressions (it returns elements); +beyond that, the SDK does not evaluate. The SDK's source repository +(https://github.com/Open-MBEE/sysml-sdk, not the release packages) has, in +`examples/queries/java/Queries.java`, an evaluator in three-valued logic and complete queries: +reachable states with shortest trigger sequences, bill of materials, attribute roll-up, +connectivity, requirement checks. Where it is at hand, start from it for such questions; the recipes +above cover the simple cases. + +## Other differences from the specification + +- **With the library loaded**, `getUsage()`/`getFeature()` (in a payload) include library features: + filter with `getIsLibraryElement()`. A flow's `getConnectorEnd()` also lists the library flow's + ends; use `ends`. +- The second operand of `and`/`or`/`implies` is the operand expression itself, not the + `FeatureReferenceExpression` to it that the specification builds. Accept both. +- An unnamed `satisfy` has no name, but a qualified-name lookup may still find it under the name of + the requirement it satisfies. A feature named only through what it redefines has `getName()` from + it and `getDeclaredName()` null (a satisfy's subject parameter is named `subj`, although it + redefines the subject of the requirement's definition). +- `getMayTimeVary()`, `getIsVariable()` and `getIsConstant()` on usages throw + `NotImplementedInToolkitException`. +- In the SysML Toolkit's export, an alias (`alias ax for x;`) hides the membership of the feature it + names from what specializations inherit, and a conjugated port's `getPortDefinition()` is the + `ConjugatedPortDefinition` (`~PowerPort`), as the specification says. +- A payload answers what its writer wrote: stand-ins where the writer had no value (null, `false`, + an empty list), and `UnresolvedReferenceException` for references + into the standard library unless it was given the library JSON. + +## Verify + +- Run the same query through the SysML Toolkit (with the helpers) and on its export as a payload + (the plain derived properties), matching elements by `$id()`; differences point at the + SysML Toolkit, the export, or your code. +- Format numbers with `Locale.ROOT` (or `BigDecimal`) so output does not depend on the machine's + locale. +- For more examples: the guide and runnable tutorial (`examples/java/`) and the query examples + (`examples/queries/java/`) in the SDK repository. diff --git a/skills/sysml-sdk-python/SKILL.md b/skills/sysml-sdk-python/SKILL.md new file mode 100644 index 0000000..7c2529f --- /dev/null +++ b/skills/sysml-sdk-python/SKILL.md @@ -0,0 +1,535 @@ +--- +name: sysml-sdk-python +description: Writes Python code that reads, navigates and queries SysML v2 and KerML models with the SysML v2 SDK (import sysml), through the OpenMBEE SysML Toolkit or from a full-form interchange JSON payload. Use when a task involves loading .sysml/.kerml files or SysML v2 JSON in Python, walking parts, features, states, connections or requirements, evaluating a model's expressions, or answering questions about a SysML v2 model with code. +--- + +# SysML v2 SDK for Python + +The SDK is the OMG metamodel as Python classes: every KerML and SysML metaclass, property and +operation, under its specification name. A model comes from one of two backends: + +- **the SysML Toolkit**, through its native binding library: reads `.sysml`/`.kerml` text, resolves + names, computes derived properties and evaluates operations, and refuses what it cannot derive + completely; +- **a payload**: a full-form interchange JSON export from any SysML v2 tool, read with no native code. + +The SDK never guesses. A member the SysML Toolkit does not answer raises `NotImplementedInToolkit` +with the reason the SysML Toolkit gives; a reference that does not resolve raises +`UnresolvedReference`. Never catch these to substitute a made-up value; read around them as +described below, or report them. + +## Setup + +```sh +pip install sysml-0.1.0-py3-none-.whl # the wheel carries the binding library +``` + +The release's `sysml_library-0.1.0.zip` is the standard library: `sysml.library/` (the models, +for the SysML Toolkit's `library_dir`) and `sysml.library.full.json` (for payloads). `SYSMLV2_ABI` +makes the SDK use another build of the binding library than the wheel's. + +Costs: opening a model with the standard library takes one to three seconds; the library JSON is +about 160 MB and takes a few seconds to read (read it once); the SysML Toolkit's JSON export of a +model takes a few seconds. A model file or library directory that does not exist raises +`FileNotFoundError`; a model that does not load raises `ToolkitError` with a status, and the +SysML Toolkit's reason (a parse error) is printed on stderr. + +## Loading a model + +Through the SysML Toolkit (pick one of the three calls): + +```python +from sysml import Model, NotImplementedInToolkit, UnresolvedReference +from sysml.classes import * # every metaclass: PartUsage, Definition, FeatureTyping, ... + +model = Model.from_toolkit("model.sysml", library_dir="sysml.library") # a file + standard library +model = Model.from_toolkit("a.sysml", "b.sysml", library_dir="sysml.library") # several files +model = Model.from_toolkit(sources={"model.sysml": text}, library_dir="sysml.library") # in-memory text +``` + +From a payload (a JSON export you have): + +```python +import json +from sysml import Model, PayloadLibrary, UnresolvedReference +from sysml.classes import * + +library = PayloadLibrary(json.load(open("sysml.library.full.json", encoding="utf-8"))) # once, share it +model = Model.from_full_json(json.load(open("model.json", encoding="utf-8")), library=library) +``` + +- Load the standard library whenever the model uses it, which nearly every model does + (`ScalarValues::Real`, `ISQ::mass`, and implicitly `Parts::parts`, `Items::items`, ...). Without it + such references stay unresolved: harmless until you read one, then `UnresolvedReference`. +- Paths are strings or `pathlib.Path`s; relative ones are relative to the current directory. + Element ids depend on the file name given; load by file name when ids must be stable. With + sources given, paths are ignored. +- A payload refers to the standard library's elements without containing them; pass the library + JSON and those references resolve. Library elements are not the model's (`all()`, `roots`, + `elements_of_type` skip them); a qualified name is looked up in the payload first. The library + JSON lists each library element's own members only, not what it inherits. + +## The shape of the API + +- **Find:** `model.resolve("Pkg::Part::feature")` (a qualified name, or `None`), `model.all()`, + `model.elements_of_type(PartUsage)` (a class or its name; subclasses included; `exact=True` for + that metaclass only), `model.roots` (top-level namespaces; the packages are their `ownedMember`). + `model.resolve` is the SysML Toolkit's own name lookup: it also finds inherited members and + members of a feature's type (`"EBikes::CargoEBike::wheels"` is `Bike::wheels`, + `"EBikes::CargoEBike::battery::mass"` is `Battery::mass`), and it answers where the + specification's `resolve` operation is refused. +- **Properties** are attributes under the specification name: `el.qualifiedName`, `el.ownedFeature`, + `part.isComposite`. **Operations** are methods: `el.effectiveName()`, `ns.resolve("Name")`. An + operation sharing a property's name takes a suffix: `instantiatedType_op()`. +- **Metaclass tests** are real subclassing: `isinstance(el, PartUsage)`. `ConnectionUsage`, + `InterfaceUsage` and `AllocationUsage` are `PartUsage`s too (`FlowUsage` is not); every connector, + connections, flows, successions and bindings alike, is a `ConnectorAsUsage`. A definition's + `ownedPart` therefore lists its connections too. `el.metaclass_name` is the concrete metaclass. +- **Every element** has the members of `Element`: `name`, `declaredName`, `qualifiedName`, `owner`, + `owningNamespace`, `documentation`, `isLibraryElement`, `elementId`, `effectiveName()`. +- **Values:** a multi-valued property is a list (`[]` when absent), a single-valued one is a value or + `None`. Integers are `int`, reals `float`, enumeration values lowercase strings + (`'requirement'`, `'in'`). An unnamed element has `name` `None` (a `connect` without a name). +- **Identity:** the elements of one model compare and hash by element id (`el.element_id`), so they + work in sets and as dict keys. The same element read through two models (the SysML Toolkit's and + its export's) is two unequal objects: compare their `element_id`s. Runtime members all contain an + underscore (`element_id`, `metaclass_name`, `get_raw`); specification names never do. +- **Errors:** `NotImplementedInToolkit`, `UnresolvedReference`, `Gone` (from `sysml`, base + `SdkError`). An operation argument that must be an element and is `None` raises `TypeError`. +- **Operations** need the SysML Toolkit (a payload raises for every one) and take the + specification's parameters in order; `sysml/classes.pyi` in the wheel has every signature + (`inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied)`). The SysML Toolkit has + a body for about a third of them and answers a call only where its evidence for the model is + complete. Answered on a typical model: `effectiveName()` (not on every unnamed feature), + `effectiveShortName()`, `resolveGlobal`, `supertypes(True)` (the argument is `excludeImplied`), + `evaluate(target)` (target: the element to evaluate in, such as the part usage, never `None`; it + returns elements, such as the literal a feature is bound to), `modelLevelEvaluable`. Refused + there: `resolve`, `resolveLocal`, `resolveVisible`, `visibleMemberships`, `namesOf`, + `inheritedMemberships`, `supertypes(False)`. No body at all: `isCompatibleWith`, `specializes`, + `allSupertypes`, `directionOf`, ... Catch the refusal. +- `el.get_raw("prop")` is the backend's raw value (unresolved spellings included), for diagnosis. + +## When the SysML Toolkit refuses a read (read this before writing queries) + +The SysML Toolkit's checked reader answers a property only where it can derive it completely. In +this release it refuses most of what builds on inheritance, so plan for it: + +- **refused on nearly every element:** `feature`, `inheritedFeature`, `inheritedMembership`, + `featureMembership`, `member`, `membership`, `importedMembership`, `endFeature`, `input`, + `output`, `usage`, `directedUsage`, `definition` and the kind-specific definitions + (`partDefinition`, `portDefinition`, `itemDefinition`, `requirementDefinition`, ...), + `parameter` and `featuringType`; +- **refused on features, even with a written typing:** `type`. Assume it is refused and use + `types_of` below; +- **refused on connectors, accept actions, requirements and satisfy relations:** `sourceFeature`, + `targetFeature`, `connectorEnd`, `relatedFeature`, `payloadParameter`, `subjectParameter`, + `actorParameter`, `stakeholderParameter`, `satisfyingFeature`; +- **answered:** what the model states itself: `ownedMember`, `ownedFeature`, `ownedMembership`, the + owned lists (`ownedUsage`, `ownedPart`, `nestedUsage`, `nestedPart`, `nestedAttribute`, + `nestedState`, `nestedTransition`, ...; owned members only, so an empty `nestedPart` does not mean + a usage has no parts), `owner`, `owningNamespace`, `owningType`, `name`, `declaredName`, + `qualifiedName`, `documentation`, `multiplicity`, `direction`, `isComposite`, `isEnd`, + `isImplied`, `entryAction`, `isParallel`, `triggerAction`, a transition's `source` and `target`, + `satisfiedRequirement`, `chainingFeature`, and the specific owned relationships with their ends: + `ownedTyping` (`type`), `ownedSubclassification` (`superclassifier`), `ownedSpecialization` + (`general`), `ownedSubsetting` (`subsettedFeature`; it holds the redefinitions too), + `ownedRedefinition` (`redefinedFeature`), `ownedReferenceSubsetting` (`referencedFeature`), and a + port definition's `conjugatedPortDefinition` / `originalPortDefinition`. (`ownedMember`, + `ownedFeature` and `ownedMembership` are refused on a `FeatureReferenceExpression`.) + +The refusal's message names the member and the SysML Toolkit's reason (`property has an incomplete +derivation`, `Type features are incomplete: IncompleteProvider`, `incomplete operation evidence`): +the SysML Toolkit lacks complete evidence for that element, which says nothing about whether the +model is right. Whether a read is refused depends on the property and the element; try one element +first (`try: el.type; except NotImplementedInToolkit as e: print(e)`) rather than assume. Where it +is refused, in this order: + +**1. Read what the model states.** The helpers below derive what the common refused properties +give, from the owned relationships (verified through the SysML Toolkit and through the export alike; +copy them as they are). `isImplied` marks the relationships the SysML Toolkit adds from the library, +which the model does not write. + +```python +def types_of(feature): + """A feature's types: `type` where the SysML Toolkit answers it; else its own typings; else + those of the features it redefines or subsets as the model writes them + (`part :>> battery[2];`).""" + try: + return list(feature.type) + except NotImplementedInToolkit: + pass + own = [t.type for t in feature.ownedTyping] + if own: + return own + for general in written_generals(feature): + if found := types_of(general): + return found + return [] + + +def written_generals(feature): + """The features a feature redefines or subsets as the model writes them (ownedSubsetting holds + the redefinitions too; `isImplied` marks what the SysML Toolkit adds from the library).""" + return [s.subsettedFeature for s in feature.ownedSubsetting if not s.isImplied] + + +def written_supertypes(definition): + """A definition's supertypes as the model writes them, without the library ones the + SysML Toolkit implies (Parts::Part for a part definition).""" + return [s.superclassifier for s in definition.ownedSubclassification if not s.isImplied] + + +def features_with_inherited(t, _seen=None): + """t's own features, then those it inherits along what the model writes (a definition's + supertypes; a usage's types and the usages it redefines or subsets), without the ones redefined + on the way. The model's own features, not the library's; not the specification's full + derivation (no visibility, no imports).""" + _seen = set() if _seen is None else _seen + if t in _seen: + return [] + _seen.add(t) + own = list(t.ownedFeature) + redefined = {r.redefinedFeature for f in own for r in f.ownedRedefinition} + bases = written_supertypes(t) if isinstance(t, Classifier) else types_of(t) + written_generals(t) + for base in bases: + for f in features_with_inherited(base, _seen): + if f not in redefined and f not in own: + own.append(f) + return own + + +def feature_in(context, feature): + """The feature that stands for `feature` in `context`: `feature` itself where the context + inherits it, or the nearest one that redefines it, directly or through other redefinitions; + None where the context has neither (pass the declaration, `Component::mass`, not a + redefinition in some other definition).""" + def redefines(f, target, seen): + for r in f.ownedRedefinition: + g = r.redefinedFeature + if g == target or (g not in seen and redefines(g, target, seen | {g})): + return True + return False + for f in features_with_inherited(context): + if f == feature or redefines(f, feature, {f}): + return f + return None + + +def bound_value(context, feature): + """The expression that gives `feature` its value in `context` (`attribute :>> mass = 2.5;` in + the context's definition or body), or None. Initial values (`:=`) and defaults (`default =`) + count too; the FeatureValue's `isInitial` / `isDefault` tell them apart.""" + f = feature_in(context, feature) + if f is None: + return None + return next((m.value for m in f.ownedMembership if isinstance(m, FeatureValue)), None) + + +def declaration_of(feature): + """The feature a chain of written redefinitions starts from (`Frame::mass` -> `Unit::mass`): the + declaration to pass to bound_value and feature_in.""" + seen = {feature} + while True: + written = [r.redefinedFeature for r in feature.ownedRedefinition if not r.isImplied] + if not written or written[0] in seen: + return feature + feature = written[0] + seen.add(feature) + + +def bounds(multiplicity): + """(lower, upper) of a MultiplicityRange with literal bounds; upper None for `*`. `[4]` has only + an upper bound: lower = upper then. A bound that is an expression (`[rotorCount]`) raises.""" + def value(e): + if isinstance(e, LiteralInfinity): + return None + if isinstance(e, LiteralInteger): + return e.value + raise ValueError(f"a bound to evaluate in context: {e.metaclass_name}") + upper = value(multiplicity.upperBound) + return (upper if multiplicity.lowerBound is None else value(multiplicity.lowerBound)), upper + + +def multiplicity_of(usage): + """(lower, upper) of the multiplicity that applies to a usage: its own; else, nearest first, + that of the features it redefines or subsets as written; else (1, 1) where SysML gives the + default (an attribute, item, part or port usage, not a connection, owned by a definition or + usage); else (0, None), unconstrained.""" + seen, todo = {usage}, [usage] + while todo: + u = todo.pop(0) + if u.multiplicity is not None: + return bounds(u.multiplicity) + generals = written_generals(u) + if not generals: + # a PartUsage is an ItemUsage + default = (isinstance(u, (AttributeUsage, ItemUsage, PortUsage)) and not isinstance(u, ConnectionUsage) + and isinstance(u.owningType, (Definition, Usage))) + return (1, 1) if default else (0, None) + for g in generals: + if g not in seen: + seen.add(g) + todo.append(g) + return (0, None) + + +def ends(connector): + """A connector's ends in order, the source first: the features or feature chains it connects. + For connections, flows, successions and bindings alike.""" + try: + return [connector.sourceFeature, *connector.targetFeature] + except NotImplementedInToolkit: + return [e.ownedReferenceSubsetting.referencedFeature + for e in connector.ownedFeature if e.isEnd and e.ownedReferenceSubsetting] + + +def path(feature): + """A feature chain as its features ([battery, powerOut] for battery.powerOut); else [feature].""" + return list(feature.chainingFeature) or [feature] + + +def accepted_types(accept): + """What an accept action accepts (a transition's triggerAction[0]): its payload's types.""" + try: + return list(accept.payloadParameter.type) + except NotImplementedInToolkit: + payload = next(m.ownedMemberParameter for m in accept.ownedMembership if isinstance(m, ParameterMembership)) + return types_of(payload) + + +def satisfying_feature(satisfy): + """What satisfies the requirement in `satisfy r by x;`: x.""" + try: + return satisfy.satisfyingFeature + except NotImplementedInToolkit: + subject = next(m.ownedSubjectParameter for m in satisfy.ownedMembership if isinstance(m, SubjectMembership)) + value = next(m.value for m in subject.ownedMembership if isinstance(m, FeatureValue)) + return value.referent # a FeatureReferenceExpression + + +def subject_of(requirement): + """The subject parameter of a requirement or requirement definition: its own `subject`; else, + nearest first, that of its definitions or of what it specializes as written; else None.""" + try: + return requirement.subjectParameter + except NotImplementedInToolkit: + pass + own = next((m.ownedSubjectParameter for m in requirement.ownedMembership if isinstance(m, SubjectMembership)), None) + if own is not None: + return own + bases = (written_supertypes(requirement) if isinstance(requirement, Classifier) + else types_of(requirement) + written_generals(requirement)) + for base in bases: + if (found := subject_of(base)) is not None: + return found + return None + + +def initial_states(machine): + """The states a state machine (a state usage or definition) starts in: the targets of its + successions from its entry action (`entry; then off;`) or from the library's `start` + (`first start then off;`), and of its transitions from its entry action + (`entry action initial; transition initial then off;`).""" + entry, out = machine.entryAction, [] + for f in machine.ownedFeature: + if isinstance(f, TransitionUsage): + if entry is not None and f.source == entry and isinstance(f.target, StateUsage): + out.append(f.target) + elif isinstance(f, SuccessionAsUsage): + e = ends(f) + if len(e) == 2 and isinstance(e[1], StateUsage) and ( + (entry is not None and e[0] == entry) or (e[0].isLibraryElement and e[0].name == "start")): + out.append(e[1]) + return out + + +def reachable_states(machine): + """The states of a state machine reachable from its initial states along its own transitions, + in the order found (guards and triggers not considered; the transitions inside composite states + not followed).""" + next_of = {} + for t in machine.ownedFeature: + if isinstance(t, TransitionUsage): + next_of.setdefault(t.source, []).append(t.target) + reached = initial_states(machine) + i = 0 + while i < len(reached): + for n in next_of.get(reached[i], []): + if isinstance(n, StateUsage) and n not in reached: + reached.append(n) + i += 1 + return reached + + +def number(expr): + """The number an expression stands for when it is a literal, or a sign applied to one (`-40.0` + is an OperatorExpression `-` whose operand is the literal 40.0). Anything else raises: evaluate + it in context (the SysML Toolkit's `evaluate` refuses operator expressions).""" + if isinstance(expr, (LiteralInteger, LiteralRational)): + return expr.value + if isinstance(expr, OperatorExpression) and expr.operator in ("-", "+"): + operands = [m.value for f in expr.ownedFeature for m in f.ownedMembership if isinstance(m, FeatureValue)] + if len(operands) == 1: + return -number(operands[0]) if expr.operator == "-" else number(operands[0]) + raise ValueError(f"not a literal number: {expr.metaclass_name}") +``` + +**2. Query the SysML Toolkit's export as a payload** when a question needs the specification's full +derivation across a whole model (inherited members with visibility and imports, connector ends of +library connections). The export is written by the SysML Toolkit's compatibility path: it carries a +value for every property, including the ones the checked reader refuses, which the SysML Toolkit +does not vouch for. Say so in your answer when the result depends on them. + +```python +import json +from sysml import Model, PayloadLibrary +from sysml.toolkit import ToolkitBackend + +backend = ToolkitBackend.open(["model.sysml"], library_dir="sysml.library") # paths: str or Path +library = PayloadLibrary(json.load(open("sysml.library.full.json", encoding="utf-8"))) # once +payload = Model.from_full_json(json.loads(backend.full_json()), library=library) # same element ids +toolkit = Model(backend) # the same session, for operations and checked reads +``` + +**3. Never** substitute an empty list, a guess or a default for a refused read. + +## Navigation recipes + +With the helpers above; each works through the SysML Toolkit and on a payload. + +```python +# d, part, port, usage, flow, machine and constraint stand for elements you have at hand (d: a +# definition or usage); model is the Model. + +# Parts of a definition or usage, owned and inherited, not connections; the model's own, not the +# library's (start, done, subparts, ...) +parts = [f for f in features_with_inherited(d) if isinstance(f, PartUsage) and not isinstance(f, ConnectionUsage)] + +# What a usage is typed by (its definitions) +types_of(part) # [PartDefinition, ...] + +# The value a feature has in a context (`attribute :>> mass = 2.5;` in the part's definition or body) +mass = model.resolve("Pkg::Component::mass") # the declaration; declaration_of(f) finds it from a redefinition +expr = bound_value(part, mass) # an Expression, or None +number(expr) # its number: a literal, or a sign applied to one (-40.0) + +# How many instances a usage stands for, when its bounds are literals +lower, upper = multiplicity_of(usage) # (2, 2) for [2]; (1, 1) by default; upper None for * +text = f"[{lower}]" if lower == upper else f"[{lower}..{'*' if upper is None else upper}]" + +# Roll-up: an attribute summed over a definition's direct parts (mass, cost, power); for a deeper +# tree, apply it to each part that has parts of its own (features_with_inherited(p)) +total, missing = 0.0, [] +for p in parts: + expr, (lower, upper) = bound_value(p, mass), multiplicity_of(p) + if expr is None or lower != upper: # no value, or a range ([4..6], *): report, never guess + missing.append(p.name) + else: + total += number(expr) * lower + +# Ports: the definition, and whether it is conjugated (`port p : ~PowerPort;`). `portDefinition` +# (a list) is refused; `port.isConjugated` is False on a `~` port: the conjugation is its type, the +# ConjugatedPortDefinition that PowerPort owns (name `~PowerPort`, qualified name +# `Pkg::PowerPort::'~PowerPort'`, quotes included) +for t in types_of(port): + print(("~" + t.originalPortDefinition.qualifiedName) if isinstance(t, ConjugatedPortDefinition) + else t.qualifiedName) + +# Connections (ConnectionUsage: connect, interfaces, allocations): the ends, the source first. The +# ends of an inherited connection are the supertype's features (Drone::rotors, not a redefining +# `part :>> rotors[8];`): feature_in(d, path(end)[0]) is the one that stands for it in d +for c in features_with_inherited(d): + if isinstance(c, ConnectionUsage): + print(" -> ".join(".".join(f.name for f in path(end)) for end in ends(c))) # battery.powerOut -> ... + port_types = [types_of(path(end)[-1]) for end in ends(c)] # per end: [PortDefinition or ConjugatedPortDefinition] +# Flows (FlowUsage), bindings (BindingConnectorAsUsage) and successions are ConnectorAsUsage too, +# with the same ends() +flow.payloadType # [the flowing item's definition] + +# States +machine = model.resolve("Pkg::Controller::modes") # an ExhibitStateUsage or StateUsage +states = machine.nestedState # its own states +machine.isParallel, machine.entryAction +initial = initial_states(machine) # `entry; then off;`, `first start then off;`, ... +reachable = reachable_states(machine) # from the initial states along the transitions +for t in machine.nestedTransition: # t.source, t.target: the states it leaves and enters; + # an initial transition (`transition init then off;`) leaves the entry action, not a state + signals = accepted_types(t.triggerAction[0]) if t.triggerAction else [] # [ItemDefinition, ...] + t.guardExpression # [Expression] + if t.triggerAction: + t.triggerAction[0].payloadArgument # TriggerInvocationExpression for `accept at`/`when` (.kind) + +# Requirements +for s in model.elements_of_type(SatisfyRequirementUsage): + req = s.satisfiedRequirement # the requirement usage + by = satisfying_feature(s) # the part that satisfies it + definition = types_of(req) # [RequirementDefinition] + subject = subject_of(req) # its subject parameter, or None; often the definition's + # (`subject bike : Bike;` in MassLimit: MassLimit::bike) + limit_f = next(f for t in types_of(req) for f in features_with_inherited(t) if f.name == "maxMass") + limit = bound_value(req, limit_f) # the requirement's value for its definition's maxMass + s.isNegated + constraints = [m.ownedConstraint for m in req.ownedMembership # its own constraints + if isinstance(m, RequirementConstraintMembership) and m.kind == "requirement"] +res = next(m for m in constraint.ownedMembership if isinstance(m, ResultExpressionMembership)) +res.ownedResultExpression # a constraint's expression +``` + +## Multiplicity + +`multiplicity` is only what the usage itself declares; `multiplicity_of` above applies SysML's rule: +a usage without one takes the multiplicity of the features it redefines or subsets as written +(nearest first; `part :>> battery[2];` declares its own), and one that redefines or subsets nothing +is `[1..1]` if it is an attribute, item, part or port usage owned by a definition or usage, and +unconstrained (`[0..*]`) otherwise. Implied subsettings (`s.isImplied`, such as every part's +subsetting of the library's `parts`) do not count. A bound may be an expression to evaluate in +context (`Rotor[rotorCount]`); `bounds` raises for it. + +## Evaluating the model's expressions + +Expressions are elements: `OperatorExpression` (`operator` such as `'<='`, `'and'`, `'not'`; +`argument`), `FeatureReferenceExpression` (`referent`), `FeatureChainExpression` (`a.b`: +`argument[0]` is `a`, `targetFeature` is `b`; it is a subclass of OperatorExpression, so test it +first), literals with `.value` (`LiteralInteger`, `LiteralRational`, `LiteralBoolean`, +`LiteralString`, `LiteralInfinity` for `*`), `TriggerInvocationExpression` (`kind`: `at`, `after`, +`when`). An enumeration literal (`IgnitionOnOff::on`) is an `EnumerationUsage` whose +`owningNamespace` is the `EnumerationDefinition`; its `owningType` is `None`, by the specification. +Through the SysML Toolkit, `argument` is refused: an expression's operands are its `ownedFeature`s, +each bound by a `FeatureValue` in its `ownedMembership`. + +The SysML Toolkit's `evaluate(target)` operation evaluates some expressions (it returns elements); +beyond that, the SDK does not evaluate. The SDK's source repository +(https://github.com/Open-MBEE/sysml-sdk, not the release packages) has, in +`examples/queries/python/queries.py`, a small evaluator in three-valued logic and complete queries +built on it: reachable states with shortest trigger sequences, bill of materials, attribute roll-up, +connectivity, requirement checks. Where it is at hand, start from it for such questions; the recipes +above cover the simple cases. + +## Other differences from the specification + +- **With the library loaded**, `usage`/`feature` (in a payload) include library features (`self`, + `start`, `subparts`, ...): filter with `isLibraryElement`. A flow's `connectorEnd` also lists the + library flow's ends; use `ends`. +- The second operand of `and`/`or`/`implies` is the operand expression itself; the specification + makes it a `FeatureReferenceExpression` to it. Accept both. +- An unnamed `satisfy` has no `name`, but a qualified-name lookup may still find it under the name + of the requirement it satisfies. A feature named only through what it redefines has `name` from it + and `declaredName` `None` (a satisfy's subject parameter is named `subj`, although it redefines + the subject of the requirement's definition). Use `name` to display, `declaredName` to know what + was written. +- `mayTimeVary`, `isVariable` and `isConstant` on usages raise `NotImplementedInToolkit`. +- In the SysML Toolkit's export, an alias (`alias ax for x;`) hides the membership of the feature it + names from what specializations inherit, and a conjugated port's `portDefinition` is the + `ConjugatedPortDefinition` (`~PowerPort`), as the specification says. +- A payload answers what its writer wrote: stand-ins where the writer had no value (null, `false`, + `[]`), and `UnresolvedReference` for references into the standard + library unless it was given the library JSON. + +## Verify + +- Run the same query through the SysML Toolkit (with the helpers) and on its export as a payload + (the plain derived properties), matching elements by `element_id`; differences point at the + SysML Toolkit, the export, or your code. +- Work out a few answers by hand from the model and assert them. +- For more examples: the Python guide and runnable tutorial (`examples/python/`) and the query + examples (`examples/queries/python/`) in the SDK repository. diff --git a/skills/sysml-sdk-typescript/SKILL.md b/skills/sysml-sdk-typescript/SKILL.md new file mode 100644 index 0000000..484348f --- /dev/null +++ b/skills/sysml-sdk-typescript/SKILL.md @@ -0,0 +1,504 @@ +--- +name: sysml-sdk-typescript +description: Writes JavaScript or TypeScript code (Node or browser) that reads, navigates and queries SysML v2 and KerML models with the sysml package, through the OpenMBEE SysML Toolkit compiled to WebAssembly or from a full-form interchange JSON payload. Use when a task involves loading .sysml/.kerml text or SysML v2 JSON in JS/TS, walking parts, features, states, connections or requirements, evaluating a model's expressions, or answering questions about a SysML v2 model with code. +--- + +# SysML v2 SDK for JavaScript and TypeScript + +The SDK is the OMG metamodel as typed element objects: every KerML and SysML metaclass, property and +operation, under its specification name. A model comes from one of two backends: + +- **the SysML Toolkit**, compiled to WebAssembly (the same module in Node and browsers): reads SysML + text, resolves names, computes derived properties and evaluates operations, and refuses what it + cannot derive completely; +- **a payload**: a full-form interchange JSON export from any SysML v2 tool. + +The SDK never guesses. A member the SysML Toolkit does not answer throws `NotImplementedInToolkit` +with the reason the SysML Toolkit gives; a reference that does not resolve throws +`UnresolvedReference`. Never catch these to substitute a made-up value; read around them as +described below, or report them. + +## Setup + +```sh +npm install ./sysml-0.1.0.tgz # carries the WebAssembly module +``` + +ES modules only: name files `.mjs`, or set `"type": "module"` in `package.json`. Node 20+. The +release's `sysml_library-0.1.0.zip` is the standard library: `sysml.library/` (the models, for the +SysML Toolkit's `libraryDir`) and `sysml.library.full.json` (for payloads). `SYSMLV2_ABI_WASM` makes +the SDK use another build of the module than the package's; in a browser, pass +`library: await ToolkitLibrary.load(await fetch(url))` to `ToolkitBackend.open`. + +Costs: opening a model with the standard library takes two to three seconds; the SysML Toolkit's +JSON export (`fullJson()`) takes ten to thirty seconds under WebAssembly even for a small model, and +much longer once the 160 MB library JSON is parsed into the same process: export first, then read +the library JSON, and read it once. Node's default heap holds both. + +## Loading a model + +Through the SysML Toolkit: + +```js +import { readFileSync } from "node:fs"; +import { ToolkitBackend, Model, NotImplementedInToolkit, UnresolvedReference, elementsOfType, is } + from "sysml"; + +const files = ["model.sysml"]; // your files +const sources = Object.fromEntries(files.map((f) => [f, readFileSync(f, "utf8")])); // file name -> text +const toolkit = await ToolkitBackend.open({ sources, libraryDir: "sysml.library" }); // Node; relative to the cwd +const model = new Model(toolkit); // toolkit.close() when done +// In a browser: ToolkitBackend.open({ sources, librarySources }), librarySources being the library's +// .sysml/.kerml files as { "": text } (fetch each file; the +// SysML Toolkit names library files so, and the library JSON's ids depend on it). +``` + +From a payload (a JSON export you have): + +```js +import { readFileSync } from "node:fs"; +import { Model, PayloadLibrary, UnresolvedReference, elementsOfType, is } from "sysml"; + +const library = new PayloadLibrary(JSON.parse(readFileSync("sysml.library.full.json", "utf8"))); // once, share it +const model = Model.fromFullJson(JSON.parse(readFileSync("model.json", "utf8")), { library }); +``` + +- The SysML Toolkit compiled to WebAssembly reads no files itself: pass the model's units as + `sources` (file name to text). Load the standard library whenever the model uses it, which nearly + every model does (`ScalarValues::Real`, `ISQ::mass`, and implicitly `Parts::parts`): `libraryDir` + in Node, or its files as `librarySources`. It loads as a library: its elements are not in + `model.all()` or `elementsOfType`, and report `isLibraryElement`. Do not put library files into + `sources`; they would count as the model's. Without it, references into the library stay + unresolved: harmless until you read one, then `UnresolvedReference`. +- Element ids depend on the file names given; keep them stable when ids must be. +- A payload refers to the standard library's elements without containing them; pass the library + JSON and those references resolve. Library elements are not the model's (`all()`, `roots()`, + `elementsOfType` skip them); a qualified name is looked up in the payload first. The library JSON + lists each library element's own members only, not what it inherits. + +## The shape of the API + +- **Find:** `model.resolve("Pkg::Part::feature")` (or `null`), `elementsOfType(model, "PartUsage")` + (subclasses included), `model.all()` (an iterator), `model.roots()` (top-level namespaces; the + packages are their `ownedMember`). `model.resolve` is the SysML Toolkit's own name lookup: it also + finds inherited members and members of a feature's type (`"EBikes::CargoEBike::wheels"` is + `Bike::wheels`), and it answers where the specification's `resolve` operation is refused. +- **Properties** read as properties under the specification name: `el.qualifiedName`, + `el.ownedFeature`. **Operations** are methods: `el.effectiveName()`, `ns.resolve("Name")`. + Suffixed where JavaScript or a property takes the name: `valueOfOp()`, `instantiatedTypeOp()`. +- **Metaclass tests:** `is(el, "PartUsage")` (metaclass or any ancestor; in TypeScript it narrows + the type). `ConnectionUsage`, `InterfaceUsage` and `AllocationUsage` are `PartUsage`s too + (`FlowUsage` is not); every connector, connections, flows, successions and bindings alike, is a + `ConnectorAsUsage`. A definition's `ownedPart` therefore lists its connections too. + `el.$metaclass` is the concrete metaclass name. There is no `instanceof` for metaclasses. +- **Every element** has the members of `Element`: `name`, `declaredName`, `qualifiedName`, `owner`, + `owningNamespace`, `documentation`, `isLibraryElement`, `effectiveName()`. +- **Values:** a multi-valued property is an array (`[]` when absent), a single-valued one a value or + `null` (`sourceFeature` is one feature or `null`, `targetFeature` an array). Numbers are + `number`; enumeration values lowercase strings (`"requirement"`). An unnamed element has `name` + `null` (a `connect` without a name). +- **Identity:** a model hands out one object per element, so `===` is element identity and elements + can key a `Map` or `Set` (within one model). The same element read through two models (the + SysML Toolkit's and its export's) is two objects: compare their `$id`s. Runtime members start with + `$`: `$id` (element id), `$handle`, `$metaclass`, `$raw(prop)`. +- **Errors:** `NotImplementedInToolkit`, `UnresolvedReference`, `Gone`, `ToolkitError`. Elements are + read-only; assignment throws `TypeError`. An operation argument that must be an element and is + not throws `TypeError`. Reading a name that is not a member of the element's metaclass (a + misspelling such as `ownedParts`, or a member of another metaclass) gives `undefined`, not an + error: check names against `classes.d.ts`, or write TypeScript. `"name" in el` tells whether the + metaclass has a member of that name. +- **Operations** need the SysML Toolkit (a payload throws for every one) and take the + specification's parameters in order; `classes.d.ts` in the package has every signature + (`inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied)`). The SysML Toolkit has + a body for about a third of them and answers a call only where its evidence for the model is + complete. Answered on a typical model: `effectiveName()` (not on every unnamed feature), + `effectiveShortName()`, `resolveGlobal`, `supertypes(true)` (the argument is `excludeImplied`), + `evaluate(target)` (target: the element to evaluate in, such as the part usage, never null; it + returns elements, such as the literal a feature is bound to), `modelLevelEvaluable`. Refused + there: `resolve`, `resolveLocal`, `resolveVisible`, `visibleMemberships`, `namesOf`, + `inheritedMemberships`, `supertypes(false)`. No body at all: `isCompatibleWith`, `specializes`, + `allSupertypes`, `directionOf`, ... Catch the refusal. +- TypeScript: `index.d.ts` and `classes.d.ts` type every metaclass; `AnyElement` is any element, + `TypeMap` maps metaclass names to interfaces. `resolve` returns `AnyElement | null`: narrow it + with `is(...)` before use. + +## When the SysML Toolkit refuses a read (read this before writing queries) + +The SysML Toolkit's checked reader answers a property only where it can derive it completely. In +this release it refuses most of what builds on inheritance, so plan for it: + +- **refused on nearly every element:** `feature`, `inheritedFeature`, `inheritedMembership`, + `featureMembership`, `member`, `membership`, `importedMembership`, `endFeature`, `input`, + `output`, `usage`, `directedUsage`, `definition` and the kind-specific definitions + (`partDefinition`, `portDefinition`, `itemDefinition`, `requirementDefinition`, ...), + `parameter` and `featuringType`; +- **refused on features, even with a written typing:** `type`. Assume it is refused and use + `typesOf` below; +- **refused on connectors, accept actions, requirements and satisfy relations:** `sourceFeature`, + `targetFeature`, `connectorEnd`, `relatedFeature`, `payloadParameter`, `subjectParameter`, + `actorParameter`, `stakeholderParameter`, `satisfyingFeature`; +- **answered:** what the model states itself: `ownedMember`, `ownedFeature`, `ownedMembership`, the + owned lists (`ownedUsage`, `ownedPart`, `nestedUsage`, `nestedPart`, `nestedAttribute`, + `nestedState`, `nestedTransition`, ...; owned members only, so an empty `nestedPart` does not mean + a usage has no parts), `owner`, `owningNamespace`, `owningType`, `name`, `declaredName`, + `qualifiedName`, `documentation`, `multiplicity`, `direction`, `isComposite`, `isEnd`, + `isImplied`, `entryAction`, `isParallel`, `triggerAction`, a transition's `source` and `target`, + `satisfiedRequirement`, `chainingFeature`, and the specific owned relationships with their ends: + `ownedTyping` (`type`), `ownedSubclassification` (`superclassifier`), `ownedSpecialization` + (`general`), `ownedSubsetting` (`subsettedFeature`; it holds the redefinitions too), + `ownedRedefinition` (`redefinedFeature`), `ownedReferenceSubsetting` (`referencedFeature`), and a + port definition's `conjugatedPortDefinition` / `originalPortDefinition`. (`ownedMember`, + `ownedFeature` and `ownedMembership` are refused on a `FeatureReferenceExpression`.) + +The refusal's message names the member and the SysML Toolkit's reason (`property has an incomplete +derivation`, `Type features are incomplete: IncompleteProvider`, `incomplete operation evidence`): +the SysML Toolkit lacks complete evidence for that element, which says nothing about whether the +model is right. Whether a read is refused depends on the property and the element; try one element +first rather than assume. Where it is refused, in this order: + +**1. Read what the model states.** The helpers below derive what the common refused properties +give, from the owned relationships (verified through the SysML Toolkit and through the export alike; +copy them as they are). `isImplied` marks the relationships the SysML Toolkit adds from the library, +which the model does not write. + +```js +const refused = (e) => { if (!(e instanceof NotImplementedInToolkit)) throw e; }; + +// The features a feature redefines or subsets as the model writes them (ownedSubsetting holds the +// redefinitions too; isImplied marks what the SysML Toolkit adds from the library). +const writtenGenerals = (feature) => + feature.ownedSubsetting.filter((s) => !s.isImplied).map((s) => s.subsettedFeature); + +// A definition's supertypes as the model writes them, without the library ones the SysML Toolkit +// implies (Parts::Part for a part definition). +const writtenSupertypes = (definition) => + definition.ownedSubclassification.filter((s) => !s.isImplied).map((s) => s.superclassifier); + +// A feature's types: `type` where the SysML Toolkit answers it; else its own typings; else those of +// the features it redefines or subsets as written (`part :>> battery[2];`). +function typesOf(feature) { + try { return feature.type; } catch (e) { refused(e); } + const own = feature.ownedTyping.map((t) => t.type); + if (own.length) return own; + for (const general of writtenGenerals(feature)) { + const found = typesOf(general); + if (found.length) return found; + } + return []; +} + +// t's own features, then those it inherits along what the model writes (a definition's +// supertypes; a usage's types and the usages it redefines or subsets), without the ones redefined +// on the way. The model's own features, not the library's; not the specification's full +// derivation (no visibility, no imports). +function featuresWithInherited(t, seen = new Set()) { + if (seen.has(t)) return []; + seen.add(t); + const own = [...t.ownedFeature]; + const redefined = new Set(own.flatMap((f) => f.ownedRedefinition.map((r) => r.redefinedFeature))); + const bases = is(t, "Classifier") ? writtenSupertypes(t) : [...typesOf(t), ...writtenGenerals(t)]; + for (const base of bases) { + for (const f of featuresWithInherited(base, seen)) if (!redefined.has(f) && !own.includes(f)) own.push(f); + } + return own; +} + +// The feature that stands for `feature` in `context`: `feature` itself where the context inherits +// it, or the nearest one that redefines it, directly or through other redefinitions; null where the +// context has neither (pass the declaration, `Component::mass`, not a redefinition in some other +// definition). +function featureIn(context, feature) { + const redefines = (f, target, seen) => f.ownedRedefinition.some((r) => { + const g = r.redefinedFeature; + return g === target || (!seen.has(g) && redefines(g, target, new Set([...seen, g]))); + }); + return featuresWithInherited(context).find((f) => f === feature || redefines(f, feature, new Set([f]))) ?? null; +} + +// The expression that gives `feature` its value in `context` (`attribute :>> mass = 2.5;` in the +// context's definition or body), or null. Initial values (`:=`) and defaults (`default =`) count +// too; the FeatureValue's isInitial / isDefault tell them apart. +const boundValue = (context, feature) => + featureIn(context, feature)?.ownedMembership.find((m) => is(m, "FeatureValue"))?.value ?? null; + +// The feature a chain of written redefinitions starts from (`Frame::mass` -> `Unit::mass`): the +// declaration to pass to boundValue and featureIn. +function declarationOf(feature) { + const seen = new Set([feature]); + for (;;) { + const written = feature.ownedRedefinition.filter((r) => !r.isImplied).map((r) => r.redefinedFeature); + if (!written.length || seen.has(written[0])) return feature; + feature = written[0]; + seen.add(feature); + } +} + +// [lower, upper] of a MultiplicityRange with literal bounds; upper null for `*`. `[4]` has only an +// upper bound: lower = upper then. A bound that is an expression (`[rotorCount]`) throws. +function bounds(multiplicity) { + const value = (e) => { + if (is(e, "LiteralInfinity")) return null; + if (is(e, "LiteralInteger")) return e.value; + throw new Error(`a bound to evaluate in context: ${e.$metaclass}`); + }; + const upper = value(multiplicity.upperBound); + return [multiplicity.lowerBound == null ? upper : value(multiplicity.lowerBound), upper]; +} + +// [lower, upper] of the multiplicity that applies to a usage: its own; else, nearest first, that +// of the features it redefines or subsets as written; else [1, 1] where SysML gives the default (an +// attribute, item, part or port usage, not a connection, owned by a definition or usage); else +// [0, null], unconstrained. +function multiplicityOf(usage) { + const seen = new Set([usage]); + const todo = [usage]; + while (todo.length) { + const u = todo.shift(); + if (u.multiplicity != null) return bounds(u.multiplicity); + const generals = writtenGenerals(u); + if (!generals.length) { + const kind = ["AttributeUsage", "ItemUsage", "PortUsage"].some((k) => is(u, k)) && !is(u, "ConnectionUsage"); // a PartUsage is an ItemUsage + const owner = u.owningType; + return kind && owner && (is(owner, "Definition") || is(owner, "Usage")) ? [1, 1] : [0, null]; + } + for (const g of generals) if (!seen.has(g)) { seen.add(g); todo.push(g); } + } + return [0, null]; +} + +// A connector's ends in order, the source first: the features or feature chains it connects. For +// connections, flows, successions and bindings alike. +function ends(connector) { + try { return [connector.sourceFeature, ...connector.targetFeature]; } catch (e) { refused(e); } + return connector.ownedFeature.filter((e) => e.isEnd && e.ownedReferenceSubsetting) + .map((e) => e.ownedReferenceSubsetting.referencedFeature); +} + +// A feature chain as its features ([battery, powerOut] for battery.powerOut); else [feature]. +const path = (feature) => (feature.chainingFeature.length ? feature.chainingFeature : [feature]); + +// What an accept action accepts (a transition's triggerAction[0]): its payload's types. +function acceptedTypes(accept) { + try { return accept.payloadParameter.type; } catch (e) { refused(e); } + const payload = accept.ownedMembership.find((m) => is(m, "ParameterMembership")).ownedMemberParameter; + return typesOf(payload); +} + +// What satisfies the requirement in `satisfy r by x;`: x. +function satisfyingFeature(satisfy) { + try { return satisfy.satisfyingFeature; } catch (e) { refused(e); } + const subject = satisfy.ownedMembership.find((m) => is(m, "SubjectMembership")).ownedSubjectParameter; + return subject.ownedMembership.find((m) => is(m, "FeatureValue")).value.referent; // a FeatureReferenceExpression +} + +// The subject parameter of a requirement or requirement definition: its own `subject`; else, +// nearest first, that of its definitions or of what it specializes as written; else null. +function subjectOf(requirement) { + try { return requirement.subjectParameter; } catch (e) { refused(e); } + const own = requirement.ownedMembership.find((m) => is(m, "SubjectMembership")); + if (own) return own.ownedSubjectParameter; + const bases = is(requirement, "Classifier") ? writtenSupertypes(requirement) + : [...typesOf(requirement), ...writtenGenerals(requirement)]; + for (const base of bases) { + const found = subjectOf(base); + if (found) return found; + } + return null; +} + +// The states a state machine (a state usage or definition) starts in: the targets of its +// successions from its entry action (`entry; then off;`) or from the library's `start` +// (`first start then off;`), and of its transitions from its entry action +// (`entry action initial; transition initial then off;`). +function initialStates(machine) { + const entry = machine.entryAction, out = []; + for (const f of machine.ownedFeature) { + if (is(f, "TransitionUsage")) { + if (entry && f.source === entry && is(f.target, "StateUsage")) out.push(f.target); + } else if (is(f, "SuccessionAsUsage")) { + const e = ends(f); + if (e.length === 2 && is(e[1], "StateUsage") + && ((entry && e[0] === entry) || (e[0].isLibraryElement && e[0].name === "start"))) out.push(e[1]); + } + } + return out; +} + +// The states of a state machine reachable from its initial states along its own transitions, in the +// order found (guards and triggers not considered; the transitions inside composite states not +// followed). +function reachableStates(machine) { + const next = new Map(); + for (const t of machine.ownedFeature.filter((f) => is(f, "TransitionUsage"))) { + if (!next.has(t.source)) next.set(t.source, []); + next.get(t.source).push(t.target); + } + const reached = initialStates(machine); + for (let i = 0; i < reached.length; i++) + for (const n of next.get(reached[i]) ?? []) if (is(n, "StateUsage") && !reached.includes(n)) reached.push(n); + return reached; +} + +// The number an expression stands for when it is a literal, or a sign applied to one (`-40.0` is an +// OperatorExpression `-` whose operand is the literal 40.0). Anything else throws: evaluate it in +// context (the SysML Toolkit's evaluate refuses operator expressions). +function number(expr) { + if (is(expr, "LiteralInteger") || is(expr, "LiteralRational")) return expr.value; + if (is(expr, "OperatorExpression") && (expr.operator === "-" || expr.operator === "+")) { + const operands = expr.ownedFeature.flatMap((f) => f.ownedMembership.filter((m) => is(m, "FeatureValue")).map((m) => m.value)); + if (operands.length === 1) return expr.operator === "-" ? -number(operands[0]) : number(operands[0]); + } + throw new Error(`not a literal number: ${expr.$metaclass}`); +} +``` + +**2. Query the SysML Toolkit's export as a payload** when a question needs the specification's full +derivation across a whole model (inherited members with visibility and imports, connector ends of +library connections). The export is written by the SysML Toolkit's compatibility path: it carries a +value for every property, including the ones the checked reader refuses, which the SysML Toolkit +does not vouch for. Say so in your answer when the result depends on them. + +```js +import { PayloadLibrary } from "sysml"; // besides the SysML Toolkit block's imports + +const exportText = toolkit.fullJson(); // first: slow once the library JSON is in memory +const library = new PayloadLibrary(JSON.parse(readFileSync("sysml.library.full.json", "utf8"))); +const exported = Model.fromFullJson(JSON.parse(exportText), { library }); // same element ids +``` + +**3. Never** substitute an empty array, a guess or a default for a refused read. + +## Navigation recipes + +With the helpers above; each works through the SysML Toolkit and on a payload. + +```js +// d, part, port, usage, flow, machine and constraint stand for elements you have at hand (d: a +// definition or usage); model is the Model. + +// Parts of a definition or usage, owned and inherited, not connections; the model's own, not the +// library's (start, done, subparts, ...) +const parts = featuresWithInherited(d).filter((f) => is(f, "PartUsage") && !is(f, "ConnectionUsage")); + +typesOf(part); // what a usage is typed by: [PartDefinition, ...] + +// The value a feature has in a context (`attribute :>> mass = 2.5;` in the part's definition or body) +const mass = model.resolve("Pkg::Component::mass"); // the declaration; declarationOf(f) finds it from a redefinition +const expr = boundValue(part, mass); // an Expression, or null +number(expr); // its number: a literal, or a sign applied to one (-40.0) + +const [lower, upper] = multiplicityOf(usage); // [2, 2] for [2]; [1, 1] by default; upper null for * +const text = lower === upper ? `[${lower}]` : `[${lower}..${upper ?? "*"}]`; + +// Roll-up: an attribute summed over a definition's direct parts (mass, cost, power); for a deeper +// tree, apply it to each part that has parts of its own (featuresWithInherited(p)) +let total = 0; const missing = []; +for (const p of parts) { + const e = boundValue(p, mass), [lo, hi] = multiplicityOf(p); + if (e === null || lo !== hi) missing.push(p.name); // no value, or a range ([4..6], *): report, never guess + else total += number(e) * lo; +} + +// Ports: the definition, and whether it is conjugated (`port p : ~PowerPort;`). `portDefinition` +// (an array) is refused; `port.isConjugated` is false on a `~` port: the conjugation is its type, +// the ConjugatedPortDefinition that PowerPort owns (name "~PowerPort", qualified name +// "Pkg::PowerPort::'~PowerPort'", quotes included) +for (const t of typesOf(port)) + console.log(is(t, "ConjugatedPortDefinition") ? `~${t.originalPortDefinition.qualifiedName}` : t.qualifiedName); + +// Connections (ConnectionUsage: connect, interfaces, allocations): the ends, the source first. The +// ends of an inherited connection are the supertype's features (Drone::rotors, not a redefining +// `part :>> rotors[8];`): featureIn(d, path(end)[0]) is the one that stands for it in d +for (const c of featuresWithInherited(d).filter((f) => is(f, "ConnectionUsage"))) { + console.log(ends(c).map((end) => path(end).map((f) => f.name).join(".")).join(" -> ")); // battery.powerOut -> ... + const portTypes = ends(c).map((end) => typesOf(path(end).at(-1))); // per end: [PortDefinition or ConjugatedPortDefinition] +} +// Flows (FlowUsage), bindings (BindingConnectorAsUsage) and successions are ConnectorAsUsage too, +// with the same ends() +flow.payloadType; // [the flowing item's definition] + +// States +const machine = model.resolve("Pkg::Controller::modes"); // an ExhibitStateUsage or StateUsage +machine.nestedState; // its own states +machine.isParallel; machine.entryAction; +const initial = initialStates(machine); // `entry; then off;`, `first start then off;`, ... +const reachable = reachableStates(machine); // from the initial states along the transitions +for (const t of machine.nestedTransition) { // t.source, t.target: the states it leaves and enters; t.guardExpression + // an initial transition (`transition init then off;`) leaves the entry action, not a state + const signals = t.triggerAction.length ? acceptedTypes(t.triggerAction[0]) : []; // [ItemDefinition, ...] + if (t.triggerAction.length) t.triggerAction[0].payloadArgument; // TriggerInvocationExpression for `accept at`/`when` (.kind) +} + +// Requirements +for (const s of elementsOfType(model, "SatisfyRequirementUsage")) { + const req = s.satisfiedRequirement; // the requirement usage + const by = satisfyingFeature(s); // the part that satisfies it + const definition = typesOf(req); // [RequirementDefinition] + const subject = subjectOf(req); // its subject parameter, or null; often the definition's + // (`subject bike : Bike;` in MassLimit: MassLimit::bike) + const limitF = typesOf(req).flatMap((t) => featuresWithInherited(t)).find((f) => f.name === "maxMass"); + const limit = boundValue(req, limitF); // the requirement's value for its definition's maxMass + req.ownedMembership.filter((m) => is(m, "RequirementConstraintMembership") && m.kind === "requirement") + .map((m) => m.ownedConstraint); // its own constraints +} +constraint.ownedMembership.find((m) => is(m, "ResultExpressionMembership")).ownedResultExpression; +``` + +## Multiplicity + +`multiplicity` is only what the usage itself declares; `multiplicityOf` above applies SysML's rule: +a usage without one takes the multiplicity of the features it redefines or subsets as written +(nearest first; `part :>> battery[2];` declares its own), and one that redefines or subsets nothing +is `[1..1]` if it is an attribute, item, part or port usage owned by a definition or usage, and +unconstrained (`[0..*]`) otherwise. Implied subsettings (`s.isImplied`, such as every part's +subsetting of the library's `parts`) do not count. A bound may be an expression to evaluate in +context (`Rotor[rotorCount]`); `bounds` throws for it. + +## Evaluating the model's expressions + +Expressions are elements: `OperatorExpression` (`operator` such as `"<="`, `"and"`, `"not"`; +`argument`), `FeatureReferenceExpression` (`referent`), `FeatureChainExpression` (`a.b`: +`argument[0]` is `a`, `targetFeature` is `b`; it is an OperatorExpression too, so test it first), +literals with `.value` (`LiteralInteger`, `LiteralRational`, `LiteralBoolean`, `LiteralString`, +`LiteralInfinity` for `*`), `TriggerInvocationExpression` (`kind`: `at`, `after`, `when`). An +enumeration literal is an `EnumerationUsage` whose `owningNamespace` is the `EnumerationDefinition` +(its `owningType` is null, by the specification). Through the SysML Toolkit, `argument` is refused: +an expression's operands are its `ownedFeature`s, each bound by a `FeatureValue` in its +`ownedMembership`. + +The SysML Toolkit's `evaluate(target)` operation evaluates some expressions (it returns elements); +beyond that, the SDK does not evaluate. The SDK's source repository +(https://github.com/Open-MBEE/sysml-sdk, not the release packages) has, in +`examples/queries/typescript/queries.mjs`, an evaluator in three-valued logic and complete queries: +reachable states with shortest trigger sequences, bill of materials, attribute roll-up, +connectivity, requirement checks. Where it is at hand, start from it for such questions; the recipes +above cover the simple cases. + +## Other differences from the specification + +- **With the library loaded**, `usage`/`feature` (in a payload) include library features (`self`, + `start`, `subparts`, ...): filter with `isLibraryElement`. A flow's `connectorEnd` also lists the + library flow's ends; use `ends`. +- The second operand of `and`/`or`/`implies` is the operand expression itself, not the + `FeatureReferenceExpression` to it that the specification builds. Accept both. +- An unnamed `satisfy` has no `name`, but a qualified-name lookup may still find it under the name + of the requirement it satisfies. A feature named only through what it redefines has `name` from it + and `declaredName` null (a satisfy's subject parameter is named `subj`, although it redefines the + subject of the requirement's definition). Display `name`; test `declaredName` for what was + written. +- `mayTimeVary`, `isVariable` and `isConstant` on usages throw `NotImplementedInToolkit`. +- In the SysML Toolkit's export, an alias (`alias ax for x;`) hides the membership of the feature it + names from what specializations inherit, and a conjugated port's `portDefinition` is the + `ConjugatedPortDefinition` (`~PowerPort`), as the specification says. +- A payload answers what its writer wrote: stand-ins where the writer had no value (null, `false`, + `[]`), and `UnresolvedReference` for references into the standard + library unless it was given the library JSON. + +## Verify + +- Run the same query through the SysML Toolkit (with the helpers) and on its export as a payload + (the plain derived properties), matching elements by `$id`; differences point at the + SysML Toolkit, the export, or your code. +- Work out a few answers by hand and assert them. +- For more examples: the guide and runnable tutorial (`examples/typescript/`) and the query examples + (`examples/queries/typescript/`) in the SDK repository. diff --git a/tools/check_packages.py b/tools/check_packages.py new file mode 100644 index 0000000..d3cdd06 --- /dev/null +++ b/tools/check_packages.py @@ -0,0 +1,336 @@ +"""Acceptance checks for the release packages: install each one somewhere empty and read the +example model through it. + +Usage: python tools/check_packages.py --dist DIR [--java-home DIR] [--cxx COMPILER] [--library-dir DIR] [--bundled] + + python install the platform wheel from DIR into a new virtual environment; read the payload, + and read through the SysML Toolkit with the library the wheel carries + npm install the tarball into an empty project; read the payload, and read through the + SysML Toolkit with the WebAssembly module the package carries + java compile and run the Java tutorial with only the jar on the class path, on the JDK in + --java-home (default: the one on PATH), payload and SysML Toolkit + csharp restore the NuGet package into a new project from DIR alone, read the payload and the + SysML Toolkit + cpp compile the C++ tutorial against the extracted header archive alone, payload and + SysML Toolkit + +The SysML Toolkit reads of java, csharp and cpp take the native library from SYSMLV2_ABI, else from +this repository's build. With --bundled they take the one the package carries for this machine, +with SYSMLV2_ABI unset, as a user of the release does: the jar's and the NuGet package's own, and for +C++ the archive's lib// library copied beside each program. The payload reads need the +generated example JSON: the vehicle's export and the standard library as JSON (python +tools/export_example.py). Every check runs outside the repository. + +Each check then runs its language's guide (examples//README.md) against the installed +package: the code block marked `` and the one marked `` +are complete programs, and every block marked `` (or `queries toolkit`, +`queries payload`) goes into them where the line `... your code here ...` is. The programs run in a +directory that holds the files the guides name: the example model as model.sysml, its export as +model.json, the library JSON as sysml.library.full.json, and the standard library as sysml.library +(from --library-dir, else from a sysml-toolkit checkout beside this repository, else empty). +""" + +from __future__ import annotations + +import argparse +import glob +import os +import platform +import re +import shutil +import subprocess +import sys +import tempfile +import textwrap +import zipfile +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from naming import CS_NAMESPACE, JAVA_PACKAGE, NPM_PACKAGE, PYTHON_MODULE, S # noqa: E402 + +MODEL = (ROOT / "examples" / "vehicle.sysml").as_posix() +PAYLOAD = (ROOT / "examples" / "vehicle.full.json").as_posix() +LIBRARY_JSON = (ROOT / "examples" / "sysml.library.full.json").as_posix() +# What the checks read: answered by every SysML Toolkit release, and the same in a payload. +SPORTS_CAR = "spoiler, topSpeed | Vehicles::Vehicle" +FIRST_LINE = "Vehicles::Vehicle is a PartDefinition" # the tutorials' first step +NATIVE = {"win32": "sysmlv2_abi.dll", "darwin": "libsysmlv2_abi.dylib"}.get(sys.platform, "libsysmlv2_abi.so") + + +def run(cmd: list, cwd: Path, env: dict | None = None) -> str: + print("+", " ".join(str(c) for c in cmd), flush=True) + r = subprocess.run([str(c) for c in cmd], cwd=cwd, env=env, capture_output=True, text=True) + if r.returncode != 0: + sys.exit(f"failed ({r.returncode}):\n{r.stdout}\n{r.stderr}") + return r.stdout + + +def expect(output: str, needle: str, what: str) -> None: + if needle not in output: + sys.exit(f"{what}: expected {needle!r} in:\n{output}") + print(f"ok: {what}") + + +BUNDLED = False # --bundled: the package's own binding library, SYSMLV2_ABI unset + + +def platform_key() -> str: + """This machine as the jar names its library directories: windows-x86_64, linux-x86_64, + macos-aarch64, macos-x86_64.""" + arch = "aarch64" if platform.machine().lower() in ("arm64", "aarch64") else "x86_64" + return {"win32": "windows", "darwin": "macos"}.get(sys.platform, "linux") + "-" + arch + + +RIDS = {"windows-x86_64": "win-x64", "linux-x86_64": "linux-x64", "macos-aarch64": "osx-arm64", "macos-x86_64": "osx-x64"} + + +def native_env() -> dict: + if BUNDLED: + return {k: v for k, v in os.environ.items() if k != "SYSMLV2_ABI"} + env = dict(os.environ) + if not env.get("SYSMLV2_ABI"): + env["SYSMLV2_ABI"] = str(ROOT / "abi" / "target" / "release" / NATIVE) + if not Path(env["SYSMLV2_ABI"]).exists(): + sys.exit(f"no binding library at {env['SYSMLV2_ABI']}; set SYSMLV2_ABI") + return env + + +def one(dist: Path, pattern: str) -> Path: + found = sorted(dist.glob(pattern)) + if len(found) != 1: + sys.exit(f"expected one {pattern} in {dist}, found {[f.name for f in found]}") + return found[0] + + +GUIDE_BLOCK = re.compile(r"\n```[a-z]*\n(.*?)\n```", re.S) +PLACEHOLDER = re.compile(r"^([ \t]*)(?:#|//) \.\.\. your code here \.\.\.$", re.M) +DEFAULT_LIBRARY = ROOT.parent / "sysml-toolkit" / "spec-refs" / "SysML-v2-Release" / "sysml.library" + + +def guide_programs(language: str) -> dict[str, str]: + """The guide's SysML Toolkit and payload programs, each with the query blocks that apply to it + in place of its placeholder line, indented as that line is.""" + text = (ROOT / "examples" / language / "README.md").read_text(encoding="utf-8").replace("\r\n", "\n") + loaders, queries = {}, [] + for kind, only, code in GUIDE_BLOCK.findall(text): + if kind == "queries": + queries.append((only or None, code)) + else: + loaders[kind] = code + if set(loaders) != {"toolkit", "payload"} or not queries: + sys.exit(f"examples/{language}/README.md: expected a SysML Toolkit and a payload program and query blocks") + programs = {} + for kind, code in loaders.items(): + m = PLACEHOLDER.search(code) + if not m: + sys.exit(f"examples/{language}/README.md: the {kind} program has no '... your code here ...' line") + body = "\n\n".join(textwrap.indent(q, m.group(1)) for only, q in queries if only in (None, kind)) + programs[kind] = code[:m.start()] + body + code[m.end():] + "\n" + return programs + + +def guide_files(work: Path, library_dir: Path | None) -> None: + """The files the guides name, in the directory their programs run in.""" + shutil.copyfile(MODEL, work / "model.sysml") + shutil.copyfile(PAYLOAD, work / "model.json") + shutil.copyfile(LIBRARY_JSON, work / "sysml.library.full.json") + if library_dir is None and DEFAULT_LIBRARY.is_dir(): + library_dir = DEFAULT_LIBRARY + if library_dir is not None: + shutil.copytree(library_dir, work / "sysml.library") + else: + (work / "sysml.library").mkdir() + print("note: no standard library directory; the guides' SysML Toolkit programs read an empty one") + + +def guide_ran(language: str, kind: str, output: str) -> None: + print(f"ok: the {language} guide's {kind} program\n" + textwrap.indent(output.rstrip(), " | ")) + + +def check_python(dist: Path, work: Path, library_dir: Path | None) -> None: + run([sys.executable, "-m", "venv", work / "venv"], work) + py = work / "venv" / ("Scripts/python.exe" if os.name == "nt" else "bin/python") + run([py, "-m", "pip", "install", "--quiet", "--no-index", "--find-links", dist, S["python_dist"]], work) + env = {k: v for k, v in os.environ.items() if k != "SYSMLV2_ABI"} # the wheel's own library + out = run([py, "-c", f""" +import json +from {PYTHON_MODULE} import Model, PayloadLibrary +from {PYTHON_MODULE}.toolkit import _default_library_path +assert "_native" in _default_library_path(), _default_library_path() +from pathlib import Path +for notice in ("THIRD-PARTY-NOTICES.txt", "RUST-STANDARD-LIBRARY-NOTICES.html"): + assert (Path(_default_library_path()).parent / notice).is_file(), notice +library = PayloadLibrary(json.load(open({LIBRARY_JSON!r}, encoding="utf-8"))) +p = Model.from_full_json(json.load(open({PAYLOAD!r}, encoding="utf-8")), library=library).resolve("Vehicles::SportsCar") +print("payload owns", ", ".join(f.declaredName for f in p.ownedFeature), "|", ", ".join(g.superclassifier.qualifiedName for g in p.ownedSubclassification)) +s = Model.from_toolkit({MODEL!r}).resolve("Vehicles::SportsCar") +print("toolkit owns", ", ".join(f.declaredName for f in s.ownedFeature), "|", ", ".join(g.superclassifier.qualifiedName for g in s.ownedSubclassification), "|", s.effectiveName()) +"""], work, env) + expect(out, f"payload owns {SPORTS_CAR}", "Python wheel, payload with the library JSON") + expect(out, f"toolkit owns {SPORTS_CAR} | SportsCar", "Python wheel, SysML Toolkit read with the packaged library") + guide_files(work, library_dir) + for kind, program in guide_programs("python").items(): + (work / f"guide_{kind}.py").write_text(program, encoding="utf-8") + guide_ran("Python", kind, run([py, f"guide_{kind}.py"], work, env)) + + +def check_npm(dist: Path, work: Path, library_dir: Path | None) -> None: + npm = "npm.cmd" if os.name == "nt" else "npm" + tgz = one(dist, f"{S['npm_tarball_stem']}-[0-9]*.tgz") + run([npm, "init", "-y"], work) + run([npm, "install", "--silent", tgz], work) + name = NPM_PACKAGE + for notice in ("THIRD-PARTY-NOTICES.txt", "RUST-STANDARD-LIBRARY-NOTICES.html"): + if not (work / "node_modules" / name / notice).is_file(): + sys.exit(f"npm package: no {notice}") + (work / "check.mjs").write_text(f""" +import {{ readFileSync }} from "node:fs"; +import {{ ToolkitBackend, Model, PayloadLibrary }} from "{name}"; +const library = new PayloadLibrary(JSON.parse(readFileSync({LIBRARY_JSON!r}, "utf8"))); +const p = Model.fromFullJson(JSON.parse(readFileSync({PAYLOAD!r}, "utf8")), {{ library }}).resolve("Vehicles::SportsCar"); +console.log("payload owns", p.ownedFeature.map((f) => f.declaredName).join(", "), "|", p.ownedSubclassification.map((g) => g.superclassifier.qualifiedName).join(", ")); +const text = readFileSync({MODEL!r}, "utf8"); +const s = new Model(await ToolkitBackend.open({{ sources: {{ "vehicle.sysml": text }} }})).resolve("Vehicles::SportsCar"); +console.log("toolkit owns", s.ownedFeature.map((f) => f.declaredName).join(", "), "|", s.ownedSubclassification.map((g) => g.superclassifier.qualifiedName).join(", "), "|", s.effectiveName()); +""", encoding="utf-8") + env = {k: v for k, v in os.environ.items() if k != "SYSMLV2_ABI_WASM"} # the package's own module + out = run(["node", "check.mjs"], work, env) + expect(out, f"payload owns {SPORTS_CAR}", "npm package, payload with the library JSON") + expect(out, f"toolkit owns {SPORTS_CAR} | SportsCar", "npm package, SysML Toolkit read with the packaged module") + guide_files(work, library_dir) + for kind, program in guide_programs("typescript").items(): + (work / f"guide_{kind}.mjs").write_text(program, encoding="utf-8") + guide_ran("JavaScript", kind, run(["node", f"guide_{kind}.mjs"], work, env)) + + +def check_java(dist: Path, work: Path, java_home: str | None, library_dir: Path | None) -> None: + jar = one(dist, f"{S['product']}-[0-9]*[0-9].jar") + if BUNDLED: + entry = f"{JAVA_PACKAGE.replace('.', '/')}/native/{platform_key()}/{NATIVE}" + with zipfile.ZipFile(jar) as z: + if entry not in z.namelist(): + sys.exit(f"the jar carries no {entry}") + print(f"ok: the jar carries {entry}") + bin_ = (Path(java_home) / "bin") if java_home else None + javac = str(bin_ / "javac") if bin_ else "javac" + java = str(bin_ / "java") if bin_ else "java" + version = subprocess.run([java, "-version"], capture_output=True, text=True).stderr + preview = ['--enable-preview'] if '"21' in version else [] + release = "21" if preview else "22" + out_dir = work / "classes" + run([javac, *preview, "--release", release, "-cp", jar, "-d", out_dir, ROOT / "examples" / "java" / "Tutorial.java"], work) + cp = os.pathsep.join([str(jar), str(out_dir)]) + # The tutorial reads examples/ relative to the working directory. + payload = run([java, *preview, "-cp", cp, "Tutorial"], ROOT) + expect(payload, FIRST_LINE, f"Java jar on {version.splitlines()[0]}, payload") + toolkit = run([java, *preview, "--enable-native-access=ALL-UNNAMED", "-cp", cp, "Tutorial", "--toolkit"], ROOT, native_env()) + expect(toolkit, FIRST_LINE, f"Java jar on {version.splitlines()[0]}, SysML Toolkit") + guide_files(work, library_dir) + for kind, program in guide_programs("java").items(): + main_class = re.search(r"public class (\w+)", program).group(1) + src = work / f"guide-{kind}" / f"{main_class}.java" + src.parent.mkdir() + src.write_text(program, encoding="utf-8") + run([javac, *preview, "--release", release, "-cp", jar, "-d", src.parent, src], work) + guide_cp = os.pathsep.join([str(jar), str(src.parent)]) + guide_ran(f"Java ({version.splitlines()[0]})", kind, + run([java, *preview, "--enable-native-access=ALL-UNNAMED", "-cp", guide_cp, main_class], work, native_env())) + + +def check_csharp(dist: Path, work: Path, library_dir: Path | None) -> None: + nupkg = one(dist, "*.nupkg") + if BUNDLED: + entry = f"runtimes/{RIDS[platform_key()]}/native/{NATIVE}" + with zipfile.ZipFile(nupkg) as z: + if entry not in z.namelist(): + sys.exit(f"the NuGet package carries no {entry}") + print(f"ok: the NuGet package carries {entry}") + env = dict(native_env(), NUGET_PACKAGES=str(work / "nuget")) # keep the user's cache untouched + run(["dotnet", "new", "console", "--force", "-o", work / "app"], work, env) + version = nupkg.name[len(CS_NAMESPACE) + 1:-len(".nupkg")] + run(["dotnet", "add", "package", CS_NAMESPACE, "--version", version, "--source", dist], work / "app", env) + (work / "app" / "Program.cs").write_text(f"""using {CS_NAMESPACE}; +var library = PayloadLibrary.FromJson(File.ReadAllText(@"{LIBRARY_JSON}")); +var payload = Model.FromFullJson(File.ReadAllText(@"{PAYLOAD}"), library); +var fromPayload = (PartDefinition)payload.Resolve("Vehicles::SportsCar")!; +Console.WriteLine("payload owns " + string.Join(", ", fromPayload.ownedFeature.Select(f => f.declaredName)) + " | " + string.Join(", ", fromPayload.ownedSubclassification.Select(g => g.superclassifier!.qualifiedName))); +using var be = ToolkitBackend.Open(@"{MODEL}"); +var fromToolkit = (PartDefinition)new Model(be).Resolve("Vehicles::SportsCar")!; +Console.WriteLine("toolkit owns " + string.Join(", ", fromToolkit.ownedFeature.Select(f => f.declaredName)) + " | " + string.Join(", ", fromToolkit.ownedSubclassification.Select(g => g.superclassifier!.qualifiedName)) + " | " + fromToolkit.effectiveName()); +""", encoding="utf-8") + out = run(["dotnet", "run"], work / "app", env) + expect(out, f"payload owns {SPORTS_CAR}", "NuGet package, payload") + expect(out, f"toolkit owns {SPORTS_CAR} | SportsCar", "NuGet package, SysML Toolkit") + guide_files(work, library_dir) + for kind, program in guide_programs("csharp").items(): + project = work / f"guide-{kind}" + run(["dotnet", "new", "console", "--force", "-o", project], work, env) + run(["dotnet", "add", "package", CS_NAMESPACE, "--version", version, "--source", dist], project, env) + (project / "Program.cs").write_text(program, encoding="utf-8") + guide_ran("C#", kind, run(["dotnet", "run", "--project", project], work, env)) + + +def check_cpp(dist: Path, work: Path, cxx: str, library_dir: Path | None) -> None: + archive = one(dist, f"{S['product']}-cpp-*.zip") + with zipfile.ZipFile(archive) as z: + z.extractall(work) + [include] = glob.glob(str(work / "*" / "include")) + carried = None + if BUNDLED: + key = platform_key() + os_part = {"windows": "windows", "linux": "linux", "macos": "apple-darwin"}[key.split("-")[0]] + found = [Path(d) / NATIVE for d in glob.glob(str(work / "*" / "lib" / "*")) + if os_part in Path(d).name and Path(d).name.startswith(key.split("-")[1])] + if len(found) != 1 or not found[0].is_file(): + sys.exit(f"the C++ archive carries no library for {key}: {found}") + carried = found[0] + print(f"ok: the C++ archive carries {carried.relative_to(work).as_posix()}") + exe = work / ("tutorial.exe" if os.name == "nt" else "tutorial") + flags = ["-static"] if os.name == "nt" else (["-ldl"] if sys.platform.startswith("linux") else []) + run([cxx, "-std=c++17", "-Wall", "-Werror", "-I", include, ROOT / "examples" / "cpp" / "tutorial.cpp", "-o", exe, *flags], work) + if carried: + shutil.copy2(carried, work / NATIVE) # beside the programs, which are all built in work + expect(run([exe], ROOT), FIRST_LINE, "C++ headers, payload") + expect(run([exe, "--toolkit"], ROOT, native_env()), FIRST_LINE, "C++ headers, SysML Toolkit") + guide_files(work, library_dir) + for kind, program in guide_programs("cpp").items(): + src = work / f"guide_{kind}.cpp" + src.write_text(program, encoding="utf-8") + guide_exe = work / (f"guide_{kind}.exe" if os.name == "nt" else f"guide_{kind}") + run([cxx, "-std=c++17", "-Wall", "-Werror", "-I", include, src, "-o", guide_exe, *flags], work) + guide_ran("C++", kind, run([guide_exe], work, native_env())) + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("what", choices=["python", "npm", "java", "csharp", "cpp"]) + ap.add_argument("--dist", type=Path, required=True) + ap.add_argument("--java-home") + ap.add_argument("--cxx", default="c++") + ap.add_argument("--library-dir", type=Path, help="the standard library directory the guides read") + ap.add_argument("--bundled", action="store_true", + help="java, csharp, cpp: the package's own binding library, SYSMLV2_ABI unset") + a = ap.parse_args() + global BUNDLED + BUNDLED = a.bundled + dist = a.dist.resolve() + work = Path(tempfile.mkdtemp(prefix=f"sysml-check-{a.what}-")) + try: + if a.what == "python": + check_python(dist, work, a.library_dir) + elif a.what == "npm": + check_npm(dist, work, a.library_dir) + elif a.what == "java": + check_java(dist, work, a.java_home, a.library_dir) + elif a.what == "csharp": + check_csharp(dist, work, a.library_dir) + else: + check_cpp(dist, work, a.cxx, a.library_dir) + finally: + shutil.rmtree(work, ignore_errors=True) + + +if __name__ == "__main__": + main() diff --git a/tools/compare_report.py b/tools/compare_report.py new file mode 100644 index 0000000..3afb643 --- /dev/null +++ b/tools/compare_report.py @@ -0,0 +1,107 @@ +"""Compare a query report read through the SysML Toolkit with the expected report. + +Usage: | python tools/compare_report.py examples/queries/expected/ + +Every section (a report under its `== heading ==`) must equal the expected section, unless the +SysML Toolkit refused a read in it: the demo then stops that report with the line +` report stopped: `. A stopped section must equal the expected one up +to that line, and the refused member must be one TOOLKIT_REPORT_REFUSALS in +python/tests/toolkit_gaps.py lists for the section. A listed section that completes, or stops on +a member not listed, fails: the SysML Toolkit changed, so the table changes with it. The stopped +sections are printed as expected failures; the exit status is 1 when anything else differs. +""" +from __future__ import annotations + +import difflib +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(ROOT / "python" / "tests")) + +from toolkit_gaps import TOOLKIT_REPORT_REFUSALS # noqa: E402 + +STOP = "report stopped: " +REFUSAL = " is not answered by the SysML Toolkit" + + +def sections(text: str) -> list[list[str]]: + """The report's sections: each starts at a heading and ends before the next one, or at a stop + line. Blank lines at the edges of a section are dropped.""" + out: list[list[str]] = [] + current: list[str] | None = None + for line in text.replace("\r\n", "\n").split("\n"): + if line.startswith("== "): + if current is not None: + out.append(current) + current = [line] + elif line.strip().startswith(STOP): + out.append((current or []) + [line]) + current = None + elif current is not None or line.strip(): + current = (current or []) + [line] + if current is not None: + out.append(current) + trimmed = [] + for s in out: + while s and not s[-1].strip(): + s = s[:-1] + trimmed.append(s) + return trimmed + + +def accepted(row) -> dict[str, str]: + """A table row's accepted refusals, member -> why: one (member, why) pair, or a list of them + where the report stops at a different read depending on how the model was loaded.""" + return dict(row if isinstance(row, list) else [row]) + + +def check(actual: str, expected_path: Path) -> tuple[list[str], list[str]]: + """(problems, expected failures) of `actual` against the expected report at `expected_path`.""" + listed = TOOLKIT_REPORT_REFUSALS.get(expected_path.name, {}) + expected = sections(expected_path.read_text(encoding="utf-8")) + got = sections(actual) + problems, stopped = [], [] + if len(got) != len(expected): + problems.append(f"{len(got)} sections, {len(expected)} expected") + for exp, act in zip(expected, got): + title = exp[0][3:-3] if exp and exp[0].startswith("== ") else "(untitled)" + row = listed.get(title) + if act and act[-1].strip().startswith(STOP): + message = act[-1].strip()[len(STOP):] + member = message.split(REFUSAL)[0].split("::")[-1] if REFUSAL in message else None + printed = act[:-1] + if printed != exp[:len(printed)]: + problems.append(f"{title}: what the report printed before the SysML Toolkit's refusal differs " + f"from the expected report") + elif row is None: + problems.append(f"{title}: stopped by the SysML Toolkit ({message}); not listed in " + f"TOOLKIT_REPORT_REFUSALS") + elif member not in accepted(row): + problems.append(f"{title}: the SysML Toolkit refused {member}; TOOLKIT_REPORT_REFUSALS lists " + f"{' or '.join(accepted(row))}") + else: + stopped.append(f"{title}: the SysML Toolkit refuses {member} ({accepted(row)[member]})") + elif act != exp: + diff = "\n".join(difflib.unified_diff(exp, act, "expected", "actual", lineterm="")) + problems.append(f"{title}: differs from the expected report\n{diff}") + elif row is not None: + problems.append(f"{title}: complete now, but TOOLKIT_REPORT_REFUSALS lists a refusal of " + f"{' or '.join(accepted(row))}; " + f"remove the row") + return problems, stopped + + +def main() -> None: + if len(sys.argv) != 2: + raise SystemExit("usage: | python tools/compare_report.py ") + problems, stopped = check(sys.stdin.read(), Path(sys.argv[1])) + for s in stopped: + print(f"expected failure: {s}") + for p in problems: + print(f"FAIL {p}") + sys.exit(1 if problems else 0) + + +if __name__ == "__main__": + main() diff --git a/tools/export_example.py b/tools/export_example.py new file mode 100644 index 0000000..2f05563 --- /dev/null +++ b/tools/export_example.py @@ -0,0 +1,68 @@ +"""Generate the JSON the examples read on their payload path: each example model exported by the +SysML Toolkit, beside the model, and the standard library as JSON. None of these files is +committed. + +Usage: python tools/export_example.py --library [--skip-library-json] + +Writes examples/vehicle.full.json, examples/queries/models/pumps.full.json and drones.full.json, and +examples/sysml.library.full.json. + +The exports are the SysML Toolkit's own full-form emitter at the closure level: the +inheritance-aware properties carry the specification's values, inherited members included. The +models are loaded with the standard library, so their references into it carry the library's +normative element ids, and a payload model reads them from the library JSON (PayloadLibrary). Each +model is loaded under its file name, so the element ids are the same on every machine. + +The library JSON comes from abi/examples/export_library.rs, run with cargo. The exports need the +binding library (abi/target/release, or SYSMLV2_ABI). +""" + +import argparse +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(ROOT / "python")) + +from sysml.toolkit import ToolkitBackend # noqa: E402 + +MODELS = [ + ROOT / "examples" / "vehicle.sysml", + ROOT / "examples" / "queries" / "models" / "pumps.sysml", + ROOT / "examples" / "queries" / "models" / "drones.sysml", +] +LIBRARY_JSON = ROOT / "examples" / "sysml.library.full.json" + + +def export(model: Path, library: str) -> None: + out = model.with_suffix(".full.json") + be = ToolkitBackend.open(sources={model.name: model.read_text(encoding="utf-8")}, library_dir=library) + try: + text = be.full_json(closures=True) + finally: + be.close() + out.write_text(text + "\n", encoding="utf-8", newline="\n") + print(f"wrote {out.relative_to(ROOT).as_posix()} ({len(text)} bytes)") + + +def export_library(library: str) -> None: + # cargo runs in abi/, so a path relative to where this was started must be made absolute first. + subprocess.run(["cargo", "run", "--release", "--locked", "--quiet", "--example", "export_library", "--", + str(Path(library).resolve()), str(LIBRARY_JSON)], cwd=ROOT / "abi", check=True) + print(f"wrote {LIBRARY_JSON.relative_to(ROOT).as_posix()} ({LIBRARY_JSON.stat().st_size} bytes)") + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + parser.add_argument("--library", required=True, help="the standard library's directory (sysml.library)") + parser.add_argument("--skip-library-json", action="store_true", help="write the model exports only") + args = parser.parse_args() + for model in MODELS: + export(model, args.library) + if not args.skip_library_json: + export_library(args.library) + + +if __name__ == "__main__": + main() diff --git a/tools/extract_metamodel.py b/tools/extract_metamodel.py new file mode 100644 index 0000000..d30c68a --- /dev/null +++ b/tools/extract_metamodel.py @@ -0,0 +1,413 @@ +"""Extract the language-neutral metamodel table (metamodel.json). + +Inputs (all read-only, vendored under vendor/sysml-toolkit/ — see PIN.json +for provenance; set SYSML_TOOLKIT_REPO to read a live sysml-toolkit +checkout instead when re-vendoring): + spec-refs/KerML.xmi, spec-refs/SysML.xmi -> class hierarchy, abstract, operations + crates/sysmlv2-model/src/schema_props.rs -> concrete-class property catalog + shapes + crates/sysmlv2-testkit/src/xmi_props.rs -> per-property derived flag + +Output: metamodel.json + { "classes": { name: { "abstract": bool, "bases": [name...], + "props": { pname: {"shape": "A|B|N|R|S|E", + "derived": bool, + "type": name, "kind": ..., + "redefines": ["Class::prop", ...]} }, + "ops": [ {"name": ..., "params": [name, ...], + "paramTypes": [{"type", "kind", "many"}, ...], + "returns": {"type", "kind", "many"} | null, + "redefines": ["Class::op", ...]} ] } } } + +Table 0.6.0 drops the per-property +"reliability" column: the SysML Toolkit reports its own unimplemented +members, so the SDK no longer second-guesses results. The "derived" +boolean stays — it is genuine XMI spec information. + +Table 0.7.0 adds redefinitions, of properties and of operations, and +parameter and return types, and leaves the return parameter out of +"params". A property's "redefines" lists what its nearest XMI declaration +along the class's ancestry redefines; a redefinition whose target is not a +class attribute (an association end) is skipped and counted. + +The published XMI carries no enumeration-valued attribute at all: no +parameter `direction`, no `aggregation`, no `visibility` (the Boolean flags +are all there). The source model has them: the Pilot Implementation's +Eclipse UML export of it (org.omg.sysml/model/SysML.uml, as of 2025-06-02) +marks one `direction="return"` parameter on every operation. Here the +return parameter is identified by convention: the one unnamed parameter, +else the one named `result`, else none. The convention picks the parameter +the Pilot's export marks on all 103 operations, agrees with every +operation's xmi:id (which lists its input types, e.g. `evaluate_Element`), +and with every operation signature of the KerML and SysML documents +(checked 2026-09-27). + +Table 0.7.1 corrects the XMI where it contradicts the specification +document, listed in XMI_ERRATA with the source of each correction. +""" + +import json +import os +import re +import sys +import xml.etree.ElementTree as ET +from pathlib import Path + +HERE = Path(__file__).resolve().parent.parent # repository root +REPO = Path(os.environ.get("SYSML_TOOLKIT_REPO", HERE / "vendor" / "sysml-toolkit")) + +# metamodel.json is a published, versioned artifact: bump +# TABLE_VERSION on any change to its shape or semantics. Provenance is +# always taken from the vendored PIN.json — when SYSML_TOOLKIT_REPO +# overrides the inputs, re-vendor and update the pin first. +TABLE_VERSION = "0.7.1" +SPEC_REFS = "20250201" +XMI_NS = "{http://www.omg.org/spec/XMI/20161101}" + +# Corrections to the published XMI, each with its source. Extraction fails when the XMI already +# carries what a correction supplies, so a correction never outlives its reason. +_BOOLEAN = {"type": "Boolean", "kind": "primitive", "many": False} +XMI_ERRATA = { + # The XMI gives isCompatibleWith no return parameter. KerML 20250201 gives + # `isCompatibleWith(otherType : Type) : Boolean` for Type and for Feature; the Pilot + # Implementation's metamodel added the Boolean return on 2025-06-02 (ST6RI-854). + ("Type", "isCompatibleWith"): {"returns": _BOOLEAN}, + ("Feature", "isCompatibleWith"): {"returns": _BOOLEAN}, +} + + +def raw_ref(el, file_key: str): + """A child element's reference: ("idref", file_key, id) | ("href", href_string) | None.""" + if el is None: + return None + idref = el.get(f"{XMI_NS}idref") or el.get("idref") + if idref: + return ("idref", file_key, idref) + href = el.get("href") + return ("href", href) if href else None + + +def ref_key(ref): + """(file_key, xmi_id) of a raw reference.""" + if ref[0] == "idref": + return ref[1], ref[2] + doc, _, frag = ref[1].partition("#") + return ("KerML" if "KerML" in doc else "SysML"), frag + + +def is_many(el) -> bool: + """True when a typed element's upper bound exceeds one (UML default: one).""" + up = el.find("upperValue") + if up is None: + return False + v = up.get("value", "1") + return v in ("*", "-1") or (v.isdigit() and int(v) > 1) + + +def return_index(params) -> int | None: + """Index of the return parameter among an operation's ownedParameter elements (see the + module docstring): the one unnamed parameter, else the one named `result`, else none.""" + unnamed = [i for i, p in enumerate(params) if not p.get("name")] + if len(unnamed) == 1: + return unnamed[0] + if unnamed: + sys.exit(f"operation with {len(unnamed)} unnamed parameters: {params[0].get(f'{XMI_NS}id')}") + named_result = [i for i, p in enumerate(params) if p.get("name") == "result"] + return named_result[0] if len(named_result) == 1 else None + + +def parse_xmi_classes(path: Path, file_key: str): + """-> full_ids {xmi_id: name} (every named packagedElement), + enum_ids (uml:Enumeration ids), + member_ids {xmi_id: (class, member)} (every class attribute and operation), + classes {name: {"abstract", "bases", "ops", "attrs", "attr_redefs"}} for uml:Class. + + attrs: {attr_name: ("idref", file_key, id) | ("href", href_string)} — + raw type references, resolved after both files are parsed; likewise the + raw references in attr_redefs {attr_name: [ref, ...]} and in each op's + "redefs", "param_refs" and "return_ref".""" + root = ET.parse(path).getroot() + full_ids, enum_ids, member_ids, classes = {}, set(), {}, {} + for el in root.iter(): + if el.tag != "packagedElement": + continue + name, xid = el.get("name"), el.get(f"{XMI_NS}id") + if name and xid: + full_ids[xid] = name + if el.get(f"{XMI_NS}type") == "uml:Enumeration" and xid: + enum_ids.add(xid) + if el.get(f"{XMI_NS}type") != "uml:Class" or not name or not xid: + continue + bases = [] + for g in el.findall("generalization"): + ge = g.find("general") + if ge is None: + continue + idref = ge.get(f"{XMI_NS}idref") or ge.get("idref") + if idref: + bases.append((file_key, idref)) + continue + href = ge.get("href") + if href: + ref_file, _, frag = href.partition("#") + key = "KerML" if "KerML" in ref_file else "SysML" + bases.append((key, frag)) + ops = [] + for o in el.findall("ownedOperation"): + member_ids[o.get(f"{XMI_NS}id")] = (name, o.get("name")) + plist = o.findall("ownedParameter") + ret = return_index(plist) + params, param_refs = [], [] + for i, p in enumerate(plist): + if i == ret: + continue + params.append(p.get("name")) + param_refs.append((raw_ref(p.find("type"), file_key), is_many(p))) + return_ref = None if ret is None else (raw_ref(plist[ret].find("type"), file_key), is_many(plist[ret])) + redefs = [raw_ref(r, file_key) for r in o.findall("redefinedOperation")] + ops.append({"name": o.get("name"), "params": params, "param_refs": param_refs, + "return_ref": return_ref, "redefs": redefs}) + attrs, attr_redefs = {}, {} + for a in el.findall("ownedAttribute"): + aname = a.get("name") + if a.get(f"{XMI_NS}id") and aname: + member_ids[a.get(f"{XMI_NS}id")] = (name, aname) + ref = raw_ref(a.find("type"), file_key) + if not aname or ref is None: + continue + attrs[aname] = ref + attr_redefs[aname] = [raw_ref(r, file_key) for r in a.findall("redefinedProperty")] + classes[name] = {"abstract": el.get("isAbstract") == "true", + "bases": bases, "ops": ops, "attrs": attrs, "attr_redefs": attr_redefs} + return full_ids, enum_ids, member_ids, classes + + +def parse_schema_props(path: Path): + """schema_props.rs -> {class: {prop: shape_char}} (concrete classes only).""" + src = path.read_text(encoding="utf-8") + out = {} + for m in re.finditer(r'\(\s*"(\w+)",\s*&\[(.*?)\]\s*,\s*\)', src, re.S): + cls, body = m.group(1), m.group(2) + out[cls] = {p: s for p, s in re.findall(r"\(\"(\w+)\", b'(.)'\)", body)} + return out + + +def parse_xmi_props(path: Path): + """xmi_props.rs -> {class: {prop: derived_bool}}, {class: abstract_bool}.""" + src = path.read_text(encoding="utf-8") + derived, abstract = {}, {} + for m in re.finditer( + r'\(\s*"(\w+)",\s*(true|false),\s*&\[(.*?)\n \],\s*\n \),', src, re.S + ): + cls, ab, body = m.group(1), m.group(2), m.group(3) + abstract[cls] = ab == "true" + derived[cls] = { + p: (int(f) & 1) != 0 for p, f in re.findall(r'\("(\w+)",\s*(\d+),', body) + } + return derived, abstract + + +PRIMITIVES = {"Boolean", "Integer", "Real", "String", "UnlimitedNatural"} + + +def main(): + k_ids, k_enums, k_members, k_classes = parse_xmi_classes(REPO / "spec-refs/KerML.xmi", "KerML") + s_ids, s_enums, s_members, s_classes = parse_xmi_classes(REPO / "spec-refs/SysML.xmi", "SysML") + # Language provenance relies on the two declaration sets being a + # partition (measured for 20250201: 82 + 93, no overlap; SysML.xmi + # references KerML classes by cross-document href, never by + # re-declaring them). If a future spec release breaks that, decide + # the policy consciously instead of inheriting a silent tie-break. + overlap = sorted(set(k_classes) & set(s_classes)) + if overlap: + sys.exit(f"language provenance ambiguous — declared in BOTH XMIs: {overlap}") + id_maps = {"KerML": k_ids, "SysML": s_ids} + member_maps = {"KerML": k_members, "SysML": s_members} + enum_ids = k_enums | s_enums + merged = {} + for src in (k_classes, s_classes): + for name, info in src.items(): + merged.setdefault(name, info) # SysML redefinitions keep KerML entry order + + # resolve base references to class names + def base_names(info): + out = [] + for key, ref in info["bases"]: + nm = id_maps[key].get(ref) or id_maps["KerML"].get(ref) or id_maps["SysML"].get(ref) + if nm and nm not in out: + out.append(nm) + return out + + # --- property types (nearest XMI declaration wins) --------------------- + def resolve_type(ref): + """raw attr type ref -> (type_name, kind) with kind in + element | enum | primitive, or (None, None) if unresolvable.""" + if ref[0] == "idref": + _, fkey, xid = ref + else: + _, href = ref + _, _, xid = href.partition("#") + fkey = "KerML" if "KerML" in href.partition("#")[0] else "SysML" + if xid in PRIMITIVES: + return xid, "primitive" + name = id_maps[fkey].get(xid) or id_maps["KerML"].get(xid) or id_maps["SysML"].get(xid) + if name is None: + return None, None + if name in merged: + return name, "element" + if xid in enum_ids: + return name, "enum" + return name, None + + bases_by_name = {name: base_names(info) for name, info in merged.items()} + + def ancestors(n, acc): + for b in bases_by_name[n]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + topo, seen = [], set() + + def visit(n): + if n in seen: + return + seen.add(n) + for b in bases_by_name[n]: + visit(b) + topo.append(n) + + for n in sorted(merged): + visit(n) + topo_index = {n: i for i, n in enumerate(topo)} + + def nearest_declaration(cls, prop): + """The class holding the most-derived XMI declaration of prop along + cls's ancestry — honors redefinition narrowing — or None.""" + candidates = [cls] + sorted(ancestors(cls, set()), + key=lambda a: -topo_index[a]) + for c in candidates: + if merged[c]["attrs"].get(prop) is not None: + return c + return None + + def nearest_type(cls, prop): + c = nearest_declaration(cls, prop) + return resolve_type(merged[c]["attrs"][prop]) if c else (None, None) + + skipped_redefs = set() + + def members(refs): + """Raw redefinition references -> sorted "Class::member" names; a + reference to anything but a class member (an association end) is + skipped and counted.""" + out = set() + for ref in refs: + fkey, xid = ref_key(ref) + hit = member_maps[fkey].get(xid) + if hit is None: + skipped_redefs.add(xid) + else: + out.add(f"{hit[0]}::{hit[1]}") + return sorted(out) + + applied_errata = [] + + def returns_of(cls, op): + """The operation's return type: from the XMI, or from XMI_ERRATA where the XMI has none.""" + fix = XMI_ERRATA.get((cls, op["name"]), {}).get("returns") + if fix and op["return_ref"]: + sys.exit(f"{cls}::{op['name']}: the XMI now has a return parameter; drop its XMI_ERRATA row") + if fix: + applied_errata.append(f"{cls}::{op['name']}") + return dict(fix) + return typed(op["return_ref"]) if op["return_ref"] else None + + def typed(ref_many): + ref, many = ref_many + tname, tkind = resolve_type(ref) if ref else (None, None) + return {"type": tname, "kind": tkind, "many": many} + + shapes = parse_schema_props(REPO / "crates/sysmlv2-model/src/schema_props.rs") + derived, xmi_abstract = parse_xmi_props( + REPO / "crates/sysmlv2-testkit/src/xmi_props.rs" + ) + classes = {} + untyped, shape_mismatch = [], [] + for name, info in merged.items(): + props = {} + for p, shape in shapes.get(name, {}).items(): + is_derived = derived.get(name, {}).get(p, False) + tname, tkind = nearest_type(name, p) + if tname is None or tkind is None: + untyped.append(f"{name}.{p}") + elif shape == "B" and tname != "Boolean": + shape_mismatch.append(f"{name}.{p}: shape B but type {tname}") + decl = nearest_declaration(name, p) + props[p] = { + "shape": shape, + "derived": is_derived, + "type": tname, + "kind": tkind, + "redefines": members(merged[decl]["attr_redefs"].get(p, [])) if decl else [], + } + classes[name] = { + "abstract": xmi_abstract.get(name, info["abstract"]), + "bases": base_names(info), + # defining spec layer = the XMI that declares the uml:Class + # (the sets are disjoint — guarded above) + "language": "kerml" if name in k_classes else "sysml", + "props": props, + "ops": [ + { + "name": op["name"], + "params": op["params"], + "paramTypes": [typed(r) for r in op["param_refs"]], + "returns": returns_of(name, op), + "redefines": members(op["redefs"]), + } + for op in info["ops"] + ], + } + if untyped: + sys.exit( + f"type column incomplete — {len(untyped)} rows with no XMI " + f"declaration found: {untyped[:20]}" + ) + if shape_mismatch: + sys.exit("shape/type inconsistency:\n " + "\n ".join(shape_mismatch[:20])) + + pin = json.loads( + (HERE / "vendor" / "sysml-toolkit" / "PIN.json").read_text(encoding="utf-8") + ) + missing = sorted(f"{c}::{o}" for c, o in XMI_ERRATA if f"{c}::{o}" not in applied_errata) + if missing: + sys.exit(f"XMI_ERRATA rows that match no operation: {missing}") + meta = { + "table": TABLE_VERSION, + "xmiErrata": sorted(applied_errata), + "specRefs": SPEC_REFS, + "toolkitCommit": pin["sourceCommit"], + } + out = HERE / "metamodel.json" + out.write_text( + json.dumps({"classes": classes, "meta": meta}, indent=1, sort_keys=True), + encoding="utf-8", newline="\n", + ) + n_conc = sum(1 for c in classes.values() if not c["abstract"]) + n_props = sum(len(c["props"]) for c in classes.values()) + print(f"classes: {len(classes)} ({n_conc} concrete), property rows: {n_props}") + n_redef = sum(1 for c in classes.values() for m in c["props"].values() if m["redefines"]) + print(f"properties with redefinitions: {n_redef}; redefinition targets skipped " + f"(not class members): {len(skipped_redefs)}") + roots = [n for n, c in classes.items() if not c["bases"]] + print("hierarchy roots:", roots) + missing_bases = sorted( + {b for c in classes.values() for b in c["bases"] if b not in classes} + ) + if missing_bases: + print("WARNING unresolved bases:", missing_bases, file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/tools/gen_abi.py b/tools/gen_abi.py new file mode 100644 index 0000000..4eb8afd --- /dev/null +++ b/tools/gen_abi.py @@ -0,0 +1,144 @@ +"""Generate abi/src/generated.rs: one extern "C" function per row of the naming table. + +Inputs (vendored under vendor/naming-table/, see its PIN.json; override with --tables): + toolkit-api-names.csv every specification member -> rust_fn + toolkit-delegation-map.csv the operations the SysML Toolkit can answer, and the ones it refuses + +Every row gets a function. Each first checks that the element's metaclass has the member, and +answers NOT_APPLICABLE otherwise. Property rows call the generic reader for their result shape +in abi/src/read.rs with the specification name; the reader asks the SysML Toolkit's checked +reader (`property`), which follows the metamodel's redefinitions itself. Operation rows call +`ops::call` in abi/src/ops.rs with the operation's declaring class and name and their arguments; +it invokes the operation through the SysML Toolkit's operation entry point, which refuses what it +cannot run. The naming table's SHA-256 is embedded so a language core can refuse to run against a +library generated from a different table. + +From metamodel.json the generator also emits, for a unit test, every class with its ancestors, +to prove the SysML Toolkit's metaclass hierarchy agrees. + +Result type per property row, from the table's result_kind / result_shape / result_type: + element + A -> Handles + element + N or R -> Ref + primitive Boolean -> Bool + primitive Integer -> Int + primitive Real|Rational-> Real + anything else -> Str (a primitive array is JSON-encoded in the string) + +Operations take their parameter and result types from metamodel.json (tools/naming.py: an +element list is Handles, one element a Handle, a single Boolean a bool, anything else a Str; the +result maps like a property's). +""" +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from pathlib import Path + +from naming import abi_params, result_code + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent +DEFAULT_TABLES = ROOT / "vendor" / "naming-table" # vendored; see its PIN.json +OUT = ROOT / "abi" / "src" / "generated.rs" + +def result_type(row: dict) -> str: + return {"H": "Handles", "R": "Ref", "S": "Str", "T": "Str", "B": "Bool", "I": "Int", "F": "Real"}[result_code(row)] + + +def c_param(name: str, ctype: str) -> tuple[str, str, str | None]: + """(rust parameter declaration, the ops::Arg passed on, the pointer to check for null).""" + if ctype == "Handle": + return f"{name}: Handle", f"ops::Arg::Handle({name})", None + if ctype == "bool": + return f"{name}: bool", f"ops::Arg::Bool({name})", None + if ctype == "Handles": + return f"{name}: *const Handles", f"ops::Arg::Handles(&*{name})", name + return f"{name}: *const Str", f"ops::Arg::Str(&*{name})", name + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--tables", type=Path, default=DEFAULT_TABLES) + ap.add_argument("--out", type=Path, default=OUT) + a = ap.parse_args() + + names_path = a.tables / "toolkit-api-names.csv" + names_bytes = names_path.read_bytes() + digest = hashlib.sha256(names_bytes.replace(b"\r\n", b"\n")).hexdigest() + rows = list(csv.DictReader(names_bytes.decode("utf-8").splitlines())) + + out = [ + "//! Generated by tools/gen_abi.py from toolkit-api-names.csv. Do not edit.", + f"//! Naming table SHA-256: {digest}", + "", + "#![allow(unused_variables, clippy::not_unsafe_ptr_arg_deref)]", + "", + "use crate::{ops, read, Bool, Handle, Handles, Int, Real, Ref, Session, Status, Str};", + "", + f'pub const NAMES_DIGEST: &str = "{digest}";', + "", + ] + readers = {"Handles": "handles", "Ref": "reference", "Str": "text", "Bool": "flag", "Int": "integer", "Real": "real"} + n_ops = 0 + for r in rows: + fn = r["rust_fn"] + rt = result_type(r) + params = [p for p in r["params"].split(";") if p] if r["kind"] == "operation" else [] + cparams = [c_param(p, t) for p, t in zip(params, abi_params(r))] + if len(cparams) != len(params): + raise SystemExit(f"{r['declaring_class']}::{r['member']}: {len(params)} parameters in the table, " + f"{len(cparams)} in metamodel.json") + sig_params = ", ".join(["s: *mut Session", "h: Handle"] + [c[0] for c in cparams] + [f"out: *mut {rt}"]) + member = f'{r["declaring_class"]}::{r["member"]}' + pointers = ["s.is_null()", "out.is_null()"] + [f"{c[2]}.is_null()" for c in cparams if c[2]] + out.append(f"/// `{member}` ({r['kind']}).") + out.append("#[no_mangle]") + out.append(f"pub unsafe extern \"C\" fn sysmlv2_{fn}({sig_params}) -> Status {{") + out.append(f" if {' || '.join(pointers)} {{ return Status::InvalidArg; }}") + out.append(" let s = &mut *s;") + out.append(" let e = match s.elem(h) { Ok(e) => e, Err(st) => return st };") + out.append(f' if let Err(st) = crate::applicable(s, e, "{r["declaring_class"]}", "{r["member"]}") {{ return st; }}') + if r["kind"] == "property": + out.append(f' read::{readers[rt]}(s, e, "{r["member"]}", &mut *out)') + else: + n_ops += 1 + args = ", ".join(c[1] for c in cparams) + out.append(f' let answer = ops::call(s, e, "{r["declaring_class"]}", "{r["member"]}", &[{args}]);') + out.append(f' read::put_{readers[rt]}(s, "{member}()", answer, &mut *out)') + out.append("}") + out.append("") + + out += hierarchy_table() + a.out.write_text("\n".join(out), encoding="utf-8", newline="\n") + n_props = sum(1 for r in rows if r["kind"] == "property") + print(f"wrote {a.out}: {len(rows)} functions ({n_props} properties through the readers, " + f"{n_ops} operations through the SysML Toolkit's operation entry point), digest {digest[:12]}") + + +def hierarchy_table() -> list[str]: + mm = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8"))["classes"] + + def ancestors(n: str, acc: set) -> set: + for b in mm[n]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + out = [ + "/// Every concrete metaclass with its ancestors, from metamodel.json; the unit test in lib.rs", + "/// checks the SysML Toolkit's `metaclass_conforms` against it.", + "#[cfg(test)]", + "pub static HIERARCHY: &[(&str, &[&str])] = &[", + ] + for n in sorted(k for k, i in mm.items() if not i["abstract"]): + anc = ", ".join(f'"{x}"' for x in sorted(ancestors(n, set()))) + out.append(f' ("{n}", &[{anc}]),') + out += ["];", ""] + return out + + +if __name__ == "__main__": + main() diff --git a/tools/gen_classes.py b/tools/gen_classes.py new file mode 100644 index 0000000..5513879 --- /dev/null +++ b/tools/gen_classes.py @@ -0,0 +1,266 @@ +"""Generate sysml/classes.py from metamodel.json. + +Emits the full metaclass hierarchy as Python classes (real multiple +inheritance, redundant bases pruned for C3), property descriptors on +concrete classes, and operation stubs. This is the Python backend of +the (future multi-language) generator. + +Member naming (tools/naming.py): properties are descriptors under the +specification name; operations are methods under theirs, except an +operation that shares its name with a property (`instantiatedType`), which +becomes `instantiatedType_op()`. +""" + +import sys + +from naming import MM, ROOT, as_meta, op_key, op_member + +HERE = ROOT # repository root + +PY_KEYWORDS = {"import", "class", "def", "return", "in", "for", "if", "else"} + + +def check_collisions(): + """Enforce the Python collision rule. + + Rule: every public runtime member on base.Element contains an + underscore; spec property/operation names are lowerCamelCase and + never do. Both halves are asserted here so a future metamodel or + runtime change that breaks the invariant fails the build instead of + silently shadowing (the way `metaclass` once shadowed the runtime + accessor on MetadataFeature/MetadataUsage). + """ + sys.path.insert(0, str(HERE / "python")) + from sysml.base import Element as RuntimeElement, Op, P + + # Spec operations of Element itself are attached to the runtime base by this + # generator; they are descriptors, not runtime members, and are excluded here. + runtime_public = {n for n in dir(RuntimeElement) if not n.startswith("_") + and not isinstance(getattr(RuntimeElement, n), (Op, P))} + bad = [f"runtime member Element.{n} lacks an underscore" + for n in runtime_public if "_" not in n] + for cls, info in MM.items(): + for nm in list(info["props"]) + [o["name"] for o in info["ops"] if o["name"]]: + if "_" in nm: + bad.append(f"spec name {cls}.{nm} contains an underscore") + if nm in runtime_public: + bad.append(f"spec name {cls}.{nm} collides with runtime Element.{nm}") + for o in info["ops"]: + member = op_member(o["name"], "python") + if member != o["name"] and member in runtime_public: + bad.append(f"operation {cls}.{member} collides with runtime Element.{member}") + if member in info["props"]: + bad.append(f"operation {cls}.{member} collides with a property") + if bad: + sys.exit("collision rule violated:\n " + "\n ".join(bad)) + + +def ancestors(name, acc): + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + +def pruned_bases(name): + """Drop bases that are already ancestors of other bases (C3 hygiene).""" + bases = MM[name]["bases"] + keep = [] + for b in bases: + others = set() + for o in bases: + if o != b: + ancestors(o, others) + if b not in others: + keep.append(b) + return keep + + +def topo_order(): + seen, order = set(), [] + + def visit(n): + if n in seen: + return + seen.add(n) + for b in MM[n]["bases"]: + visit(b) + order.append(n) + + for n in sorted(MM): + visit(n) + return order + + +def load_toolkit_table(): + """The generated dispatch data (tools/gen_toolkit_table.py), loaded by path so that + regeneration never imports the package and its possibly stale classes.py.""" + import importlib.util + path = HERE / "python" / "sysml" / "toolkit_table.py" + spec = importlib.util.spec_from_file_location("toolkit_table", path) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod + + +def resolve_symbol(KT, cls, member): + """(c_symbol, result_code, params) for `member` as seen from `cls`, found on the + declaring class by walking the bases. Missing rows are a generation failure: the + naming table must cover every member the metamodel declares.""" + seen, stack = set(), [cls] + while stack: + c = stack.pop() + if c in seen: + continue + seen.add(c) + e = KT.FUNCS.get((c, member)) + if e is not None: + return e + stack.extend(MM[c]["bases"]) + raise SystemExit(f"naming table has no row for {cls}::{member} (nor any base)") + + +def main(): + check_collisions() + KT = load_toolkit_table() + lines = [ + '"""Generated metaclass hierarchy — do not edit.', + "", + "Source: metamodel.json (XMI 20250201 hierarchy, schema property", + "catalog, XMI derived flags).", + '"""', + "", + "from .base import Element, Op, P", + "", + ] + n_props = n_ops = 0 + order = topo_order() + topo_index = {n: i for i, n in enumerate(order)} + for name in order: + info = MM[name] + bases = pruned_bases(name) or (["Element"] if name != "Element" else []) + # Sort every base list by one global order (most-derived first): + # all local precedence constraints then embed in a single total + # order, so C3 linearization cannot fail. isinstance semantics + # are unaffected; only MRO tie-breaking order changes. + bases.sort(key=lambda b: -topo_index[b]) + if name == "Element": + # the spec root merges into the runtime base class; its properties and + # operations are attached to that class below, after every subclass exists + lines.append("# 'Element' is the runtime base (base.Element); its properties and") + lines.append("# operations are attached at the end of this module.") + lines.append("") + continue + base_list = ", ".join(b if b != "Element" else "Element" for b in bases) + kind = "abstract" if info["abstract"] else "concrete" + layer = {"kerml": "KerML", "sysml": "SysML"}[info["language"]] + lines.append(f"class {name}({base_list}):") + lines.append(f' """{kind} — {layer} 20250201."""') + lines.append(" __slots__ = ()") + for p, meta in sorted(info["props"].items()): + if p in PY_KEYWORDS or not p.isidentifier(): + continue # none expected; guard for exotic names + sym, code, _ = resolve_symbol(KT, name, p) + lines.append( + f' {p} = P("{p}", "{meta["shape"]}", {meta["derived"]}, "{sym}", "{code}")' + ) + n_props += 1 + for op in info["ops"]: + oname = op["name"] + if not oname or not oname.isidentifier(): + continue + sym, code, params = resolve_symbol(KT, name, op_key(oname)) + member = op_member(oname, "python") + lines.append(f' {member} = Op("{oname}", {op["params"]!r}, "{sym}", "{code}", {params!r})') + n_ops += 1 + lines.append("") + + # Every element has the members of the metaclass Element, whatever its class. + for p, meta in sorted(MM["Element"]["props"].items()): + sym, code, _ = resolve_symbol(KT, "Element", p) + lines.append(f'Element.{p} = P("{p}", "{meta["shape"]}", {meta["derived"]}, "{sym}", "{code}")') + n_props += 1 + for op in MM["Element"]["ops"]: + oname = op["name"] + if not oname or not oname.isidentifier(): + continue + sym, code, params = resolve_symbol(KT, "Element", op_key(oname)) + member = op_member(oname, "python") + lines.append(f'Element.{member} = Op("{oname}", {op["params"]!r}, "{sym}", "{code}", {params!r})') + n_ops += 1 + lines.append("") + + concrete = [n for n in MM if not MM[n]["abstract"]] + lines.append("REGISTRY = {") + for n in sorted(concrete): + lines.append(f' "{n}": {n},') + lines.append("}") + lines.append("") + + out = HERE / "python" / "sysml" / "classes.py" + out.write_text("\n".join(lines), encoding="utf-8", newline="\n") + write_stub(order, topo_index, concrete) + print( + f"wrote {out.name} (+ .pyi): {len(MM) - 1} classes, {n_props} property " + f"descriptors, {n_ops} operation stubs, {len(concrete)} in registry" + ) + + +def py_type(meta): + """Table row -> Python type annotation (typed getters, table 0.5.0).""" + if meta["kind"] == "element": + base = meta["type"] + elif meta["type"] == "Boolean": + base = "bool" + elif meta["type"] == "Integer": + base = "int" + elif meta["type"] == "Real": + base = "float" + else: # String + enums (enum convention: lowercase spec strings) + base = "str" + return f"list[{base}]" if meta["shape"] == "A" else f"{base} | None" + + +def write_stub(order, topo_index, concrete): + """classes.pyi: the typed surface for IDEs and type checkers. The + runtime stays descriptor-based (dynamic); unresolved references + raise UnresolvedReference instead of yielding placeholders.""" + lines = [ + '"""Generated type stubs — do not edit. Source: metamodel.json."""', + "", + "from .base import Element as _RuntimeElement", + "", + ] + for name in order: + info = MM[name] + if name == "Element": + # The runtime base, with the members every element has. + lines.append("class Element(_RuntimeElement):") + else: + bases = pruned_bases(name) or ["Element"] + bases.sort(key=lambda b: -topo_index[b]) + lines.append(f"class {name}({', '.join(bases)}):") + body = [] + for p, meta in sorted(info["props"].items()): + if p in PY_KEYWORDS or not p.isidentifier(): + continue + body.append(f" {p}: {py_type(meta)}") + for op in info["ops"]: + oname = op["name"] + if not oname or not oname.isidentifier(): + continue + args = "".join(f", {a}: {py_type(as_meta(tr))}" + for a, tr in zip(op["params"], op["paramTypes"])) + ret = py_type(as_meta(op["returns"])) if op["returns"] else "object" + body.append(f" def {op_member(oname, 'python')}(self{args}) -> {ret}: ...") + lines.extend(body if body else [" ..."]) + lines.append("") + lines.append("REGISTRY: dict[str, type[Element]]") + lines.append("") + (HERE / "python" / "sysml" / "classes.pyi").write_text( + "\n".join(lines), encoding="utf-8", newline="\n") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_classes_cpp.py b/tools/gen_classes_cpp.py new file mode 100644 index 0000000..f22a2e5 --- /dev/null +++ b/tools/gen_classes_cpp.py @@ -0,0 +1,276 @@ +"""C++ backend of the SDK generator. + +Hierarchy strategy: every metaclass is a struct that *virtually* +inherits its bases with the runtime Element as the single virtual root; +structs carry methods only, never data, so any element object is +{core, handle} regardless of static type and as() re-views the same +state after a table check (no C++ RTTI). + +Operations are answered by the model's backend (Element::call_): the +SysML Toolkit answers the ones it can and refuses the others; a payload +refuses them all. + +Member naming (tools/naming.py): every property is read through a getter, +`get` + the specification name (`getQualifiedName()`); operations keep their +specification names. Every struct declares its whole catalogue, operations +included, so name lookup never reaches two virtual bases. + +Collision rule (C++): runtime members are multi-word snake_case; spec +names are lowerCamelCase without underscores, and so are the getters. +C++ keywords among operation names would get a trailing underscore; the +guard hard-codes the allowed rename set (empty since properties became +getters: `operator` is a property, read as `getOperator()`) so any new +collision fails generation. Single-word runtime members that carry no +underscore (`as`) are reserved outright. + +Emits cpp/include/sysml/classes.g.hpp: 174 structs, the spec +hierarchy table, and the out-of-line Element::is_kind definition. +""" + +import sys + +from naming import MM, ROOT, as_meta, flat_ops, getter, op_member + +OUT = ROOT / "cpp" / "include" / "sysml" + +CPP_KEYWORDS = set( + "alignas alignof and and_eq asm auto bitand bitor bool break case catch " + "char char8_t char16_t char32_t class compl concept const consteval " + "constexpr constinit const_cast continue co_await co_return co_yield " + "decltype default delete do double dynamic_cast else enum explicit export " + "extern false float for friend goto if inline int long mutable namespace " + "new noexcept not not_eq nullptr operator or or_eq private protected " + "public register reinterpret_cast requires return short signed sizeof " + "static static_assert static_cast struct switch template this thread_local " + "throw true try typedef typeid typename union unsigned using virtual void " + "volatile wchar_t while xor xor_eq".split() +) +ALLOWED_RENAMES: set[str] = set() # operation names emitted with a trailing underscore +RESERVED_SINGLE = {"as"} # runtime members without an underscore + + +def esc(name: str) -> str: + return f"{name}_" if name in CPP_KEYWORDS else name + + +def cpp_sig(cls, prop, meta): + """Table row -> (return type, converter call) for typed getters + (0.5.0). Enum values are lowercase spec strings, typed string.""" + k, t = meta["kind"], meta["type"] + if meta["shape"] == "A": + if k == "element": + return f"std::vector<{t}>", f"read_list_<{t}>" + if t != "String": + sys.exit(f"{cls}.{prop}: unexpected primitive array of {t} — " + f"add a converter before generating") + return "std::vector", "read_string_list_" + if k == "element": + return f"std::optional<{t}>", f"read_ref_<{t}>" + if t == "Boolean": + return "std::optional", "read_bool_" + if t == "Integer": + return "std::optional", "read_int_" + if t == "Real": + return "std::optional", "read_real_" + return "std::optional", "read_string_" + + +def ancestors(name, acc): + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + +def pruned_bases(name): + bases = MM[name]["bases"] + keep = [] + for b in bases: + others = set() + for o in bases: + if o != b: + ancestors(o, others) + if b not in others: + keep.append(b) + return keep + + +def topo_order(): + seen, order = set(), [] + + def visit(n): + if n in seen: + return + seen.add(n) + for b in MM[n]["bases"]: + visit(b) + order.append(n) + + for n in sorted(MM): + visit(n) + return order + + +def check_collisions(): + bad = [] + for cls, info in MM.items(): + for nm in list(info["props"]) + [o["name"] for o in info["ops"] if o["name"]]: + if "_" in nm: + bad.append(f"spec name {cls}.{nm} contains an underscore") + ops = {op_member(op["name"], "cpp") for _, op in flat_ops(cls)} + getters = {getter(p) for p in info["props"]} + for nm in ops: + if nm in CPP_KEYWORDS and nm not in ALLOWED_RENAMES: + bad.append( + f"operation {cls}.{nm} is a C++ keyword outside the allowed " + f"rename set — decide its rename consciously" + ) + for nm in ops | getters: + if nm in RESERVED_SINGLE: + bad.append(f"member {cls}.{nm} collides with runtime member") + for nm in ops & getters: + bad.append(f"operation {cls}.{nm} collides with a property getter") + if bad: + sys.exit("collision rule violated:\n " + "\n ".join(bad)) + + +def members(name): + """A metaclass's getters and operations: (declarations for its struct body, inline + definitions to follow once every struct is complete). Typed getters reference later-defined + structs, so a struct only declares them (std::optional/vector member instantiation needs the + complete type).""" + decls, defs = [], [] + for p, meta in sorted(MM[name]["props"].items()): + rtype, conv = cpp_sig(name, p, meta) + decls.append(f" {rtype} {getter(p)}() const;") + defs.append(f'inline {rtype} {name}::{getter(p)}() const {{ return {conv}("{p}"); }}') + for decl, op in flat_ops(name): + oname = op["name"] + member = esc(op_member(oname, "cpp")) + params = ", ".join( + f"const {cpp_sig(name, oname, as_meta(tr))[0]}& {esc(a)}" + for a, tr in zip(op["params"], op["paramTypes"]) + ) + call = (f'call_("{oname}", {{{", ".join(f"detail::arg({esc(a)})" for a in op["params"])}}})' + if op["params"] else f'call_("{oname}", {{}})') + if op["returns"]: + rtype, conv = cpp_sig(name, oname, as_meta(op["returns"])) + body = f"return {conv.replace('read_', 'as_', 1)}({call});" + else: + rtype, body = "Value", f"return {call};" + decls.append(f" {rtype} {member}({params}) const;") + defs.append(f"inline {rtype} {name}::{member}({params}) const {{ {body} }}") + return decls, defs + + +def write_fragment(name, comment, body): + header = ["// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cpp.py."] + header += [f"// {line}" for line in comment] + (OUT / name).write_text("\n".join(header + body) + "\n", encoding="utf-8", newline="\n") + + +def main(): + check_collisions() + OUT.mkdir(parents=True, exist_ok=True) + order = [n for n in topo_order() if n != "Element"] + write_fragment("forward.g.hpp", [ + "Included by sdk.hpp inside namespace sysml, ahead of Element: the metaclass structs,", + "declared, as Element's own members and the structs' getters name one another.", + ], [f"struct {name};" for name in sorted(order)]) + # The spec root merges into the runtime Element: its members are declared inside that class + # by a fragment, and defined below with everything else. + element_decls, defs = members("Element") + write_fragment("element_members.g.hpp", [ + "Included by sdk.hpp inside class Element: the members of the metaclass Element, which", + "every element has. Defined in classes.g.hpp.", + ], [line.strip() for line in element_decls]) + n_props, n_ops = len(MM["Element"]["props"]), len(flat_ops("Element")) + + lines = [ + "// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cpp.py.", + "// Virtual-inheritance metaclass hierarchy over the SDK runtime", + "// (sdk.hpp): every struct is a view of the same element.", + "#pragma once", + "", + '#include "sdk.hpp"', + "", + "namespace sysml {", + "", + ] + for name in order: + info = MM[name] + bases = pruned_bases(name) or ["Element"] + base_list = ", ".join(f"public virtual {b}" for b in bases) + kind = "abstract" if info["abstract"] else "concrete" + layer = {"kerml": "KerML", "sysml": "SysML"}[info["language"]] + lines.append(f"/// {kind} — {layer} 20250201.") + lines.append(f"struct {name} : {base_list} {{") + lines.append( + f' static constexpr std::string_view kind_name = "{name}";' + ) + # copy-only, like Element: a defaulted move-assign would move the + # shared virtual base once per inheritance path (gcc + # -Wvirtual-move-assign); copies are idempotent + lines.append(f" {name}() = default;") + lines.append(f" {name}(const {name}&) = default;") + lines.append(f" {name}& operator=(const {name}&) = default;") + decls, struct_defs = members(name) + lines += decls + defs += struct_defs + n_props += len(info["props"]) + n_ops += len(flat_ops(name)) + lines.append("};") + lines.append("") + lines.append("// --- typed getter definitions (all structs complete) ---") + lines.extend(defs) + lines.append("") + + lines.append("namespace detail {") + lines.append("") + lines.append("/// Metaclass name -> all spec ancestors (Element included).") + lines.append("inline const std::unordered_map>& spec_hierarchy() {") + lines.append(" static const std::unordered_map> h = {") + for name in sorted(MM): + if name == "Element": + continue + anc = ", ".join(f'"{a}"' for a in sorted(ancestors(name, set()))) + lines.append(f' {{"{name}", {{{anc}}}}},') + lines.append(" };") + lines.append(" return h;") + lines.append("}") + lines.append("") + lines.append("} // namespace detail") + lines.append("") + lines.append("inline bool Element::is_kind(std::string_view kind) const {") + lines.append(' if (kind == "Element")') + lines.append(" return true;") + lines.append(" const std::string mc = metaclass_name();") + lines.append(" if (mc == kind)") + lines.append(" return true;") + lines.append(" const auto& h = detail::spec_hierarchy();") + lines.append(" auto it = h.find(std::string_view(mc));") + lines.append(" if (it == h.end())") + lines.append(" return false;") + lines.append(" for (std::string_view a : it->second)") + lines.append(" if (a == kind)") + lines.append(" return true;") + lines.append(" return false;") + lines.append("}") + lines.append("") + lines.append("} // namespace sysml") + lines.append("") + + OUT.mkdir(parents=True, exist_ok=True) + (OUT / "classes.g.hpp").write_text("\n".join(lines), encoding="utf-8", + newline="\n") + print( + f"cpp backend: {len(MM) - 1} structs, {n_props} property members, " + f"{n_ops} operation members" + ) + + +if __name__ == "__main__": + main() diff --git a/tools/gen_classes_cs.py b/tools/gen_classes_cs.py new file mode 100644 index 0000000..4c3661d --- /dev/null +++ b/tools/gen_classes_cs.py @@ -0,0 +1,217 @@ +"""C# backend of the SDK generator. + +Hierarchy strategy: the metaclass hierarchy becomes +interfaces with *default interface members* (C# 8) — every property and +operation carries its body on the interface, so the runtime classes are +empty shells that only supply the IElement core. One generated sealed +class per concrete metaclass makes `el is Classifier` real C# type +narrowing (unlike TS, no separate guard function is needed). + +Collision rule (C#): runtime members are PascalCase (ElementId, +MetaclassName, GetRaw, Model); spec names are strict lowerCamelCase, so +the first letter keeps the namespaces disjoint. Spec names that are C# +keywords are @-escaped (the reflected name is unaffected). Enforced by +check_collisions() below. + +Member naming (tools/naming.py): properties use property syntax under the +specification name; operations are methods under theirs, except an +operation that shares its name with a property (`instantiatedType`), which +becomes `instantiatedTypeOp()`. Every interface declares its whole +catalogue, operations included. + +Emits into csharp//Classes.g.cs: 175 interfaces, 167 sealed +element classes, ClassMap (TypeMap + Factories). The namespace comes from +tools/naming.py. +""" + +import sys + +from naming import CS_NAMESPACE, CS_PROJECT, MM, as_meta, flat_ops, op_member + +OUT = CS_PROJECT + +CS_KEYWORDS = set( + "abstract as base bool break byte case catch char checked class const continue " + "decimal default delegate do double else enum event explicit extern false finally " + "fixed float for foreach goto if implicit in int interface internal is lock long " + "namespace new null object operator out override params private protected public " + "readonly ref return sbyte sealed short sizeof stackalloc static string struct " + "switch this throw true try typeof uint ulong unchecked unsafe ushort using " + "virtual void volatile while".split() +) + +# hand-written names in Runtime.cs the generated type names must not shadow +RUNTIME_TYPES = { + "El", "IElement", "IBackend", "PayloadBackend", "Model", "ClassMap", + "UnresolvedRef", "SdkException", "NotComputedException", + "NotImplementedInToolkitException", "GoneException", "ReadOnlyException", +} + + +def esc(name: str) -> str: + return f"@{name}" if name in CS_KEYWORDS else name + + +def cs_sig(meta): + """Table row -> (return type, typed converter of Model) for typed getters + (0.5.0). Enum values are lowercase spec strings, typed string.""" + k, t = meta["kind"], meta["type"] + if k == "element": + base = "IElement" if t == "Element" else t + single = f"{base}?", f"AsRef<{base}>" + elif t == "Boolean": + base, single = "bool", ("bool?", "AsBool") + elif t == "Integer": + base, single = "long", ("long?", "AsInt") + elif t == "Real": + base, single = "double", ("double?", "AsReal") + else: + base, single = "string", ("string?", "AsString") + if meta["shape"] == "A": + return f"IReadOnlyList<{base}>", f"AsList<{base}>" + return single + + +def check_collisions(): + bad = [] + for cls, info in MM.items(): + if cls in RUNTIME_TYPES or f"{cls}El" in MM: + bad.append(f"class name {cls} shadows a runtime type or impl name") + for nm in list(info["props"]) + [o["name"] for o in info["ops"] if o["name"]]: + if not nm[0].islower(): + bad.append( + f"spec name {cls}.{nm} does not start lowercase — " + f"breaks the PascalCase runtime-member rule" + ) + for _, op in flat_ops(cls): + if op_member(op["name"], "cs") in info["props"]: + bad.append(f"operation {cls}.{op['name']} collides with a property") + if bad: + sys.exit("collision rule violated:\n " + "\n ".join(bad)) + + +def ancestors(name, acc): + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + +def member_lines(name, inherited): + """The default members of a metaclass: its properties, then its operations. A member + already declared by an ancestor interface is redeclared with `new`.""" + props, ops = [], [] + for p, meta in sorted(MM[name]["props"].items()): + hide = "new " if p in inherited else "" + rtype, call = cs_sig(meta) + props.append(f' {hide}{rtype} {esc(p)} => Model.{call}(this.Model.Read(this, "{p}"));') + for decl, op in flat_ops(name): + oname = op["name"] + member = op_member(oname, "cs") + hide = "new " if member in inherited else "" + params = ", ".join( + f"{cs_sig(as_meta(tr))[0]} {esc(a)}" + for a, tr in zip(op["params"], op["paramTypes"]) + ) + args = (f'new object?[] {{ {", ".join(esc(a) for a in op["params"])} }}' if op["params"] + else "System.Array.Empty()") + call = f'this.Model.Call(this, "{oname}", {args})' + if op["returns"]: + rtype, conv = cs_sig(as_meta(op["returns"])) + body = f"Model.{conv}({call})" + else: + rtype, body = "object?", call + ops.append(f" {hide}{rtype} {esc(member)}({params}) => {body};") + return props, ops + + +def declared_names(name): + return set(MM[name]["props"]) | {op_member(o["name"], "cs") for _, o in flat_ops(name)} + + +def main(): + check_collisions() + lines = [ + "// Generated — do not edit. Source: metamodel.json via tools/gen_classes_cs.py.", + "// Interfaces with default members; runtime core in Runtime.cs.", + "#nullable enable", + "", + f"namespace {CS_NAMESPACE};", + "", + ] + # The spec root merges into the runtime IElement: this is its generated half. + props, ops = member_lines("Element", set()) + lines.append("/// The members of the metaclass Element, which every element has.") + lines.append("public partial interface IElement") + lines.append("{") + lines += props + ops + lines.append("}") + lines.append("") + n_props, n_ops = len(props), len(ops) + for name in sorted(MM): + if name == "Element": + continue + info = MM[name] + bases = [b if b != "Element" else "IElement" for b in info["bases"]] or [ + "IElement" + ] + # names declared by ancestor interfaces, IElement included — these need `new` + inherited = set() + for a in ancestors(name, set()) | {"Element"}: + inherited |= declared_names(a) + kind = "abstract" if info["abstract"] else "concrete" + layer = {"kerml": "KerML", "sysml": "SysML"}[info["language"]] + lines.append(f"/// {kind} — {layer} 20250201.") + lines.append(f"public interface {name} : {', '.join(bases)}") + lines.append("{") + props, ops = member_lines(name, inherited) + lines += props + ops + n_props += len(props) + n_ops += len(ops) + lines.append("}") + lines.append("") + + concrete = sorted(n for n in MM if not MM[n]["abstract"]) + for name in concrete: + lines.append( + f"internal sealed class {name}El : El, {name}\n" + f"{{\n internal {name}El(Model model, string id) : " + f"base(model, id) {{ }}\n}}" + ) + lines.append("") + + lines.append("/// Generated maps: metaclass name to interface type") + lines.append("/// (all classes) and to element factory (concrete only).") + lines.append("public static class ClassMap") + lines.append("{") + # System.Type must be qualified: bare `Type` here is the spec interface + lines.append(" public static readonly IReadOnlyDictionary TypeMap =") + lines.append(" new Dictionary") + lines.append(" {") + lines.append(' ["Element"] = typeof(IElement),') + for name in sorted(n for n in MM if n != "Element"): + lines.append(f' ["{name}"] = typeof({name}),') + lines.append(" };") + lines.append("") + lines.append(" public static readonly") + lines.append(" IReadOnlyDictionary> Factories =") + lines.append(" new Dictionary>") + lines.append(" {") + for name in concrete: + lines.append(f' ["{name}"] = (m, id) => new {name}El(m, id),') + lines.append(" };") + lines.append("}") + lines.append("") + + OUT.mkdir(parents=True, exist_ok=True) + out = OUT / "Classes.g.cs" + out.write_text("\n".join(lines), encoding="utf-8", newline="\n") + print( + f"cs backend: {len(MM) - 1} interfaces, {n_props} property members, " + f"{n_ops} operation members, {len(concrete)} element classes" + ) + + +if __name__ == "__main__": + main() diff --git a/tools/gen_classes_java.py b/tools/gen_classes_java.py new file mode 100644 index 0000000..d924206 --- /dev/null +++ b/tools/gen_classes_java.py @@ -0,0 +1,255 @@ +"""Java backend of the SDK generator. + +Hierarchy strategy: interfaces with *default methods* — +every property and operation carries its body on the interface; one +package-private empty class per concrete metaclass (all in Impls.java — +one file may hold many non-public top-level classes) makes +`el instanceof Classifier` real Java narrowing. + +Collision rule (Java): runtime members are $-prefixed ($id, $handle, +$metaclass, $model, $raw) — legal in mechanically generated Java source, +and spec camelCase can never start with $. Enforced by check_collisions() +below, together with the flattened-catalog superset invariant that Java's +default-method diamond rule requires (a class inheriting the same default +from two unrelated interfaces is a compile error; a full own catalog on +every interface makes the own declaration most specific everywhere). + +Operations are answered by the model's backend (Model.call): the +SysML Toolkit answers the ones it can and refuses the others; a payload +refuses them all. + +Member naming (tools/naming.py): every property is read through a getter, +`get` + the specification name (`getQualifiedName()`); operations keep their +specification names, so the two never collide. Every interface declares its +whole catalogue, operations included, which also keeps the default-method +diamond rule satisfied for operations. + +Emits into java/src//classes/ (wiped first — everything in that +package is generated): one interface file per metaclass, Impls.java, +ClassMap.java. The package comes from tools/naming.py. +""" + +import sys + +from naming import JAVA_PACKAGE, JAVA_SRC, MM, as_meta, flat_ops, getter, op_member + +OUT = JAVA_SRC / "classes" + +JAVA_KEYWORDS = set( + "abstract assert boolean break byte case catch char class const continue " + "default do double else enum extends final finally float for goto if " + "implements import instanceof int interface long native new package private " + "protected public return short static strictfp super switch synchronized " + "this throw throws transient try void volatile while true false null " + "var yield record sealed permits".split() +) + +RUNTIME_TYPES = {"Element", "El", "Backend", "PayloadBackend", "Model", "Json", + "UnresolvedRef", "ClassMap", "Impls"} + +# Methods every Java object has; no generated member may take one of these names. +OBJECT_METHODS = {"getClass", "hashCode", "equals", "toString", "notify", "notifyAll", + "wait", "clone", "finalize"} + +HEADER = "// Generated — do not edit. Source: metamodel.json via tools/gen_classes_java.py." + + +def java_sig(meta, qualifier=""): + """Table row -> (return type, $-converter) for typed getters (0.5.0). + Enum values are lowercase spec strings, typed String. `qualifier` prefixes + metaclass types, for code outside the classes package.""" + k, t = meta["kind"], meta["type"] + if k == "element": + base, helper = (f"{JAVA_PACKAGE}.Element" if t == "Element" else qualifier + t), "$ref" + elif t == "Boolean": + base, helper = "Boolean", "$bool" + elif t == "Integer": + base, helper = "Long", "$int" + elif t == "Real": + base, helper = "Double", "$real" + else: + base, helper = "String", "$string" + if meta["shape"] == "A": + return f"java.util.List<{base}>", "$list" + return base, helper + + +def ancestors(name, acc): + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + +def check_collisions(): + bad = [] + for cls, info in MM.items(): + if cls != "Element" and (cls in RUNTIME_TYPES or f"{cls}El" in MM): + bad.append(f"class name {cls} shadows a runtime type or impl name") + for nm in list(info["props"]) + [o["name"] for o in info["ops"] if o["name"]]: + if nm.startswith("$"): + bad.append(f"spec name {cls}.{nm} starts with '$'") + ops = {op_member(op["name"], "java") for _, op in flat_ops(cls)} + getters = {getter(p) for p in info["props"]} + for nm in ops: + if nm in JAVA_KEYWORDS: + bad.append(f"operation {cls}.{nm} is a Java keyword (no escape exists)") + for nm in (ops | getters) & OBJECT_METHODS: + bad.append(f"member {cls}.{nm} would override a java.lang.Object method") + for nm in ops & getters: + bad.append(f"operation {cls}.{nm} collides with a property getter") + # Java diamond rule: the own catalog must cover every ancestor's + own = set(info["props"]) + for a in ancestors(cls, set()): + if a == "Element": + continue # spec root merges into the runtime Element interface + missing = set(MM[a]["props"]) - own + if missing: + bad.append( + f"{cls} lacks {sorted(missing)} declared by ancestor {a} — " + f"default-method diamonds become possible" + ) + if bad: + sys.exit("collision rule violated:\n " + "\n ".join(bad)) + + +def member_lines(name, qualifier=""): + """The default methods of a metaclass: a getter per property, then its operations.""" + props, ops = [], [] + for p, meta in sorted(MM[name]["props"].items()): + rtype, conv = java_sig(meta, qualifier) + props.append(f' default {rtype} {getter(p)}() {{ return {conv}($model().read(this, "{p}")); }}') + for decl, op in flat_ops(name): + oname = op["name"] + names = [a + "_" if a in JAVA_KEYWORDS else a for a in op["params"]] + params = ", ".join( + f"{java_sig(as_meta(tr), qualifier)[0]} {a}" for a, tr in zip(names, op["paramTypes"]) + ) + call = f'$model().call(this, "{oname}", new Object[] {{{", ".join(names)}}})' + if op["returns"]: + rtype, conv = java_sig(as_meta(op["returns"]), qualifier) + body = f"return {conv}({call});" + else: + rtype, body = "Object", f"return {call};" + ops.append(f" default {rtype} {op_member(oname, 'java')}({params}) {{ {body} }}") + return props, ops + + +def write_runtime_element(): + """The members of the metaclass Element, written into the runtime Element interface between + its marker lines: every element has them, whatever its class.""" + path = JAVA_SRC / "Element.java" + text = path.read_text(encoding="utf-8") + begin, end = " // BEGIN GENERATED\n", " // END GENERATED\n" + head, rest = text.split(begin) + _, tail = rest.split(end) + props, ops = member_lines("Element", f"{JAVA_PACKAGE}.classes.") + body = "".join(line + "\n" for line in props + ops) + path.write_text(head + begin + body + end + tail, encoding="utf-8", newline="\n") + return len(props), len(ops) + + +def main(): + check_collisions() + OUT.mkdir(parents=True, exist_ok=True) + for old in OUT.glob("*.java"): + old.unlink() + + n_props, n_ops = write_runtime_element() + for name in sorted(MM): + if name == "Element": + continue # the spec root merges into the runtime Element interface + info = MM[name] + bases = info["bases"] or ["Element"] + base_list = ", ".join(f"{JAVA_PACKAGE}.Element" if b == "Element" else b for b in bases) + kind = "abstract" if info["abstract"] else "concrete" + layer = {"kerml": "KerML", "sysml": "SysML"}[info["language"]] + lines = [ + HEADER, + f"package {JAVA_PACKAGE}.classes;", + "", + ] + lines.append(f"/** {kind} — {layer} 20250201. */") + lines.append(f"public interface {name} extends {base_list} {{") + props, ops = member_lines(name) + lines += props + ops + n_props += len(props) + n_ops += len(ops) + lines.append("}") + lines.append("") + (OUT / f"{name}.java").write_text("\n".join(lines), encoding="utf-8", + newline="\n") + + concrete = sorted(n for n in MM if not MM[n]["abstract"]) + impls = [ + HEADER, + "// One file may hold many non-public top-level classes; every impl", + "// is an empty shell — behavior lives on the interfaces.", + f"package {JAVA_PACKAGE}.classes;", + "", + f"import {JAVA_PACKAGE}.El;", + f"import {JAVA_PACKAGE}.Model;", + "", + ] + for name in concrete: + impls.append(f"final class {name}El extends El implements {name} {{") + impls.append(f" {name}El(Model model, String handle) {{ super(model, handle); }}") + impls.append("}") + impls.append("") + (OUT / "Impls.java").write_text("\n".join(impls), encoding="utf-8", newline="\n") + + cm = [ + HEADER, + f"package {JAVA_PACKAGE}.classes;", + "", + "import java.util.Collections;", + "import java.util.LinkedHashMap;", + "import java.util.Map;", + "import java.util.function.BiFunction;", + "", + f"import {JAVA_PACKAGE}.Element;", + f"import {JAVA_PACKAGE}.Model;", + "", + "/** Generated maps: metaclass name to interface (all classes) and to", + " * element factory (concrete only). java.lang.Class is qualified", + " * throughout — bare Class here is the KerML metaclass interface. */", + "public final class ClassMap {", + " private ClassMap() { }", + "", + " public static final Map> TYPE_MAP = typeMap();", + "", + " public static final Map>", + " FACTORIES = factories();", + "", + " private static Map> typeMap() {", + " Map> m = new LinkedHashMap<>();", + ' m.put("Element", Element.class);', + ] + for name in sorted(n for n in MM if n != "Element"): + cm.append(f' m.put("{name}", {name}.class);') + cm += [ + " return Collections.unmodifiableMap(m);", + " }", + "", + " private static Map> factories() {", + " Map> m = new LinkedHashMap<>();", + ] + for name in concrete: + cm.append(f' m.put("{name}", {name}El::new);') + cm += [ + " return Collections.unmodifiableMap(m);", + " }", + "}", + "", + ] + (OUT / "ClassMap.java").write_text("\n".join(cm), encoding="utf-8", newline="\n") + + print( + f"java backend: {len(MM) - 1} interfaces, {n_props} property members, " + f"{n_ops} operation members, {len(concrete)} element classes" + ) + + +if __name__ == "__main__": + main() diff --git a/tools/gen_classes_ts.py b/tools/gen_classes_ts.py new file mode 100644 index 0000000..278953b --- /dev/null +++ b/tools/gen_classes_ts.py @@ -0,0 +1,161 @@ +"""TypeScript backend of the SDK generator. + +Hierarchy strategy for single-inheritance languages: the metaclass +hierarchy becomes *interfaces* (TS interfaces support multiple +`extends`), all elements share one runtime representation (a Proxy), +and narrowing is done with one typed guard `is(el, "PartUsage")` whose +K→type mapping is the generated ClassMap. + +Member naming (tools/naming.py): properties are read-only properties under +the specification name; operations are methods under theirs, except an +operation that shares its name with a property (`instantiatedType`) or with +a key the Proxy answers itself (`valueOf`), which becomes +`instantiatedTypeOp()` / `valueOfOp()`. Every interface declares its whole +catalogue, operations included. + +Emits into ts/: + meta.mjs runtime metadata: PROPS, OPS, HIERARCHY (ancestor sets), ABSTRACT + classes.d.ts the interface hierarchy + ClassMap (compile-time surface) +""" + +import json +import sys + +from naming import MM, ROOT, TS_RUNTIME_NAMES, as_meta, flat_ops, op_member + +OUT = ROOT / "ts" +OUT.mkdir(exist_ok=True) + +def ts_type(meta): + """Table row -> TS type (typed getters, table 0.5.0). Enum values are + lowercase spec strings, typed as string for now.""" + if meta["kind"] == "element": + base = meta["type"] if meta["type"] != "Element" else "AnyElement" + elif meta["type"] == "Boolean": + base = "boolean" + elif meta["type"] in ("Integer", "Real"): + base = "number" + else: + base = "string" + return f"{base}[]" if meta["shape"] == "A" else f"{base} | null" + +# Collision rule (TS backend): runtime members are $-prefixed +# ($id, $metaclass, $raw) and spec camelCase can never start with $. The +# Proxy additionally intercepts these keys before the member lookup — +# keep in sync with SPECIAL in ts/runtime.mjs. +PROXY_INTERCEPTED = set(TS_RUNTIME_NAMES) + + +def check_collisions(): + bad = [] + for cls, info in MM.items(): + for nm in list(info["props"]) + [o["name"] for o in info["ops"] if o["name"]]: + if nm.startswith("$"): + bad.append(f"spec name {cls}.{nm} starts with '$'") + ops = {op_member(op["name"], "ts") for _, op in flat_ops(cls)} + for nm in set(info["props"]) | ops: + if nm in PROXY_INTERCEPTED: + bad.append(f"spec member {cls}.{nm} is masked by the Proxy runtime") + for nm in ops & set(info["props"]): + bad.append(f"operation {cls}.{nm} collides with a property") + if bad: + sys.exit("collision rule violated:\n " + "\n ".join(bad)) + + +def ancestors(name, acc): + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + +def main(): + check_collisions() + # ---- meta.mjs ---------------------------------------------------------- + props = {} + ops = {} + hier = {} + for name, info in MM.items(): + if info["props"]: + props[name] = { + p: [m["shape"], int(m["derived"])] + for p, m in sorted(info["props"].items()) + } + # member name -> [declaring class, specification name] + flat = flat_ops(name) + if flat: + ops[name] = {op_member(op["name"], "ts"): [decl, op["name"]] for decl, op in flat} + hier[name] = sorted(ancestors(name, set())) + meta = [ + "// Generated — do not edit. Source: metamodel.json", + f"export const PROPS = {json.dumps(props)};", + f"export const OPS = {json.dumps(ops)};", + f"export const HIERARCHY = {json.dumps(hier)};", + f"export const ABSTRACT = {json.dumps(sorted(n for n, i in MM.items() if i['abstract']))};", + ] + (OUT / "meta.mjs").write_text("\n".join(meta), encoding="utf-8", newline="\n") + + # ---- classes.d.ts ------------------------------------------------------ + lines = [ + "// Generated — do not edit. Source: metamodel.json", + "// The metaclass hierarchy as interfaces (multiple extends is legal", + "// in TS); runtime representation is a Proxy — narrow with is().", + "// Unresolved references THROW UnresolvedReference at access time", + "// (the SDK requires resolved models), so reference types are clean.", + "", + "// Any element: the runtime members, and the members of the metaclass Element, which", + "// every element has.", + "export interface AnyElement {", + " readonly $id: string; // runtime members are $-prefixed:", + " readonly $handle: string; // spec camelCase can never collide", + " readonly $metaclass: string;", + " $raw(prop: string): unknown;", + ] + for p, m in sorted(MM["Element"]["props"].items()): + lines.append(f" readonly {p}: {ts_type(m)};") + for _, op in flat_ops("Element"): + args = ", ".join(f"{a}: {ts_type(as_meta(tr))}" for a, tr in zip(op["params"], op["paramTypes"])) + ret = ts_type(as_meta(op["returns"])) if op["returns"] else "unknown" + lines.append(f" {op_member(op['name'], 'ts')}({args}): {ret};") + lines += ["}", ""] + n_props = 0 + for name, info in sorted(MM.items()): + if name == "Element": + continue + bases = [b if b != "Element" else "AnyElement" for b in info["bases"]] or [ + "AnyElement" + ] + lines.append(f"export interface {name} extends {', '.join(bases)} {{") + for p, m in sorted(info["props"].items()): + # re-declaring inherited props identically is legal; keep flat + lines.append(f" readonly {p}: {ts_type(m)};") + n_props += 1 + for _, op in flat_ops(name): + args = ", ".join(f"{a}: {ts_type(as_meta(tr))}" + for a, tr in zip(op["params"], op["paramTypes"])) + ret = ts_type(as_meta(op["returns"])) if op["returns"] else "unknown" + lines.append(f" {op_member(op['name'], 'ts')}({args}): {ret};") + lines.append("}") + lines.append("") + conc = sorted(n for n, i in MM.items() if not i["abstract"]) + lines.append("// Concrete metaclasses only — the mintable @type values.") + lines.append("export interface ClassMap {") + for n in conc: + lines.append(f" {n}: {n};") + lines.append("}") + lines.append("") + lines.append("// Every metaclass, abstract included — the narrowable kinds") + lines.append("// (is(el, \"Classifier\") narrows to an abstract interface).") + lines.append("export interface TypeMap {") + for n in sorted(MM): + lines.append(f" {n}: {'AnyElement' if n == 'Element' else n};") + lines.append("}") + lines.append("") + (OUT / "classes.d.ts").write_text("\n".join(lines), encoding="utf-8", newline="\n") + print(f"ts backend: {len(MM) - 1} interfaces, {n_props} property rows, " + f"{len(conc)} in ClassMap") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_conformance.py b/tools/gen_conformance.py new file mode 100644 index 0000000..d9175bd --- /dev/null +++ b/tools/gen_conformance.py @@ -0,0 +1,689 @@ +"""Generate per-language conformance tests from metamodel.json. + +The anti-drift mechanism shared by all language backends: +each generated harness pins the SHA-256 of the metamodel.json it was +generated from and then verifies the language's generated surface and +runtime against the live table, so + + - table changed, harness not regenerated -> digest test fails; + - surface regenerated or hand-edited out of sync with the table + (guardrail: no hand edits to generated files) -> reflection fails. + +Python, TS, C#, and Java harnesses read the table at runtime and loop +(all four reflect cheaply); C++ has no reflection, so its harness is +*unrolled* — explicit per-class assertions generated from the table +(the digest pin plays the same role in all five). + +Every harness checks the member-naming rule of tools/naming.py from the +table itself, independently of the generator: each class has every property +under its reader (the specification name, or `get` + it in Java and C++) and +every operation it declares or inherits under its member name (the +specification name, with `_op` / `Op` where a property of the same name +exists, in Python, C# and TypeScript). + +Emits: python/tests/test_conformance_generated.py, ts/conformance.generated.mjs, +Conformance.g.cs in the C# checks project, checks/Conformance.java in the Java +package, cpp/checks/conformance.g.cpp +""" + +import hashlib +import json + +from naming import (CS_CHECKS_PROJECT, CS_NAMESPACE, JAVA_PACKAGE, JAVA_SRC, MM, ROOT, + TS_RUNTIME_NAMES, flat_ops, getter, op_member) + +HERE = ROOT +RAW = (HERE / "metamodel.json").read_bytes() +DIGEST = hashlib.sha256(RAW).hexdigest() + +# mirror of tools/gen_classes_cpp.py naming (operation keyword rename set) +_CPP_RENAMES: set[str] = set() + + +def _cpp_esc(name: str) -> str: + return f"{name}_" if name in _CPP_RENAMES else name + + +def _ancestors(name, acc): + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + _ancestors(b, acc) + return acc + + +def gen_cpp() -> str: + out = [ + "// " + HEADER, + "//", + "// Anti-drift: TABLE_SHA256 pins the table this file was generated", + "// from; the checks are UNROLLED per-class assertions (C++ has no", + "// reflection). Invoked by checks.cpp.", + "#include ", + "#include ", + "#include ", + "#include ", + "#include ", + "", + "#include ", + "", + '#include "sha256.hpp"', + "", + "namespace checks {", + "", + "using namespace sysml;", + "", + f'static const char* const TABLE_SHA256 = "{DIGEST}";', + "", + "static void require(bool cond, const std::string& what) {", + " if (!cond)", + ' throw std::runtime_error("conformance FAILED: " + what);', + "}", + "", + "#define EXPECT_NIK(expr, what) \\", + " do { \\", + " bool threw_ = false; \\", + " try { \\", + " (void)(expr); \\", + " } catch (const ::sysml::not_implemented_in_toolkit&) { \\", + " threw_ = true; \\", + ' } \\', + ' require(threw_, std::string(what) + ": op must throw"); \\', + " } while (0)", + "", + ] + concrete = sorted(n for n, i in MM.items() if not i["abstract"]) + for name in concrete: + info = MM[name] + out.append(f"static void check_{name}(const Model& m) {{") + out.append(f' Element e = m.element("e-{name}");') + out.append(f' require(e.metaclass_name() == "{name}", "{name}: metaclass");') + out.append(f' require(e.element_id() == "e-{name}", "{name}: element_id");') + for anc in sorted(_ancestors(name, set())): + out.append(f' require(e.is_kind("{anc}"), "{name} !< {anc}");') + out.append(f" auto t = e.as<{name}>();") + for p in sorted(info["props"]): + out.append(f" (void)t.{getter(p)}();") + for _, op in flat_ops(name): + oname = op["name"] + args = ", ".join("{}" for _ in op["params"]) + out.append( + f' EXPECT_NIK(t.{_cpp_esc(op_member(oname, "cpp"))}({args}), "{name}.{oname}()");' + ) + out.append("}") + out.append("") + + payload = ",".join( + f'{{\\"@id\\":\\"e-{n}\\",\\"@type\\":\\"{n}\\"}}' for n in concrete + ) + out.append("void run_conformance(const std::string& metamodel_path) {") + out.append(" std::ifstream in(metamodel_path, std::ios::binary);") + out.append(' require(in.good(), "cannot open " + metamodel_path);') + out.append(" std::ostringstream buf;") + out.append(" buf << in.rdbuf();") + out.append(" require(sha256_hex(buf.str()) == TABLE_SHA256,") + out.append(' "metamodel.json changed since this harness was generated; "') + out.append(' "rerun tools/gen_conformance.py");') + out.append(f' const std::string payload = "[{payload}]";') + out.append(" Model m = Model::from_full_json(payload);") + for name in concrete: + out.append(f" check_{name}(m);") + out.append( + f' std::cout << "conformance OK: {len(MM)} classes, ' + f'{len(concrete)} concrete, table " << std::string(TABLE_SHA256).substr(0, 12)' + ) + out.append(' << "\\n";') + out.append("}") + out.append("") + out.append("} // namespace checks") + out.append("") + return "\n".join(out) + +HEADER = ( + "Generated — do not edit. Source: metamodel.json via " + "tools/gen_conformance.py." +) + +PY = '''"""{header} + +Anti-drift: TABLE_SHA256 pins the table this file was generated from; +the reflection tests verify the generated Python surface against the +live table. See tools/gen_conformance.py for the mechanism. +""" + +import hashlib +import json +from pathlib import Path + +import pytest + +from sysml import REGISTRY, Model, NotImplementedInToolkit +from sysml import classes as C +from sysml.base import Element, Op, P + +TABLE_SHA256 = "{digest}" +_RAW = (Path(__file__).resolve().parents[2] / "metamodel.json").read_bytes() +MM = json.loads(_RAW)["classes"] + +# names the Python generator skips (mirror of tools/gen_classes.py) +_SKIP = {{"import", "class", "def", "return", "in", "for", "if", "else"}} + + +def _props(name): + for p, meta in MM[name]["props"].items(): + if p not in _SKIP and p.isidentifier(): + yield p, meta + + +def _ancestors(name, acc=None): + acc = set() if acc is None else acc + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + _ancestors(b, acc) + return acc + + +def _flat_ops(name): + """Every operation name `name` declares or inherits.""" + return {{op["name"] for c in {{name}} | _ancestors(name) for op in MM[c]["ops"]}} + + +# an operation that shares its name with a property of a class that has both +_COLLIDING = {{o for n in MM for o in _flat_ops(n) if o in MM[n]["props"]}} + + +def _member(o): + return o + "_op" if o in _COLLIDING else o + + +def _ops(name): + """(spec name, member name, parameter names) of the operations `name` itself declares.""" + for op in MM[name]["ops"]: + o = op["name"] + if o and o.isidentifier(): + yield o, _member(o), op["params"] + + +CLASSES = sorted(n for n in MM if n != "Element") +CONCRETE = [n for n in CLASSES if not MM[n]["abstract"]] +MODEL = Model.from_full_json([{{"@id": f"e-{{n}}", "@type": n}} for n in CONCRETE]) + + +def test_table_digest_matches_generated_harness(): + assert hashlib.sha256(_RAW).hexdigest() == TABLE_SHA256, ( + "metamodel.json changed since this harness was generated; " + "rerun tools/gen_conformance.py" + ) + + +def test_registry_is_exactly_the_concrete_classes(): + assert sorted(REGISTRY) == CONCRETE + + +@pytest.mark.parametrize("name", CLASSES) +def test_class_matches_table(name): + klass = getattr(C, name) + info = MM[name] + if not info["abstract"]: + assert REGISTRY[name] is klass + for b in info["bases"]: + base = Element if b == "Element" else getattr(C, b) + assert issubclass(klass, base), f"{{name}} !< {{b}}" + own = vars(klass) + for p, meta in _props(name): + d = own.get(p) + assert isinstance(d, P), f"{{name}}.{{p}}: descriptor missing" + assert (d.shape, d.derived) == (meta["shape"], meta["derived"]), ( + f"{{name}}.{{p}}: metadata drift" + ) + for o, m, params in _ops(name): + assert isinstance(own.get(m), Op), f"{{name}}.{{m}}: op stub missing" + assert own[m].name == o, f"{{name}}.{{m}}: names {{own[m].name}}" + assert own[m].params == params, f"{{name}}.{{m}}: parameters {{own[m].params}}" + + +def test_element_operations_on_the_runtime_base(): + for o, m, _params in _ops("Element"): + assert isinstance(vars(Element).get(m), Op), f"Element.{{m}}: op stub missing" + + +@pytest.mark.parametrize("name", CONCRETE) +def test_runtime_honors_table(name): + w = MODEL.element(f"e-{{name}}") + assert type(w) is REGISTRY[name] + assert w.metaclass_name == name + for anc in _ancestors(name): + base = Element if anc == "Element" else getattr(C, anc) + assert isinstance(w, base), f"{{name}} not instance of {{anc}}" + for p, _meta in _props(name): + getattr(w, p) # a property read never second-guesses the backend + for o in sorted(_flat_ops(name)): + with pytest.raises(NotImplementedInToolkit): + getattr(w, _member(o))() +''' + +TS = '''// {header} +// +// Anti-drift: TABLE_SHA256 pins the table this file was generated from; +// the checks verify meta.mjs + the Proxy runtime against the live table. +// Run: node conformance.generated.mjs + +import {{ createHash }} from "node:crypto"; +import {{ readFileSync }} from "node:fs"; +import {{ Model, NotImplementedInToolkit, is }} from "./runtime.mjs"; +import {{ ABSTRACT, HIERARCHY, OPS, PROPS }} from "./meta.mjs"; + +const TABLE_SHA256 = "{digest}"; +const raw = readFileSync(new URL("../metamodel.json", import.meta.url)); +if (createHash("sha256").update(raw).digest("hex") !== TABLE_SHA256) + throw new Error("metamodel.json changed since this harness was generated; " + + "rerun tools/gen_conformance.py"); +const MM = JSON.parse(raw.toString("utf-8")).classes; + +const eq = (a, b, what) => {{ + if (JSON.stringify(a) !== JSON.stringify(b)) + throw new Error(`${{what}}: ${{JSON.stringify(a)}} != ${{JSON.stringify(b)}}`); +}}; +const ancestors = (name, acc = new Set()) => {{ + for (const b of MM[name].bases) + if (!acc.has(b)) {{ acc.add(b); ancestors(b, acc); }} + return acc; +}}; + +const names = Object.keys(MM).sort(); +const concrete = names.filter((n) => !MM[n].abstract); +// every operation name a class declares or inherits +const flatOps = (n) => new Set([n, ...ancestors(n)].flatMap((c) => MM[c].ops.map((o) => o.name))); +// an operation that shares its name with a property of a class that has both +const colliding = new Set(names.flatMap((n) => [...flatOps(n)].filter((o) => o in MM[n].props))); +// keys the element Proxy answers itself (SPECIAL in runtime.mjs) +const RUNTIME_NAMES = new Set({runtime_names}); +const member = (o) => (colliding.has(o) || RUNTIME_NAMES.has(o) ? o + "Op" : o); + +// --- meta.mjs matches the table ------------------------------------------- +eq(ABSTRACT, names.filter((n) => MM[n].abstract), "ABSTRACT"); +for (const n of names) {{ + eq(HIERARCHY[n], [...ancestors(n)].sort(), `HIERARCHY[${{n}}]`); + const expected = Object.fromEntries(Object.entries(MM[n].props) + .sort(([a], [b]) => (a < b ? -1 : 1)) + .map(([p, m]) => [p, [m.shape, m.derived ? 1 : 0]])); + eq(PROPS[n] ?? {{}}, expected, `PROPS[${{n}}]`); + const ops = Object.fromEntries(Object.entries(OPS[n] ?? {{}}).map(([m, [, o]]) => [m, o])); + eq(ops, Object.fromEntries([...flatOps(n)].sort().map((o) => [member(o), o]) + .sort(([a], [b]) => (a < b ? -1 : 1))), `OPS[${{n}}]`); +}} + +// --- Proxy runtime honors the table --------------------------------------- +const payload = concrete.map((n) => ({{ "@id": `e-${{n}}`, "@type": n }})); +const model = Model.fromFullJson(payload); +for (const n of concrete) {{ + const el = model.element(`e-${{n}}`); + if (el.$metaclass !== n) throw new Error(`$metaclass ${{n}}`); + if (el.$id !== `e-${{n}}`) throw new Error(`$id ${{n}}`); + if (!is(el, n)) throw new Error(`is(self) ${{n}}`); + for (const anc of ancestors(n)) + if (!is(el, anc)) throw new Error(`is(${{n}}, ${{anc}})`); + for (const p of Object.keys(MM[n].props)) + el[p]; // a property read never second-guesses the backend + for (const o of flatOps(n)) {{ + const f = el[member(o)]; + if (typeof f !== "function") throw new Error(`${{n}}.${{member(o)}}: operation missing`); + let threw = false; + try {{ f(); }} catch (e) {{ threw = e instanceof NotImplementedInToolkit; }} + if (!threw) throw new Error(`${{n}}.${{member(o)}}(): must throw NotImplementedInToolkit`); + }} + let assigned = false; + try {{ el.declaredName = "x"; assigned = true; }} catch {{}} + if (assigned) throw new Error(`${{n}}: assignment must throw`); +}} + +console.log(`conformance OK: ${{names.length}} classes, ` + + `${{concrete.length}} concrete, table ${{TABLE_SHA256.slice(0, 12)}}`); +''' + + +CS = '''// {header} +// +// Anti-drift: TableSha256 pins the table this file was generated from; +// the checks verify the generated interfaces + runtime against the +// live table via reflection. Invoked by Program.cs. +#nullable enable + +using System.Reflection; +using System.Security.Cryptography; +using System.Text; +using System.Text.Json; +using __CSNS__; + +namespace __CSNS__.Checks; + +public static class Conformance +{{ + public const string TableSha256 = "{digest}"; + + private static void Check(bool cond, string what) + {{ + if (!cond) + throw new Exception("conformance FAILED: " + what); + }} + + private static void Ancestors(JsonElement mm, string name, HashSet acc) + {{ + foreach (var b in mm.GetProperty(name).GetProperty("bases").EnumerateArray()) + {{ + var bn = b.GetString()!; + if (acc.Add(bn)) + Ancestors(mm, bn, acc); + }} + }} + + // Every operation a class declares or inherits: name to parameter count. + private static SortedDictionary FlatOps(JsonElement mm, string name) + {{ + var classes = new HashSet {{ name }}; + Ancestors(mm, name, classes); + var ops = new SortedDictionary(StringComparer.Ordinal); + foreach (var c in classes) + foreach (var op in mm.GetProperty(c).GetProperty("ops").EnumerateArray()) + ops[op.GetProperty("name").GetString()!] = op.GetProperty("params").GetArrayLength(); + return ops; + }} + + // Invoke a generated default interface member; unwrap reflection's + // TargetInvocationException so SDK exceptions stay visible. + private static void Invoke(Func f) + {{ + try {{ f(); }} + catch (TargetInvocationException e) when (e.InnerException is not null) + {{ + throw e.InnerException; + }} + }} + + public static void Run(string metamodelPath) + {{ + var raw = File.ReadAllBytes(metamodelPath); + var digest = Convert.ToHexString(SHA256.HashData(raw)).ToLowerInvariant(); + Check(digest == TableSha256, + "metamodel.json changed since this harness was generated; " + + "rerun tools/gen_conformance.py"); + using var doc = JsonDocument.Parse(raw); + var mm = doc.RootElement.GetProperty("classes"); + + var names = new List(); + foreach (var c in mm.EnumerateObject()) + names.Add(c.Name); + names.Sort(StringComparer.Ordinal); + var concrete = names + .Where(n => !mm.GetProperty(n).GetProperty("abstract").GetBoolean()) + .ToList(); + // an operation that shares its name with a property of a class that has both + var colliding = new HashSet(); + foreach (var n in names) + foreach (var o in FlatOps(mm, n).Keys) + if (mm.GetProperty(n).GetProperty("props").TryGetProperty(o, out _)) + colliding.Add(o); + string Member(string o) => colliding.Contains(o) ? o + "Op" : o; + + // --- generated surface matches the table -------------------------- + foreach (var n in names) + {{ + var info = mm.GetProperty(n); + Check(ClassMap.TypeMap.ContainsKey(n), $"TypeMap[{{n}}] missing"); + var t = ClassMap.TypeMap[n]; + Check(ClassMap.Factories.ContainsKey(n) == + !info.GetProperty("abstract").GetBoolean(), + $"factory presence for {{n}}"); + foreach (var b in info.GetProperty("bases").EnumerateArray()) + Check(ClassMap.TypeMap[b.GetString()!].IsAssignableFrom(t), + $"{{n}} !< {{b.GetString()}}"); + if (n == "Element") + continue; // spec root merges into the runtime IElement + var props = info.GetProperty("props"); + foreach (var p in props.EnumerateObject()) + Check(t.GetProperty(p.Name) is not null, + $"{{n}}.{{p.Name}}: member missing"); + foreach (var (o, arity) in FlatOps(mm, n)) + {{ + var mi = t.GetMethod(Member(o)); + Check(mi is not null, $"{{n}}.{{Member(o)}}(): stub missing"); + Check(mi!.GetParameters().Length == arity, + $"{{n}}.{{Member(o)}}(): {{mi.GetParameters().Length}} parameters, table says {{arity}}"); + }} + }} + + // --- runtime honors the table ------------------------------------- + var sb = new StringBuilder("["); + for (var i = 0; i < concrete.Count; i++) + sb.Append(i == 0 ? "" : ",") + .Append($"{{{{\\"@id\\":\\"e-{{concrete[i]}}\\",\\"@type\\":\\"{{concrete[i]}}\\"}}}}"); + var payload = sb.Append(']').ToString(); + var model = Model.FromFullJson(payload); + foreach (var n in concrete) + {{ + var el = model.Element($"e-{{n}}"); + var t = ClassMap.TypeMap[n]; + Check(el.MetaclassName == n, $"MetaclassName {{n}}"); + Check(el.ElementId == $"e-{{n}}", $"ElementId {{n}}"); + Check(t.IsInstanceOfType(el), $"{{n}} instance of own interface"); + var anc = new HashSet(); + Ancestors(mm, n, anc); + foreach (var a in anc) + Check(ClassMap.TypeMap[a].IsInstanceOfType(el), + $"{{n}} not instance of {{a}}"); + var props = mm.GetProperty(n).GetProperty("props"); + foreach (var p in props.EnumerateObject()) + {{ + var pi = t.GetProperty(p.Name)!; + // a property read never second-guesses the backend + Invoke(() => pi.GetValue(el)); + }} + foreach (var o in FlatOps(mm, n).Keys) + {{ + var mi = t.GetMethod(Member(o))!; + var threw = false; + try + {{ + Invoke(() => mi.Invoke(el, + new object?[mi.GetParameters().Length])); + }} + catch (NotImplementedInToolkitException) {{ threw = true; }} + Check(threw, $"{{n}}.{{Member(o)}}(): must throw NotImplementedInToolkit"); + }} + }} + + Console.WriteLine($"conformance OK: {{names.Count}} classes, " + + $"{{concrete.Count}} concrete, table {{TableSha256[..12]}}"); + }} +}} +''' + + +JAVA = '''// __HEADER__ +// +// Anti-drift: TABLE_SHA256 pins the table this file was generated from; +// the checks verify the generated interfaces + runtime against the live +// table via reflection. Invoked by Checks.java. +package __JAVAPKG__.checks; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.HexFormat; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import java.util.TreeMap; + +import __JAVAPKG__.Element; +import __JAVAPKG__.Json; +import __JAVAPKG__.Model; +import __JAVAPKG__.NotImplementedInToolkitException; +import __JAVAPKG__.classes.ClassMap; + +public final class Conformance { + public static final String TABLE_SHA256 = "__DIGEST__"; + + private Conformance() { } + + private static void check(boolean cond, String what) { + if (!cond) + throw new AssertionError("conformance FAILED: " + what); + } + + private static void ancestors(Map mm, String name, Set acc) { + for (Object b : (List) ((Map) mm.get(name)).get("bases")) + if (acc.add((String) b)) + ancestors(mm, (String) b, acc); + } + + // Every operation a class declares or inherits: name to parameter count. + private static Map flatOps(Map mm, String name) { + Set classes = new HashSet<>(List.of(name)); + ancestors(mm, name, classes); + Map ops = new TreeMap<>(); + for (String c : classes) + for (Object opo : (List) ((Map) mm.get(c)).get("ops")) + ops.put((String) ((Map) opo).get("name"), + ((List) ((Map) opo).get("params")).size()); + return ops; + } + + // Properties are read through `get` + the specification name. + private static String getter(String prop) { + return "get" + Character.toUpperCase(prop.charAt(0)) + prop.substring(1); + } + + // Invoke a generated default method; unwrap reflection's + // InvocationTargetException so SDK exceptions stay visible. + private static void invoke(Method m, Object target, Object[] args) + throws Exception { + try { + m.invoke(target, args); + } catch (InvocationTargetException e) { + if (e.getCause() instanceof Exception cause) + throw cause; + throw e; + } + } + + public static void run(Path metamodelPath) throws Exception { + byte[] raw = Files.readAllBytes(metamodelPath); + String digest = HexFormat.of() + .formatHex(MessageDigest.getInstance("SHA-256").digest(raw)); + check(digest.equals(TABLE_SHA256), + "metamodel.json changed since this harness was generated; " + + "rerun tools/gen_conformance.py"); + Map mm = (Map) ((Map) Json + .parse(new String(raw, StandardCharsets.UTF_8))).get("classes"); + + List names = new ArrayList<>(); + for (Object k : mm.keySet()) + names.add((String) k); + names.sort(null); + List concrete = new ArrayList<>(); + for (String n : names) + if (!(Boolean) ((Map) mm.get(n)).get("abstract")) + concrete.add(n); + + // --- generated surface matches the table -------------------------- + for (String n : names) { + Map info = (Map) mm.get(n); + var t = ClassMap.TYPE_MAP.get(n); + check(t != null, "TYPE_MAP[" + n + "] missing"); + check(ClassMap.FACTORIES.containsKey(n) + == !(Boolean) info.get("abstract"), "factory presence for " + n); + for (Object b : (List) info.get("bases")) + check(ClassMap.TYPE_MAP.get((String) b).isAssignableFrom(t), + n + " !< " + b); + if (n.equals("Element")) + continue; // spec root merges into the runtime Element + Set declared = new HashSet<>(); + for (Method m : t.getDeclaredMethods()) + declared.add(m.getName()); + Map props = (Map) info.get("props"); + for (Object p : props.keySet()) + check(declared.contains(getter((String) p)), + n + "." + getter((String) p) + "(): property getter missing"); + for (String o : flatOps(mm, n).keySet()) + check(declared.contains(o), n + "." + o + "(): operation missing"); + } + + // --- runtime honors the table ------------------------------------- + StringBuilder sb = new StringBuilder("["); + for (int i = 0; i < concrete.size(); i++) + sb.append(i == 0 ? "" : ",") + .append("{\\"@id\\":\\"e-").append(concrete.get(i)) + .append("\\",\\"@type\\":\\"").append(concrete.get(i)).append("\\"}"); + String payload = sb.append(']').toString(); + Model model = Model.fromFullJson(payload); + for (String n : concrete) { + Element el = model.element("e-" + n); + var t = ClassMap.TYPE_MAP.get(n); + check(el.$metaclass().equals(n), "$metaclass " + n); + check(el.$id().equals("e-" + n), "$id " + n); + check(t.isInstance(el), n + " instance of own interface"); + Set anc = new HashSet<>(); + ancestors(mm, n, anc); + for (String a : anc) + check(ClassMap.TYPE_MAP.get(a).isInstance(el), + n + " not instance of " + a); + Map props = (Map) ((Map) mm.get(n)).get("props"); + for (Object po : props.keySet()) { + Method read = t.getMethod(getter((String) po)); + // a property read never second-guesses the backend + invoke(read, el, new Object[0]); + } + for (Map.Entry entry : flatOps(mm, n).entrySet()) { + String o = entry.getKey(); + int arity = entry.getValue(); + Method op = null; + for (Method m : t.getMethods()) + if (m.getName().equals(o) && m.getParameterCount() == arity) { + op = m; + break; + } + check(op != null, n + "." + o + "(): not found"); + boolean threw = false; + try { + invoke(op, el, new Object[arity]); + } catch (NotImplementedInToolkitException e) { + threw = true; + } + check(threw, n + "." + o + "(): must throw NotImplementedInToolkit"); + } + } + + System.out.println("conformance OK: " + names.size() + " classes, " + + concrete.size() + " concrete, table " + TABLE_SHA256.substring(0, 12)); + } +} +''' + + +def main(): + py = PY.format(header=HEADER, digest=DIGEST) + ts = TS.format(header=HEADER, digest=DIGEST, runtime_names=json.dumps(TS_RUNTIME_NAMES)) + cs = CS.format(header=HEADER, digest=DIGEST).replace("__CSNS__", CS_NAMESPACE) + java = (JAVA.replace("__HEADER__", HEADER).replace("__DIGEST__", DIGEST) + .replace("__JAVAPKG__", JAVA_PACKAGE)) + (HERE / "python" / "tests" / "test_conformance_generated.py").write_text( + py, encoding="utf-8", newline="\n") + (HERE / "ts" / "conformance.generated.mjs").write_text( + ts, encoding="utf-8", newline="\n") + (CS_CHECKS_PROJECT / "Conformance.g.cs").write_text(cs, encoding="utf-8", newline="\n") + (JAVA_SRC / "checks" / "Conformance.java").write_text(java, encoding="utf-8", newline="\n") + (HERE / "cpp" / "checks" / "conformance.g.cpp").write_text( + gen_cpp(), encoding="utf-8", newline="\n") + print(f"wrote conformance harnesses (table sha256 {DIGEST[:12]}…)") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_toolkit_table.py b/tools/gen_toolkit_table.py new file mode 100644 index 0000000..246fca4 --- /dev/null +++ b/tools/gen_toolkit_table.py @@ -0,0 +1,63 @@ +"""Generate sysml/toolkit_table.py: the dispatch data the Python SysML Toolkit backend needs. + +Inputs: the naming table (vendor/naming-table/, or --tables) and metamodel.json. +Output: two dictionaries. + + FUNCS[(declaring_class, key)] = (c_symbol, result_code, params) + key: the member name for a property, the name + "()" for an operation + result_code: H = handle array, R = single handle, S = string, T = list of strings (JSON + text in a string), B = bool, I = int, F = real; see naming.result_code + params: tuple of (name, c_type) for operations, empty for properties; + c_type is Str, Handle, Handles or bool, matching tools/gen_abi.py + BASES[class] = [direct base classes] (to find the declaring class of an inherited member) + +The C symbol is "sysmlv2_" + rust_fn. Result codes mirror tools/gen_abi.py exactly; the two +generators must agree, and both read the same table, so they do. +""" +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from pathlib import Path + +from naming import abi_params, op_key, result_code + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent +DEFAULT_TABLES = ROOT / "vendor" / "naming-table" # vendored; see its PIN.json +OUT = ROOT / "python" / "sysml" / "toolkit_table.py" + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--tables", type=Path, default=DEFAULT_TABLES) + a = ap.parse_args() + raw = (a.tables / "toolkit-api-names.csv").read_bytes() + digest = hashlib.sha256(raw.replace(b"\r\n", b"\n")).hexdigest() + rows = list(csv.DictReader(raw.decode("utf-8").splitlines())) + # Properties are keyed by name, operations by name + "()": `instantiatedType` is both a + # property and an operation of the same class, and each keeps its row. + for r in rows: + r["key"] = op_key(r["member"]) if r["kind"] == "operation" else r["member"] + mm = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8")) + + lines = [ + "# Generated by tools/gen_toolkit_table.py. Do not edit.", + f'NAMES_DIGEST = "{digest}"', + "FUNCS = {", + ] + for r in rows: + params = tuple(zip([p for p in r["params"].split(";") if p], abi_params(r))) + lines.append(f' ({r["declaring_class"]!r}, {r["key"]!r}): ("sysmlv2_{r["rust_fn"]}", {result_code(r)!r}, {params!r}),') + lines.append("}") + lines.append("BASES = {") + for name, rec in sorted(mm["classes"].items()): + lines.append(f" {name!r}: {rec['bases']!r},") + lines.append("}") + OUT.write_text("\n".join(lines) + "\n", encoding="utf-8", newline="\n") + print(f"wrote {OUT}: {len(rows)} functions, {len(mm['classes'])} classes, digest {digest[:12]}") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_toolkit_table_cpp.py b/tools/gen_toolkit_table_cpp.py new file mode 100644 index 0000000..e67f9d6 --- /dev/null +++ b/tools/gen_toolkit_table_cpp.py @@ -0,0 +1,65 @@ +"""Generate cpp/include/sysml/toolkit_table.g.hpp: dispatch data for the C++ SysML Toolkit +backend. Same inputs and result codes as tools/gen_toolkit_table.py. +""" +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from pathlib import Path + +from naming import abi_params, op_key, result_code + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent +DEFAULT_TABLES = ROOT / "vendor" / "naming-table" # vendored; see its PIN.json +OUT = ROOT / "cpp" / "include" / "sysml" / "toolkit_table.g.hpp" + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--tables", type=Path, default=DEFAULT_TABLES) + a = ap.parse_args() + raw = (a.tables / "toolkit-api-names.csv").read_bytes() + digest = hashlib.sha256(raw.replace(b"\r\n", b"\n")).hexdigest() + rows = list(csv.DictReader(raw.decode("utf-8").splitlines())) + # Properties are keyed by name, operations by name + "()": `instantiatedType` is both a + # property and an operation of the same class, and each keeps its row. + for r in rows: + r["key"] = op_key(r["member"]) if r["kind"] == "operation" else r["member"] + mm = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8")) + + out = [ + "// Generated by tools/gen_toolkit_table_cpp.py. Do not edit.", + "#pragma once", + "#include ", + "#include ", + "#include ", + "", + "namespace sysml::toolkit_table {", + "", + f'inline constexpr std::string_view NAMES_DIGEST = "{digest}";', + "", + "/// C symbol, result code and, for an operation, its parameters' C types joined by ';'.", + "struct Entry { const char* symbol; char code; const char* params; };", + "", + "/// spec member (\"Class::property\" or \"Class::operation()\") -> C symbol and result code.", + "inline const std::unordered_map& funcs() {", + " static const std::unordered_map table = {", + ] + for r in rows: + out.append(f' {{"{r["declaring_class"]}::{r["key"]}", {{"sysmlv2_{r["rust_fn"]}", \'{result_code(r)}\', "{";".join(abi_params(r))}"}}}},') + out += [" };", " return table;", "}", "", + "/// class -> direct bases.", + "inline const std::unordered_map>& bases() {", + " static const std::unordered_map> table = {"] + for name, rec in sorted(mm["classes"].items()): + arr = ", ".join(f'"{b}"' for b in rec["bases"]) + out.append(f' {{"{name}", {{{arr}}}}},') + out += [" };", " return table;", "}", "", "} // namespace sysml::toolkit_table", ""] + OUT.write_text("\n".join(out), encoding="utf-8", newline="\n") + print(f"wrote {OUT}: {len(rows)} functions, {len(mm['classes'])} classes, digest {digest[:12]}") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_toolkit_table_cs.py b/tools/gen_toolkit_table_cs.py new file mode 100644 index 0000000..8edced3 --- /dev/null +++ b/tools/gen_toolkit_table_cs.py @@ -0,0 +1,58 @@ +"""Generate ToolkitTable.g.cs in the C# project (tools/naming.py): dispatch data for the C# +SysML Toolkit backend. Same inputs and result codes as tools/gen_toolkit_table.py. +""" +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from pathlib import Path + +from naming import CS_NAMESPACE, CS_PROJECT, abi_params, op_key, result_code + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent +DEFAULT_TABLES = ROOT / "vendor" / "naming-table" # vendored; see its PIN.json +OUT = CS_PROJECT / "ToolkitTable.g.cs" + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--tables", type=Path, default=DEFAULT_TABLES) + a = ap.parse_args() + raw = (a.tables / "toolkit-api-names.csv").read_bytes() + digest = hashlib.sha256(raw.replace(b"\r\n", b"\n")).hexdigest() + rows = list(csv.DictReader(raw.decode("utf-8").splitlines())) + # Properties are keyed by name, operations by name + "()": `instantiatedType` is both a + # property and an operation of the same class, and each keeps its row. + for r in rows: + r["key"] = op_key(r["member"]) if r["kind"] == "operation" else r["member"] + mm = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8")) + + out = [ + "// Generated by tools/gen_toolkit_table_cs.py. Do not edit.", + "using System.Collections.Generic;", + "", + f"namespace {CS_NAMESPACE};", + "", + "/// Dispatch data for : spec member to C symbol, result code and,", + "/// for an operation, its parameters' C types joined by ';'; plus bases.", + "internal static class ToolkitTable", + "{", + f' public const string NamesDigest = "{digest}";', + " public static readonly Dictionary Funcs = new()", + " {", + ] + for r in rows: + out.append(f' ["{r["declaring_class"]}::{r["key"]}"] = ("sysmlv2_{r["rust_fn"]}", \'{result_code(r)}\', "{";".join(abi_params(r))}"),') + out += [" };", " public static readonly Dictionary Bases = new()", " {"] + for name, rec in sorted(mm["classes"].items()): + arr = ", ".join(f'"{b}"' for b in rec["bases"]) + out.append(f' ["{name}"] = new[] {{ {arr} }},' if arr else f' ["{name}"] = System.Array.Empty(),') + out += [" };", "}", ""] + OUT.write_text("\n".join(out), encoding="utf-8", newline="\n") + print(f"wrote {OUT}: {len(rows)} functions, {len(mm['classes'])} classes, digest {digest[:12]}") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_toolkit_table_java.py b/tools/gen_toolkit_table_java.py new file mode 100644 index 0000000..5c93e2e --- /dev/null +++ b/tools/gen_toolkit_table_java.py @@ -0,0 +1,72 @@ +"""Generate ToolkitTable.java in the Java package (tools/naming.py): the dispatch data the +Java SysML Toolkit backend needs. Same inputs and same result codes as tools/gen_toolkit_table.py. + +Chunked static initialisers keep every method under the JVM's 64 KB bytecode limit. +""" +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from pathlib import Path + +from naming import JAVA_PACKAGE, JAVA_SRC, abi_params, op_key, result_code + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent +DEFAULT_TABLES = ROOT / "vendor" / "naming-table" # vendored; see its PIN.json +OUT = JAVA_SRC / "ToolkitTable.java" + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--tables", type=Path, default=DEFAULT_TABLES) + a = ap.parse_args() + raw = (a.tables / "toolkit-api-names.csv").read_bytes() + digest = hashlib.sha256(raw.replace(b"\r\n", b"\n")).hexdigest() + rows = list(csv.DictReader(raw.decode("utf-8").splitlines())) + # Properties are keyed by name, operations by name + "()": `instantiatedType` is both a + # property and an operation of the same class, and each keeps its row. + for r in rows: + r["key"] = op_key(r["member"]) if r["kind"] == "operation" else r["member"] + mm = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8")) + + j = [ + "// Generated by tools/gen_toolkit_table_java.py. Do not edit.", + f"package {JAVA_PACKAGE};", + "", + "import java.util.HashMap;", + "import java.util.Map;", + "", + "/** Dispatch data for {@link ToolkitBackend}: spec member to C symbol, result code and, for an", + " * operation, its parameters' C types joined by ';'; plus bases. */", + "final class ToolkitTable {", + f' static final String NAMES_DIGEST = "{digest}";', + " static final Map FUNCS = new HashMap<>();", + " static final Map BASES = new HashMap<>();", + " private ToolkitTable() {}", + ] + chunks = [rows[i:i + 150] for i in range(0, len(rows), 150)] + for n, chunk in enumerate(chunks): + j.append(f" private static void funcs{n}() {{") + for r in chunk: + j.append(f' FUNCS.put("{r["declaring_class"]}::{r["key"]}", ' + f'new String[] {{"sysmlv2_{r["rust_fn"]}", "{result_code(r)}", "{";".join(abi_params(r))}"}});') + j.append(" }") + j.append(" private static void bases() {") + for name, rec in sorted(mm["classes"].items()): + arr = ", ".join(f'"{b}"' for b in rec["bases"]) + j.append(f' BASES.put("{name}", new String[] {{{arr}}});') + j.append(" }") + j.append(" static {") + for n in range(len(chunks)): + j.append(f" funcs{n}();") + j.append(" bases();") + j.append(" }") + j.append("}") + OUT.write_text("\n".join(j) + "\n", encoding="utf-8", newline="\n") + print(f"wrote {OUT}: {len(rows)} functions, {len(mm['classes'])} classes, digest {digest[:12]}") + + +if __name__ == "__main__": + main() diff --git a/tools/gen_toolkit_table_js.py b/tools/gen_toolkit_table_js.py new file mode 100644 index 0000000..b2e4e10 --- /dev/null +++ b/tools/gen_toolkit_table_js.py @@ -0,0 +1,46 @@ +"""Generate ts/toolkit_table.mjs: the dispatch data the JavaScript SysML Toolkit backend needs. +Same inputs and same result codes as tools/gen_toolkit_table.py. +""" +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from pathlib import Path + +from naming import abi_params, op_key, result_code + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent +DEFAULT_TABLES = ROOT / "vendor" / "naming-table" # vendored; see its PIN.json +OUT = ROOT / "ts" / "toolkit_table.mjs" + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--tables", type=Path, default=DEFAULT_TABLES) + a = ap.parse_args() + raw = (a.tables / "toolkit-api-names.csv").read_bytes() + digest = hashlib.sha256(raw.replace(b"\r\n", b"\n")).hexdigest() + rows = list(csv.DictReader(raw.decode("utf-8").splitlines())) + # Properties are keyed by name, operations by name + "()": `instantiatedType` is both a + # property and an operation of the same class, and each keeps its row. + for r in rows: + r["key"] = op_key(r["member"]) if r["kind"] == "operation" else r["member"] + mm = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8")) + + funcs = {f'{r["declaring_class"]}::{r["key"]}': [f'sysmlv2_{r["rust_fn"]}', result_code(r), ";".join(abi_params(r))] for r in rows} + bases = {name: rec["bases"] for name, rec in sorted(mm["classes"].items())} + out = [ + "// Generated by tools/gen_toolkit_table_js.py. Do not edit.", + f'export const NAMES_DIGEST = "{digest}";', + "export const FUNCS = " + json.dumps(funcs, separators=(",", ":")) + ";", + "export const BASES = " + json.dumps(bases, separators=(",", ":")) + ";", + "", + ] + OUT.write_text("\n".join(out), encoding="utf-8", newline="\n") + print(f"wrote {OUT}: {len(rows)} functions, {len(bases)} classes, digest {digest[:12]}") + + +if __name__ == "__main__": + main() diff --git a/tools/naming.py b/tools/naming.py new file mode 100644 index 0000000..4de88f6 --- /dev/null +++ b/tools/naming.py @@ -0,0 +1,193 @@ +"""Every name the generators emit that is a convention or a decision, in one place. + +Package names. The Java package, the C# namespace and project folders, the npm package, the Python +distribution and module, and the product name in file names are `NAMES` below and nowhere else in +the generators; the hand-written files spell them out and `tools/rename.py` rewrites them. C++ +names (namespace `sysml`) are not among them. + +Member naming. Properties and operations are separate members, and every language shows which +one a call site uses: + + - Java and C++ read every property through a getter, `get` + the specification name with its + first letter capitalized (`getQualifiedName()`, Booleans too: `getIsAbstract()`). Operations + keep their specification names (`effectiveName()`), so the two can never collide. + - Python, C# and TypeScript read properties with property syntax under the specification name + (`el.qualifiedName`) and call operations by their specification name, except an operation + whose name is also a property of a class that has both. Only `instantiatedType` is such a + name; the operation becomes `instantiatedType_op()` in Python and `instantiatedTypeOp()` in + C# and TypeScript, on every class. + - TypeScript also suffixes an operation whose name the element Proxy must answer itself for + JavaScript's own protocols (`valueOf`, `toString`, ...). Only `valueOf` is such a name: it is + `valueOfOp()` on `MultiplicityRange`. + +Operation catalogue. The metamodel lists each operation on the class that declares or redefines +it, while properties are listed on every class that has them. `flat_ops` gives operations the +same shape: every operation a class has, from its most specific declaration. +""" + +from __future__ import annotations + +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent + +# ---------------------------------------------------------------- the names users type + +# Every name a user types to install or import the SDK. `tools/rename.py` changes them across the +# repository and rewrites this table; the generators and packaging tools read them from here. +NAMES = { + "java": "org.openmbee.sysml", # Java package; also the jar's module name + "cs": "OpenMBEE.SysML", # C# namespace, NuGet id, project folders + "npm": "sysml", # npm package + "python": "sysml", # Python distribution; the import name is this with "_" for "-" + "product": "sysml-sdk", # file names of the jar and the C++ archive, the skills' names +} + + +def spellings(names: dict[str, str] = NAMES) -> dict[str, str]: + """Every derived spelling of the names.""" + npm = names["npm"] + return { + "java_package": names["java"], + "java_dir": names["java"].replace(".", "/"), # the package as a source path + "cs_namespace": names["cs"], + "npm_package": npm, + # `npm pack` names a scoped package's tarball --.tgz + "npm_tarball_stem": npm[1:].replace("/", "-") if npm.startswith("@") else npm, + "python_dist": names["python"], + "python_module": names["python"].replace("-", "_"), + "product": names["product"], + } + + +S = spellings() +JAVA_PACKAGE = S["java_package"] +JAVA_SRC = ROOT / "java" / "src" / Path(S["java_dir"]) +CS_NAMESPACE = S["cs_namespace"] +CS_PROJECT = ROOT / "csharp" / CS_NAMESPACE +CS_CHECKS_PROJECT = ROOT / "csharp" / f"{CS_NAMESPACE}.Checks" +NPM_PACKAGE = S["npm_package"] +PYTHON_MODULE = S["python_module"] + +# ---------------------------------------------------------------- the metamodel + +MM = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8"))["classes"] + + +def ancestors(name: str, acc: set[str] | None = None) -> set[str]: + acc = set() if acc is None else acc + for b in MM[name]["bases"]: + if b not in acc: + acc.add(b) + ancestors(b, acc) + return acc + + +def flat_ops(name: str) -> list[tuple[str, dict]]: + """(declaring class, operation) for every operation `name` has, sorted by operation name. + + The declaration is the most specific one: the class's own, else the one no other declaring + ancestor redefines. The metamodel has no class that inherits two unrelated redefinitions of + one operation; generation fails if one appears. + """ + anc = ancestors(name) + by_name: dict[str, list[str]] = {} + for c in [name, *sorted(anc)]: + for op in MM[c]["ops"]: + by_name.setdefault(op["name"], []).append(c) + out = [] + for op_name, decls in sorted(by_name.items()): + most = [c for c in decls if not any(c in ancestors(d) for d in decls if d != c)] + if len(most) != 1: + raise SystemExit(f"{name}.{op_name}: inherited from unrelated redefinitions {most}") + decl = most[0] + op = next(o for o in MM[decl]["ops"] if o["name"] == op_name) + out.append((decl, op)) + return out + + +# ---------------------------------------------------------------- member naming + +# Operation names that are also a property name on some class that has both. +COLLIDING_OPS = sorted( + {op["name"] for n in MM for _, op in flat_ops(n) if op["name"] in MM[n]["props"]} +) + +# Keys the TypeScript element Proxy answers itself; keep in sync with SPECIAL in ts/runtime.mjs. +TS_RUNTIME_NAMES = ["constructor", "then", "toJSON", "toString", "valueOf"] + + +def getter(prop: str) -> str: + """Java and C++ property reader: `get` + the specification name, first letter capitalized.""" + return "get" + prop[0].upper() + prop[1:] + + +def op_member(op_name: str, lang: str) -> str: + """The member name of a specification operation in `lang` (python, cs, ts, java, cpp).""" + if lang in ("java", "cpp"): + return op_name + if op_name in COLLIDING_OPS or (lang == "ts" and op_name in TS_RUNTIME_NAMES): + return op_name + ("_op" if lang == "python" else "Op") + return op_name + + +def as_meta(typed: dict) -> dict: + """An operation's parameter or return type in the shape of a property row, so each language + maps both with one function. UML's UnlimitedNatural is typed as an integer; its `*` has no + integer value, which matters only once the SysML Toolkit answers the operations that take + one.""" + t = "Integer" if typed["type"] == "UnlimitedNatural" else typed["type"] + return {"kind": typed["kind"], "type": t, "shape": "A" if typed["many"] else "R"} + + +def op_decl(row: dict) -> dict: + """The metamodel's declaration of a naming-table operation row.""" + for op in MM[row["declaring_class"]]["ops"]: + if op["name"] == row["member"]: + return op + raise SystemExit(f"{row['declaring_class']}::{row['member']}: no such operation in metamodel.json") + + +def abi_param_type(typed: dict) -> str: + """The C type of an operation parameter of the binding library, from its metamodel type: an + element list is Handles, one element a Handle, a single Boolean a bool; anything else (text, + enumeration literals, numbers) is a Str.""" + if typed["kind"] == "element": + return "Handles" if typed["many"] else "Handle" + if typed["type"] == "Boolean" and not typed["many"]: + return "bool" + return "Str" + + +def abi_params(row: dict) -> list[str]: + """The C types of a naming-table row's parameters, in order (none for a property).""" + if row["kind"] != "operation": + return [] + return [abi_param_type(t) for t in op_decl(row)["paramTypes"]] + + +def op_key(op_name: str) -> str: + """Dispatch-table key of an operation. Properties are keyed by their plain name; operations + carry `()` so that a property and an operation of the same name both keep their row.""" + return op_name + "()" + + +def result_code(row: dict) -> str: + """How a binding unpacks the result of a naming-table row's function, one letter per C result + type of tools/gen_abi.py: H = handle array (Handles), R = one handle (Ref), S = a string (Str), + T = a list of strings, which the library returns as JSON text in a Str, B = Bool, I = Int, + F = Real. Every language's SysML Toolkit table is generated with this function.""" + if row["kind"] == "operation": + returns = op_decl(row)["returns"] + if returns is None: + return "S" + m = as_meta(returns) + kind, shape, ty = m["kind"], m["shape"], m["type"] + else: + kind, shape, ty = row["result_kind"], row["result_shape"], row["result_type"] + if kind == "element": + return "H" if shape == "A" else "R" + if shape == "A": + return "T" + return {"Boolean": "B", "Integer": "I", "Real": "F", "Rational": "F"}.get(ty, "S") diff --git a/tools/package.py b/tools/package.py new file mode 100644 index 0000000..88687d1 --- /dev/null +++ b/tools/package.py @@ -0,0 +1,311 @@ +"""Build the release packages of the SDK into one directory. + +Usage: python tools/package.py [--target TRIPLE] [--out DIR] [--javac22 PATH] + + python a platform wheel carrying the binding library built for TARGET (abi/target/release) + sdist the Python source distribution, without any native library + npm the npm tarball, carrying the WebAssembly build (abi/target/wasm32-unknown-unknown) + java sysml-sdk-.jar and its sources jar; with --javac22, a multi-release jar + csharp the NuGet package + cpp sysml-sdk-cpp-.zip: the headers, the vendored JSON header, the licenses + +With --abi-archives DIR, the jar, the NuGet package and the C++ archive also carry the binding +library of every platform whose archive (sysmlv2_abi--.zip or .tar.gz, as +tools/package_abi.py writes it) is in DIR, each with the notices of what it compiles in: the jar +under /native/-/, which the SysML Toolkit backend copies out and loads; +the NuGet package under runtimes//native/, where .NET finds it; the C++ archive under +lib//, to copy beside the executable. + +Every package carries LICENSE and NOTICE. The version is pyproject.toml's; the Java package name and the npm +package name come from their own sources, so tools/rename.py keeps them in step. + +Java: the foreign function API the SysML Toolkit backend uses is a preview API in JDK 21 and final +from JDK 22, and a class compiled with preview features runs only on the JDK that compiled it. The +jar is therefore built with JDK 21 and --enable-preview, and, given a JDK 22 or newer compiler +(--javac22), also carries the SysML Toolkit backend compiled for JDK 22 under +META-INF/versions/22, so one jar runs on JDK 21 (with --enable-preview) and on every later JDK. +""" + +from __future__ import annotations + +import argparse +import json +import os +import re +import shutil +import subprocess +import sys +import tarfile +import tomllib +import zipfile +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from naming import JAVA_PACKAGE, JAVA_SRC # noqa: E402 +from package_abi import library_path # noqa: E402 +import third_party_notices # noqa: E402 + +VERSION = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]["version"] + +# Wheel platform tags. The macOS ones match the deployment targets the libraries are built for +# (MACOSX_DEPLOYMENT_TARGET in CI, which are also Rust's defaults for these targets). +PLATFORM_TAGS = { + "x86_64-unknown-linux-gnu": "linux_x86_64", + "aarch64-unknown-linux-gnu": "linux_aarch64", + "aarch64-apple-darwin": "macosx_11_0_arm64", + "x86_64-apple-darwin": "macosx_10_12_x86_64", + "x86_64-pc-windows-msvc": "win_amd64", + "x86_64-pc-windows-gnu": "win_amd64", +} + + +# The platforms whose binding library the jar, the NuGet package and the C++ archive carry: the +# directory in the jar (os-arch, as the Java SysML Toolkit backend names the running platform) and +# the .NET runtime identifier. The first target of a platform present in --abi-archives is the one +# carried. +NATIVE_TARGETS = { + "x86_64-pc-windows-msvc": ("windows-x86_64", "win-x64"), + "x86_64-pc-windows-gnu": ("windows-x86_64", "win-x64"), + "x86_64-unknown-linux-gnu": ("linux-x86_64", "linux-x64"), + "aarch64-apple-darwin": ("macos-aarch64", "osx-arm64"), + "x86_64-apple-darwin": ("macos-x86_64", "osx-x64"), +} +NOTICES = ("THIRD-PARTY-NOTICES.txt", "RUST-STANDARD-LIBRARY-NOTICES.html") + + +def natives(archives: Path | None) -> dict[str, dict[str, bytes]]: + """Target -> {file name: bytes} for the library and its notices, read from the binding library + archives in `archives`; one target per platform.""" + if archives is None: + return {} + found: dict[str, dict[str, bytes]] = {} + platforms = set() + for target, (platform, _) in NATIVE_TARGETS.items(): + stem = f"sysmlv2_abi-{VERSION}-{target}" + wanted = [library_path(target).name, *NOTICES] + files: dict[str, bytes] = {} + if (archives / f"{stem}.zip").exists(): + with zipfile.ZipFile(archives / f"{stem}.zip") as z: + files = {n: z.read(f"{stem}/{n}") for n in wanted} + elif (archives / f"{stem}.tar.gz").exists(): + with tarfile.open(archives / f"{stem}.tar.gz") as t: + files = {n: t.extractfile(f"{stem}/{n}").read() for n in wanted} + if files and platform not in platforms: + platforms.add(platform) + found[target] = files + if not found: + raise SystemExit(f"no binding library archive of version {VERSION} in {archives}") + print("carrying the binding library for", ", ".join(found)) + return found + + +def run(*cmd: str | os.PathLike, cwd: Path = ROOT) -> None: + print("+", " ".join(str(c) for c in cmd)) + subprocess.run([str(c) for c in cmd], cwd=cwd, check=True) + + +def wheel(target: str, out: Path) -> Path: + lib = library_path(target) + if not lib.exists(): + raise SystemExit(f"no library at {lib}; build abi/ for {target} first") + native = ROOT / "python" / "sysml" / "_native" + staging = out / "wheel-staging" + shutil.rmtree(staging, ignore_errors=True) + native.mkdir(exist_ok=True) + try: + shutil.copy2(lib, native / lib.name) + third_party_notices.write(target, native) + run(sys.executable, "-m", "build", "--wheel", "--outdir", staging) + finally: + shutil.rmtree(native, ignore_errors=True) + shutil.rmtree(ROOT / "build", ignore_errors=True) + [built] = staging.glob("*.whl") + run(sys.executable, "-m", "wheel", "tags", "--python-tag", "py3", "--abi-tag", "none", + "--platform-tag", PLATFORM_TAGS[target], "--remove", built) + [tagged] = staging.glob("*.whl") + dest = out / tagged.name + shutil.move(tagged, dest) + shutil.rmtree(staging) + return dest + + +def sdist(out: Path) -> Path: + staging = out / "sdist-staging" + shutil.rmtree(staging, ignore_errors=True) + run(sys.executable, "-m", "build", "--sdist", "--outdir", staging) + [built] = staging.glob("*.tar.gz") + dest = out / built.name + shutil.move(built, dest) + shutil.rmtree(staging) + return dest + + +def npm(out: Path) -> Path: + wasm = library_path("wasm32-unknown-unknown") + if not wasm.exists(): + raise SystemExit(f"no WebAssembly build at {wasm}; build abi/ for wasm32-unknown-unknown first") + ts = ROOT / "ts" + copies = [ts / "sysmlv2_abi.wasm", ts / "LICENSE", ts / "NOTICE"] + try: + shutil.copy2(wasm, copies[0]) + shutil.copy2(ROOT / "LICENSE", copies[1]) + shutil.copy2(ROOT / "NOTICE", copies[2]) + copies += third_party_notices.write("wasm32-unknown-unknown", ts) + before = set(out.glob("*.tgz")) + npm_cmd = "npm.cmd" if os.name == "nt" else "npm" + run(npm_cmd, "pack", "--pack-destination", out.resolve(), cwd=ts) + finally: + for c in copies: + c.unlink(missing_ok=True) + [made] = set(out.glob("*.tgz")) - before + return made + + +def _zip_tree(z: zipfile.ZipFile, src: Path, prefix: str) -> None: + for f in sorted(src.rglob("*")): + if f.is_file(): + z.write(f, prefix + f.relative_to(src).as_posix()) + + +def java(out: Path, javac22: str | None, archives: Path | None = None) -> list[Path]: + src_root = ROOT / "java" / "src" + sources = sorted(p for p in JAVA_SRC.rglob("*.java") if "checks" not in p.relative_to(JAVA_SRC).parts) + work = out / "java-staging" + shutil.rmtree(work, ignore_errors=True) + classes, classes22 = work / "classes", work / "classes22" + classes.mkdir(parents=True) + argfile = work / "sources.txt" + argfile.write_text("\n".join(f'"{p.as_posix()}"' for p in sources), encoding="utf-8") + run("javac", "--enable-preview", "--release", "21", "-d", classes, f"@{argfile}") + toolkit_backend = JAVA_SRC / "ToolkitBackend.java" + if javac22: + classes22.mkdir() + run(javac22, "--release", "22", "-cp", classes, "-d", classes22, toolkit_backend) + manifest = [ + "Manifest-Version: 1.0", + f"Automatic-Module-Name: {JAVA_PACKAGE}", + f"Implementation-Title: {JAVA_PACKAGE}", + f"Implementation-Version: {VERSION}", + ] + if javac22: + manifest.append("Multi-Release: true") + jar = out / f"sysml-sdk-{VERSION}.jar" + with zipfile.ZipFile(jar, "w", zipfile.ZIP_DEFLATED) as z: + z.writestr("META-INF/MANIFEST.MF", "\r\n".join(manifest) + "\r\n") + z.write(ROOT / "LICENSE", "META-INF/LICENSE") + z.write(ROOT / "NOTICE", "META-INF/NOTICE") + _zip_tree(z, classes, "") + if javac22: + # Only the SysML Toolkit backend differs; the rest of the jar serves every JDK. + pkg_dir = Path(JAVA_PACKAGE.replace(".", "/")) + for f in sorted((classes22 / pkg_dir).glob("ToolkitBackend*.class")): + z.write(f, "META-INF/versions/22/" + f.relative_to(classes22).as_posix()) + # Beside the SysML Toolkit backend's class, which reads them as resources relative to itself. + package_path = JAVA_PACKAGE.replace(".", "/") + for target, files in natives(archives).items(): + platform = NATIVE_TARGETS[target][0] + for name, data in files.items(): + z.writestr(f"{package_path}/native/{platform}/{name}", data) + sources_jar = out / f"sysml-sdk-{VERSION}-sources.jar" + with zipfile.ZipFile(sources_jar, "w", zipfile.ZIP_DEFLATED) as z: + z.writestr("META-INF/MANIFEST.MF", "Manifest-Version: 1.0\r\n") + z.write(ROOT / "LICENSE", "META-INF/LICENSE") + z.write(ROOT / "NOTICE", "META-INF/NOTICE") + for f in sources: + z.write(f, f.relative_to(src_root).as_posix()) + shutil.rmtree(work) + return [jar, sources_jar] + + +def csharp(out: Path, archives: Path | None = None) -> Path: + projects = [p for p in (ROOT / "csharp").glob("*/*.csproj") if not p.stem.endswith(".Checks")] + [project] = projects + # Staged beside the project, which packs runtimes/ and THIRD-PARTY/ when they exist. + staged = [project.parent / "runtimes", project.parent / "THIRD-PARTY"] + for d in staged: + shutil.rmtree(d, ignore_errors=True) + try: + for target, files in natives(archives).items(): + rid = NATIVE_TARGETS[target][1] + for name, data in files.items(): + dest = (staged[0] / rid / "native" if name not in NOTICES else staged[1] / rid) / name + dest.parent.mkdir(parents=True, exist_ok=True) + dest.write_bytes(data) + before = set(out.glob("*.nupkg")) + run("dotnet", "pack", project, "-c", "Release", "-o", out.resolve()) + [made] = set(out.glob("*.nupkg")) - before + finally: + for d in staged: + shutil.rmtree(d, ignore_errors=True) + return made + + +CPP_README = """sysml-sdk for C++ {version} + +Header-only, C++17. Put include/ on the include path: + + g++ -std=c++17 -I include your_program.cpp + + #include the metaclass structs, with the runtime and the payload backend + #include the SysML Toolkit backend (loads the binding library at run time) + +( alone is the runtime and the payload backend, without the metaclass structs.) + +The SysML Toolkit backend needs the binding library of the same release. lib// holds it for +each platform: copy the one for yours beside your executable, or name it in SYSMLV2_ABI. On Linux, +link with -ldl. + +License: Apache-2.0, see LICENSE and NOTICE. include/nlohmann/json.hpp is JSON for Modern C++ by Niels +Lohmann, MIT license, see THIRD-PARTY/nlohmann-json-LICENSE.MIT. +""" + + +def cpp(out: Path, archives: Path | None = None) -> Path: + stem = f"sysml-sdk-cpp-{VERSION}" + dest = out / f"{stem}.zip" + with zipfile.ZipFile(dest, "w", zipfile.ZIP_DEFLATED) as z: + for f in sorted((ROOT / "cpp" / "include" / "sysml").glob("*.hpp")): + z.write(f, f"{stem}/include/sysml/{f.name}") + z.write(ROOT / "vendor" / "nlohmann" / "json.hpp", f"{stem}/include/nlohmann/json.hpp") + z.write(ROOT / "LICENSE", f"{stem}/LICENSE") + z.write(ROOT / "NOTICE", f"{stem}/NOTICE") + z.write(ROOT / "vendor" / "nlohmann" / "LICENSE.MIT", f"{stem}/THIRD-PARTY/nlohmann-json-LICENSE.MIT") + z.writestr(f"{stem}/README.txt", CPP_README.format(version=VERSION)) + for target, files in natives(archives).items(): + for name, data in files.items(): + z.writestr(f"{stem}/lib/{target}/{name}", data) + return dest + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("what", choices=["python", "sdist", "npm", "java", "csharp", "cpp"]) + ap.add_argument("--target", help="Rust target triple of the native library (python)") + ap.add_argument("--out", type=Path, default=ROOT / "dist") + ap.add_argument("--javac22", help="a JDK 22 or newer javac, for the multi-release jar (java)") + ap.add_argument("--abi-archives", type=Path, + help="the binding library archives to carry (java, csharp, cpp)") + a = ap.parse_args() + a.out.mkdir(parents=True, exist_ok=True) + if a.what == "python": + if not a.target: + raise SystemExit("python needs --target") + made = [wheel(a.target, a.out)] + elif a.what == "sdist": + made = [sdist(a.out)] + elif a.what == "npm": + made = [npm(a.out)] + elif a.what == "java": + made = java(a.out, a.javac22, a.abi_archives) + elif a.what == "csharp": + made = [csharp(a.out, a.abi_archives)] + else: + made = [cpp(a.out, a.abi_archives)] + for m in made: + print(m) + + +if __name__ == "__main__": + main() diff --git a/tools/package_abi.py b/tools/package_abi.py new file mode 100644 index 0000000..04948e2 --- /dev/null +++ b/tools/package_abi.py @@ -0,0 +1,122 @@ +"""Package a built binding library as a release archive. + +Usage: python tools/package_abi.py [--out DIR] + + is a Rust target triple: the host triple the library in abi/target/release was built +for, or wasm32-unknown-unknown for the WebAssembly build. The archive holds one directory with +the library, LICENSE, NOTICE, the third-party notices of what the library compiles in +(tools/third_party_notices.py) and a short README, and is named sysmlv2_abi--, as .zip +for Windows targets and .tar.gz for every other. The version is the SDK's (pyproject.toml); the +SysML Toolkit release comes from vendor/sysml-toolkit/PIN.json. +""" + +from __future__ import annotations + +import argparse +import json +import shutil +import tarfile +import tomllib +import zipfile +from pathlib import Path + +import third_party_notices + +ROOT = Path(__file__).resolve().parent.parent + +README = """sysmlv2_abi {version} for {target} + +The binding library of the SysML v2 SDK: the C interface through which every SDK language reads +a model with the SysML Toolkit. Built from sysml-sdk {version} against the SysML Toolkit +{repository} at {tag} (commit {commit}). + +{usage} +License: Apache-2.0, see LICENSE and NOTICE. The library compiles in the SysML Toolkit, Rust +crates and the Rust standard library, each under its own license: see THIRD-PARTY-NOTICES.txt and +RUST-STANDARD-LIBRARY-NOTICES.html. +""" + +USAGE_NATIVE = """Point SYSMLV2_ABI at the library file: + + {command} +""" + +QUARANTINE = """ +A library downloaded through a web browser is quarantined by macOS and will not load. Remove the +attribute once: + + xattr -d com.apple.quarantine {library} +""" + +USAGE_WASM = """JavaScript loads this module in Node and in the browser. In Node, point SYSMLV2_ABI_WASM at it: + + export SYSMLV2_ABI_WASM=/path/to/{library} +""" + + +def usage(target: str, library: str) -> str: + if target.startswith("wasm32"): + return USAGE_WASM.format(library=library) + if "windows" in target: + text = USAGE_NATIVE.format(command="set SYSMLV2_ABI=C:" + "\\path\\to\\" + library) + else: + text = USAGE_NATIVE.format(command=f"export SYSMLV2_ABI=/path/to/{library}") + if "apple-darwin" in target: + text += QUARANTINE.format(library=library) + return text + + +def library_path(target: str) -> Path: + if target == "wasm32-unknown-unknown": + return ROOT / "abi" / "target" / target / "release" / "sysmlv2_abi.wasm" + if "windows" in target: + name = "sysmlv2_abi.dll" + elif "apple-darwin" in target: + name = "libsysmlv2_abi.dylib" + else: + name = "libsysmlv2_abi.so" + return ROOT / "abi" / "target" / "release" / name + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("target") + ap.add_argument("--out", type=Path, default=ROOT / "dist") + a = ap.parse_args() + + version = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]["version"] + toolkit = json.loads((ROOT / "vendor" / "sysml-toolkit" / "PIN.json").read_text(encoding="utf-8"))["toolkit"] + lib = library_path(a.target) + if not lib.exists(): + raise SystemExit(f"no library at {lib}; build abi/ for {a.target} first") + + stem = f"sysmlv2_abi-{version}-{a.target}" + staging = a.out / stem + if staging.exists(): + shutil.rmtree(staging) + staging.mkdir(parents=True) + shutil.copy2(lib, staging / lib.name) + shutil.copy2(ROOT / "LICENSE", staging / "LICENSE") + shutil.copy2(ROOT / "NOTICE", staging / "NOTICE") + third_party_notices.write(a.target, staging) + (staging / "README.txt").write_text( + README.format(version=version, target=a.target, usage=usage(a.target, lib.name), + repository=toolkit["repository"].removeprefix("https://github.com/"), + tag=toolkit["tag"], commit=toolkit["commit"][:12]), + encoding="utf-8", newline="\n") + + if "windows" in a.target: + archive = a.out / f"{stem}.zip" + with zipfile.ZipFile(archive, "w", zipfile.ZIP_DEFLATED) as z: + for f in sorted(staging.iterdir()): + z.write(f, f"{stem}/{f.name}") + else: + archive = a.out / f"{stem}.tar.gz" + with tarfile.open(archive, "w:gz") as t: + t.add(staging, arcname=stem) + shutil.rmtree(staging) + print(archive) + + +if __name__ == "__main__": + main() diff --git a/tools/package_library.py b/tools/package_library.py new file mode 100644 index 0000000..1a646d9 --- /dev/null +++ b/tools/package_library.py @@ -0,0 +1,163 @@ +"""Package the standard library, as JSON and as its models, as a release archive. + +Usage: python tools/package_library.py --library-dir DIR [--out DIR] + + is the output of abi/examples/export_library.rs (python +tools/export_example.py writes it to examples/sysml.library.full.json); DIR is the sysml.library +directory it was made from, inside a git checkout of the SysML v2 release. The archive, +sysml_library-.zip, holds one directory with the JSON (for the payload backend), the +library models themselves as released (sysml.library/: the .kerml and .sysml files the release +tracks, with their project metadata, for the SysML Toolkit backend), the Eclipse Public License +2.0 under which both are licensed, a NOTICE that says where the library's source is and who holds +its copyright (read from the release's README), and a README on what each part is for. The +version is the SDK's (pyproject.toml); the SysML Toolkit release comes from +vendor/sysml-toolkit/PIN.json. + +The JSON is a Modified Work of the library models in the sense of the EPL 2.0 and is distributed +under it, not under the SDK's Apache-2.0; the models are distributed unmodified. Section 3.1 asks +that they be accompanied by a statement that the Source Code is available under the EPL and how to +obtain it, and section 3.3 that the models' notices be kept: the NOTICE carries both. The tool stops +rather than write an archive without them. +""" + +from __future__ import annotations + +import argparse +import json +import re +import subprocess +import sys +import tomllib +import zipfile +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent + +NOTICE = """The KerML and SysML standard library, as its models and as full-form interchange JSON + +sysml.library/ holds the standard library models of the SysML v2 release named below, unmodified: +the .kerml and .sysml files the release tracks in its directory sysml.library, with their project +metadata. + +sysml.library.full.json is a Modified Work of those models (the directory sysml.library) of the +SysML v2 release + + {release}, {url} + commit {release_commit} + +produced from those models by the SysML Toolkit, with sysml-sdk {version}: + + {repository} {tag} + commit {commit} + +The elements are the models' own, under the element ids KerML 9.1 and SysML 9.1 prescribe, with the +properties the full form derives, and with annotations that mark the references the SysML Toolkit +could not resolve. + +Both are licensed under the Eclipse Public License 2.0, as the library models are; see LICENSE. They +are not covered by the SDK's Apache-2.0 license. + +Source Code: the library models are available under the Eclipse Public License 2.0 at +{url}/tree/{release_commit}/sysml.library + +The release licenses its models under the EPL 2.0 by the copyright holders it lists: + +{holders} +""" + +README = """sysml_library {version} + +The KerML and SysML standard library for the SysML v2 SDK, in the two forms its backends read: + + sysml.library/ the library models themselves, for the SysML Toolkit backend: pass + this directory as the library directory when the session opens + (library_dir in Python, libraryDir in JavaScript, the last argument + of ToolkitBackend.open in Java, C# and C++) + sysml.library.full.json the same library as full-form interchange JSON, for the payload + backend: a payload model's references into the standard library + resolve against it; read it once as a PayloadLibrary and pass it to + Model.from_full_json (the same in every SDK language) + +Every element of the JSON carries the element id that KerML 9.1 and SysML 9.1 prescribe for the +library, the one other tools use too. + +Library: the SysML v2 release {release} (commit {release_commit}), library version {library_version}. +The JSON was written by the SysML Toolkit {repository} at {tag} (commit {commit}), with +sysml-sdk {version}. + +In the JSON, the inheritance-aware properties hold each element's own side: inheritedMembership, +inheritedFeature, importedMembership and featuringType are empty, and feature, membership and the +like list owned members only. References inside the library that do not resolve carry the +SysML Toolkit's recovery annotations (a TextualRepresentation in the language +x-sysmlv2-unresolved-reference). + +License: Eclipse Public License 2.0, see LICENSE; the source and the copyright holders are in NOTICE. +""" + + +def git(directory: Path, *args: str) -> str: + r = subprocess.run(["git", "-C", str(directory), *args], capture_output=True, text=True) + if r.returncode != 0 or not r.stdout.strip(): + sys.exit(f"git {' '.join(args)} in {directory} failed; the NOTICE needs it:\n{r.stderr}") + return r.stdout.strip() + + +def copyright_holders(readme: str) -> list[str]: + """The copyright lines the release's README gives for its EPL-licensed models.""" + marker = "licensed by the respective copyright holders listed below" + start = readme.find(marker) + if start < 0: + sys.exit(f"the release README no longer says {marker!r}; check its licensing section by hand") + holders = [] + for line in readme[start:].splitlines()[1:]: + line = re.sub(r"", "", line).strip() + if line.startswith("Copyright"): + holders.append(line) + elif holders and line: + break + if not holders: + sys.exit("no copyright lines follow the licensing statement of the release README") + return holders + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("json", type=Path) + ap.add_argument("--library-dir", type=Path, required=True) + ap.add_argument("--out", type=Path, default=ROOT / "dist") + a = ap.parse_args() + + version = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]["version"] + toolkit = json.loads((ROOT / "vendor" / "sysml-toolkit" / "PIN.json").read_text(encoding="utf-8"))["toolkit"] + release = a.library_dir.resolve().parent + project = json.loads((a.library_dir / "Systems Library" / ".project.json").read_text(encoding="utf-8")) + fields = dict( + version=version, release=git(release, "describe", "--tags", "--always"), + release_commit=git(release, "rev-parse", "HEAD"), + url=git(release, "remote", "get-url", "origin").removesuffix(".git"), + library_version=project["version"], + repository=toolkit["repository"], tag=toolkit["tag"], commit=toolkit["commit"]) + holders = copyright_holders((release / "README.md").read_text(encoding="utf-8")) + notice = NOTICE.format(**fields, holders="\n".join(holders)) + + name = f"sysml_library-{version}" + a.out.mkdir(parents=True, exist_ok=True) + archive = a.out / f"{name}.zip" + # The models as the release tracks them; its IDE files (.project, .settings, .gitignore) stay out. + library = a.library_dir.resolve() + models = [p for p in git(release, "ls-files", "-z", "--", library.name).split("\0") if p] + models = [p for p in models if p.endswith((".kerml", ".sysml", ".project.json", ".meta.json"))] + if not any(p.endswith((".kerml", ".sysml")) for p in models): + sys.exit(f"no library models tracked under {library}") + with zipfile.ZipFile(archive, "w", zipfile.ZIP_DEFLATED, compresslevel=9) as z: + z.write(a.json, f"{name}/sysml.library.full.json") + for rel in sorted(models): + z.write(release / rel, f"{name}/{rel}") + z.write(release / "LICENSE", f"{name}/LICENSE") + z.writestr(f"{name}/NOTICE", notice) + z.writestr(f"{name}/README.txt", README.format(**fields)) + print(f"wrote {archive} ({archive.stat().st_size} bytes)") + + +if __name__ == "__main__": + main() diff --git a/tools/release_notes.py b/tools/release_notes.py new file mode 100644 index 0000000..6174edf --- /dev/null +++ b/tools/release_notes.py @@ -0,0 +1,47 @@ +"""Print the release notes for a tag, after checking that every package has the tag's version. + +Usage: python tools/release_notes.py + +The tag is v or v- (a rehearsal such as v0.1.0-rc1). The notes are the +section of CHANGELOG.md headed with the version. The versions checked are the ones each package +carries: pyproject.toml (the Python packages, the jar and the C++ archive take theirs from it), +ts/package.json and the C# project. +""" + +import json +import re +import sys +import tomllib +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from naming import CS_PROJECT # noqa: E402 + + +def main() -> None: + tag = sys.argv[1] + m = re.fullmatch(r"v(\d+\.\d+\.\d+)(-[0-9A-Za-z.]+)?", tag) + if not m: + sys.exit(f"tag {tag!r} is not v..[-]") + version = m.group(1) + found = { + "pyproject.toml": tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]["version"], + "ts/package.json": json.loads((ROOT / "ts" / "package.json").read_text(encoding="utf-8"))["version"], + } + [csproj] = CS_PROJECT.glob("*.csproj") + cs = re.search(r"([^<]+)", csproj.read_text(encoding="utf-8")) + found[csproj.relative_to(ROOT).as_posix()] = cs.group(1) if cs else None + wrong = {k: v for k, v in found.items() if v != version} + if wrong: + sys.exit(f"tag {tag} wants version {version}; these differ: {wrong}") + changelog = (ROOT / "CHANGELOG.md").read_text(encoding="utf-8") + section = re.search(rf"^## {re.escape(version)}\b.*?$(.*?)(?=^## |\Z)", changelog, re.M | re.S) + if not section: + sys.exit(f"CHANGELOG.md has no section for {version}") + print(section.group(1).strip()) + + +if __name__ == "__main__": + main() diff --git a/tools/rename.py b/tools/rename.py new file mode 100644 index 0000000..4fd3e20 --- /dev/null +++ b/tools/rename.py @@ -0,0 +1,246 @@ +"""Rename what users type to install or import the SDK. + +Usage: python tools/rename.py [--java PACKAGE] [--cs NAMESPACE] [--npm NAME] [--python DIST] + [--product NAME] [--tables DIR] + +Each option replaces one entry of NAMES in tools/naming.py; a name not given stays as it is: + + --java the Java package (org.example.sysml); also the jar's module name + --cs the C# namespace (Example.SysML); also the NuGet id and the project folder names + --npm the npm package (@example/sysml-sdk, or unscoped) + --python the Python distribution (what `pip install` takes); the import name is the same with + "_" for "-", and so is the wheel's file name + --product the product name in file names: the jar, the C++ archive, the skills + +The script + + 1. rewrites every spelling of each name in the tracked text files (vendored inputs excepted, whose + bytes are pinned): the Java package and its source path, the C# namespace, the npm package and + the file name `npm pack` gives it, the Python module, the Python distribution where + `pyproject.toml` names it and in the `| Python |` row of a Markdown table, and then the + product name wherever it is left. Every other name is set aside first, so the product name + inside the npm package (or the distribution) is never rewritten as the product; + 2. moves the Java source tree, the two C# project folders and their project files, the Python + module folder and the skill folders, with `git mv` (the .NET build server is stopped first; it + holds the folders open on Windows); + 3. rewrites NAMES in tools/naming.py and reruns every generator; + 4. lists every remaining occurrence of a replaced name, for a person to judge. + +A name is replaced only where it stands whole, and nothing is written when an old name also +occurs inside other words (`sysml` inside `sysml-toolkit`) or two old names are spelled alike (an +npm package and a Python module both named `sysml`): renaming from such names cannot tell the +occurrences apart. Undo a rename by reverting its commit, and rename again from there. + +Running it with the current names changes nothing, which is its own test; running it back with +distinctive old names restores the tree. Repository names (`Open-MBEE/sysml-sdk`), C++ names +(namespace `sysml`) and the binding library's file names (`sysmlv2_abi`) are not among the names. +Commit the result like any change. +""" + +from __future__ import annotations + +import argparse +import re +import shutil +import subprocess +import sys +from pathlib import Path + +import naming + +ROOT = naming.ROOT +GENERATORS = [ + "extract_metamodel", "gen_toolkit_table", "gen_toolkit_table_java", "gen_toolkit_table_cs", + "gen_toolkit_table_cpp", "gen_toolkit_table_js", "gen_abi", "gen_classes", "gen_classes_ts", + "gen_classes_cs", "gen_classes_java", "gen_classes_cpp", "gen_conformance", +] +TABLE_GENERATORS = {g for g in GENERATORS if g.startswith("gen_toolkit_table")} +# The name table and this script spell the names on purpose, the export script names the public +# repository (not a package), and vendored inputs keep pinned bytes. +SKIP_FILES = {"tools/naming.py", "tools/rename.py", "tools/export-public.sh"} +SKIP_PREFIXES = ("vendor/",) +# Repository names are not package names, even where a product name spells the same. +REPOSITORIES = ("Open-MBEE/sysml-sdk", "Open-MBEE/sysml-toolkit") +SKILL_LANGUAGES = ("python", "typescript", "java", "csharp", "cpp") + + +def git(*args: str) -> str: + return subprocess.run(["git", *args], cwd=ROOT, check=True, capture_output=True, + text=True).stdout + + +# How each spelling may continue after it and still be the name (a Java package goes on with +# `.Class`, a wheel's file name with `-0.1.0`, the product with `-cpp`); before it, never a letter, +# a digit, `_`, `@`, `.` or `-`. Most specific first: each is set aside under a placeholder, so no +# later one rewrites a part of it. +BEFORE = r"(? str: + """Every spelling of the old names in `text`, rewritten to the new ones. Raises Ambiguous where + an old name also occurs inside another word, since a plain replacement would rewrite that word.""" + held: list[str] = [] + + def hold(new: str) -> str: + held.append(new) + return f"\x00{len(held) - 1}\x00" + + def replace(old: str, new: str, after: str, text: str) -> str: + text = re.sub(BEFORE + re.escape(old) + after, lambda m: hold(new), text) + if old in text: + i = text.index(old) + raise Ambiguous(f"{old!r} also occurs inside another word: " + f"...{text[max(0, i - 30):i + len(old) + 30]!r}...") + return text + + for repository in REPOSITORIES: + text = text.replace(repository, hold(repository)) + for key, suffix, after in KINDS: + if so[key] != sn[key]: + text = replace(so[key] + suffix, sn[key] + suffix, after, text) + else: # unchanged, but set aside all the same, so the product inside it stays + text = re.sub(BEFORE + re.escape(so[key] + suffix) + after, lambda m: hold(m.group(0)), text) + dist_old, dist_new = re.escape(so["python_dist"]), sn["python_dist"] + text = re.sub(rf'^(name = "){dist_old}(")', lambda m: m.group(1) + hold(dist_new) + m.group(2), + text, flags=re.M) + text = re.sub(rf"^(\|\s*Python[^|\n]*\|\s*`){dist_old}(`)", + lambda m: m.group(1) + hold(dist_new) + m.group(2), text, flags=re.M) + if so["product"] != sn["product"]: + text = replace(so["product"], sn["product"], r"(?![A-Za-z0-9_])", text) + return re.sub("\x00([0-9]+)\x00", lambda m: held[int(m.group(1))], text) + + +def rewrite_files(files: list[str], so: dict[str, str], sn: dict[str, str]) -> list[str]: + """Rewrite every file, or none: all new texts are made first, and one ambiguity stops it.""" + same = [(a, b) for a in so for b in so if a < b and so[a] == so[b] and (so[a] != sn[a] or so[b] != sn[b]) + and {a, b} != {"python_dist", "product"}] + if same: + sys.exit(f"the old names {same} are spelled the same and cannot be told apart; revert the " + "commit that made them so, and rename from there") + new_texts = {} + problems = [] + for rel in files: + if rel in SKIP_FILES or rel.startswith(SKIP_PREFIXES): + continue + p = ROOT / rel + try: + text = p.read_bytes().decode("utf-8") + except (UnicodeDecodeError, FileNotFoundError, IsADirectoryError): + continue + try: + new = rewrite_text(text, so, sn) + except Ambiguous as e: + problems.append(f"{rel}: {e}") + continue + if new != text: + new_texts[rel] = new + if problems: + sys.exit("nothing written: an old name is not distinctive enough to replace by its spelling " + "(rename from the original names instead, after reverting the rename that " + "introduced it):\n " + "\n ".join(problems[:20])) + for rel, new in new_texts.items(): + (ROOT / rel).write_bytes(new.encode("utf-8")) + return sorted(new_texts) + + +def moves(so: dict[str, str], sn: dict[str, str]) -> list[tuple[Path, Path]]: + """The folders and project files to move, checked before anything is written.""" + pairs = [(ROOT / "java" / "src" / so["java_dir"], ROOT / "java" / "src" / sn["java_dir"])] + for suffix in ("", ".Checks"): + src = ROOT / "csharp" / f"{so['cs_namespace']}{suffix}" + dst = ROOT / "csharp" / f"{sn['cs_namespace']}{suffix}" + pairs += [(src, dst), (dst / f"{so['cs_namespace']}{suffix}.csproj", + dst / f"{sn['cs_namespace']}{suffix}.csproj")] + pairs.append((ROOT / "python" / so["python_module"], ROOT / "python" / sn["python_module"])) + for lang in SKILL_LANGUAGES: + pairs.append((ROOT / "skills" / f"{so['product']}-{lang}", ROOT / "skills" / f"{sn['product']}-{lang}")) + pairs = [(s, d) for s, d in pairs if s != d] + for s, d in pairs: + if d.exists() and not s.name.endswith(".csproj"): + rel = d.relative_to(ROOT).as_posix() + tracked = git("ls-files", "--", rel).strip() + hint = "" if tracked else f" (only untracked files: `git clean -fdX {rel}` removes the ignored ones)" + sys.exit(f"nothing written: cannot move {s.relative_to(ROOT).as_posix()} to {rel}, which exists{hint}") + return pairs + + +def move(src: Path, dst: Path) -> None: + if src == dst or not src.exists(): + return + dst.parent.mkdir(parents=True, exist_ok=True) + git("mv", str(src.relative_to(ROOT)), str(dst.relative_to(ROOT))) + # Remove the directories the move left empty. + d = src.parent + while d != ROOT and d.exists() and not any(d.iterdir()): + d.rmdir() + d = d.parent + + +def main() -> None: + ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + for key in naming.NAMES: + ap.add_argument(f"--{key}", help=f"now {naming.NAMES[key]!r}") + ap.add_argument("--tables", help="naming-table directory for the dispatch-table generators") + a = ap.parse_args() + old = dict(naming.NAMES) + new = {k: (getattr(a, k) or v) for k, v in old.items()} + so, sn = naming.spellings(old), naming.spellings(new) + + if git("status", "--porcelain", "--untracked-files=no").strip(): + sys.exit("the working tree has uncommitted changes; commit or stash them first") + + planned = moves(so, sn) + files = git("ls-files").splitlines() + changed = rewrite_files(files, so, sn) + print(f"rewrote {len(changed)} files") + + if new != old: + if so["cs_namespace"] != sn["cs_namespace"] and shutil.which("dotnet"): + subprocess.run(["dotnet", "build-server", "shutdown"], cwd=ROOT, capture_output=True) + for src, dst in planned: + move(src, dst) + cfg = ROOT / "tools" / "naming.py" + text = cfg.read_text(encoding="utf-8") + for key, value in new.items(): + text, n = re.subn(rf'^( "{key}": )"[^"]*"', lambda m: f'{m.group(1)}"{value}"', text, flags=re.M) + if n != 1: + sys.exit(f"tools/naming.py: no single NAMES entry {key!r} to update") + cfg.write_bytes(text.encode("utf-8")) + print("moved the folders; NAMES:", {k: v for k, v in new.items() if v != old[k]}) + + for g in GENERATORS: + cmd = [sys.executable, str(ROOT / "tools" / f"{g}.py")] + if a.tables and g in TABLE_GENERATORS: + cmd += ["--tables", a.tables] + r = subprocess.run(cmd, cwd=ROOT, capture_output=True, text=True) + if r.returncode != 0: + sys.exit(f"{g} failed:\n{r.stdout}{r.stderr}") + print(f"regenerated ({len(GENERATORS)} generators)") + + # A replaced name that is still the spelling of another name (the product, when only the + # distribution changed) is expected to remain. + replaced = sorted({so[k] for k in so if so[k] != sn[k] and k != "java_dir"} - set(sn.values()), + key=len, reverse=True) + for name in replaced: + # git grep exits 1 when nothing matches. + r = subprocess.run(["git", "grep", "-n", "-F", name, "--", ".", *(f":!{s}" for s in SKIP_FILES)], + cwd=ROOT, capture_output=True, text=True) + if r.stdout.strip(): + print(f"\nremaining occurrences of {name!r} (judge each):") + print(r.stdout.rstrip()) + + +if __name__ == "__main__": + main() diff --git a/tools/third_party_notices.py b/tools/third_party_notices.py new file mode 100644 index 0000000..f5ff939 --- /dev/null +++ b/tools/third_party_notices.py @@ -0,0 +1,141 @@ +"""Write the third-party notices for the binding library as built for one target. + +Usage: python tools/third_party_notices.py + +The binding library (abi/) compiles in the SysML Toolkit's crates, the crates they depend on and +the Rust standard library. Their licenses (MIT, Apache-2.0, BSD-3-Clause, Unlicense, ...) ask for +their notices in binary distributions, so every package that carries the library carries two files: + +- THIRD-PARTY-NOTICES.txt: each compiled-in crate with its version, license and repository, and + the license files the crate itself ships, each distinct text once with the crates it covers. + The crates are the normal (not build or dev) dependencies of the library for ``, from + `cargo metadata --filter-platform`; proc-macro crates run at build time and are not included. + The SysML Toolkit's crates carry the SysML Toolkit's LICENSE. +- RUST-STANDARD-LIBRARY-NOTICES.html: the Rust project's own notices for the standard library and + its dependencies, as the toolchain that built the library ships them + (`/share/doc/rust/COPYRIGHT-library.html`, part of the rustc component). + +A crate without a license file, or a toolchain without the notice, stops the build. +""" +from __future__ import annotations + +import json +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +ABI = ROOT / "abi" +LICENSE_PREFIXES = ("license", "licence", "copying", "copyright", "notice", "unlicense") + + +def metadata(target: str) -> dict: + out = subprocess.run( + ["cargo", "metadata", "--format-version", "1", "--locked", "--filter-platform", target], + cwd=ABI, check=True, capture_output=True, text=True, encoding="utf-8", + ).stdout + return json.loads(out) + + +def shipped_packages(meta: dict) -> list[dict]: + """The packages whose code is compiled into the library: the normal-dependency closure of + the library's own package, without it. A proc-macro crate runs in the compiler; neither it + nor its own dependencies end up in the library, so the walk stops there.""" + packages = {p["id"]: p for p in meta["packages"]} + nodes = {n["id"]: n for n in meta["resolve"]["nodes"]} + root = meta["resolve"]["root"] + + def proc_macro(pid: str) -> bool: + return all("proc-macro" in t["kind"] for t in packages[pid]["targets"]) + + seen, stack = set(), [root] + while stack: + pid = stack.pop() + if pid in seen or proc_macro(pid): + continue + seen.add(pid) + for dep in nodes[pid]["deps"]: + if any(k["kind"] is None for k in dep["dep_kinds"]): + stack.append(dep["pkg"]) + seen.discard(root) + return sorted((packages[pid] for pid in seen), key=lambda p: (p["name"], p["version"])) + + +def license_files(p: dict) -> list[Path]: + """The license files a crate ships in its own directory (and its `license-file`, if set).""" + home = Path(p["manifest_path"]).parent + files = {f for f in home.iterdir() if f.is_file() and f.name.lower().startswith(LICENSE_PREFIXES)} + if p.get("license_file"): + files.add(home / p["license_file"]) + return sorted(files) + + +def toolkit_root(p: dict) -> Path: + """The sysml-toolkit checkout a path-dependency crate lives in (`/crates//Cargo.toml`).""" + return Path(p["manifest_path"]).parents[2] + + +def text_of(path: Path) -> str: + return path.read_text(encoding="utf-8", errors="replace").replace("\r\n", "\n").strip() + "\n" + + +def notices(target: str) -> str: + meta = metadata(target) + shipped = shipped_packages(meta) + toolkit = [p for p in shipped if p["source"] is None] + crates = [p for p in shipped if p["source"] is not None] + + texts: dict[str, list[str]] = {} # license text -> what it covers + lines = [ + f"Third-party software in the SysML v2 SDK's binding library ({target})", + "", + "The binding library compiles in the software below. Each part stays under its own license,", + "whose text follows the list. The Rust standard library's notices are in", + "RUST-STANDARD-LIBRARY-NOTICES.html beside this file.", + "", + ] + if toolkit: + root = toolkit_root(toolkit[0]) + names = ", ".join(f"{p['name']} {p['version']}" for p in toolkit) + lines += ["The SysML Toolkit:", f" {names}", f" license: {toolkit[0].get('license') or 'see LICENSE'}", ""] + for name in ("LICENSE", "NOTICE"): + if (root / name).is_file(): + texts.setdefault(text_of(root / name), []).append(f"the SysML Toolkit ({name})") + lines.append("Rust crates:") + for p in crates: + files = license_files(p) + if not files: + raise SystemExit(f"{p['name']} {p['version']}: no license file in {Path(p['manifest_path']).parent}") + repo = p.get("repository") or "" + lines.append(f" {p['name']} {p['version']} ({p.get('license') or 'see its license file'}) {repo}".rstrip()) + for f in files: + texts.setdefault(text_of(f), []).append(f"{p['name']} {p['version']} ({f.name})") + lines.append("") + for text, covers in texts.items(): + lines += ["=" * 100, "Applies to: " + "; ".join(covers), "=" * 100, "", text] + return "\n".join(lines) + + +def rust_std_notice() -> Path: + sysroot = subprocess.run(["rustc", "--print", "sysroot"], cwd=ABI, check=True, capture_output=True, + text=True).stdout.strip() + path = Path(sysroot) / "share" / "doc" / "rust" / "COPYRIGHT-library.html" + if not path.is_file(): + raise SystemExit(f"the toolchain has no standard-library notice at {path}") + return path + + +def write(target: str, out: Path) -> list[Path]: + out.mkdir(parents=True, exist_ok=True) + notice = out / "THIRD-PARTY-NOTICES.txt" + notice.write_text(notices(target), encoding="utf-8", newline="\n") + std = out / "RUST-STANDARD-LIBRARY-NOTICES.html" + std.write_bytes(rust_std_notice().read_bytes()) + return [notice, std] + + +if __name__ == "__main__": + if len(sys.argv) != 3: + raise SystemExit("usage: python tools/third_party_notices.py ") + for f in write(sys.argv[1], Path(sys.argv[2])): + print(f) diff --git a/tools/toolkit_figures.py b/tools/toolkit_figures.py new file mode 100644 index 0000000..5b2913b --- /dev/null +++ b/tools/toolkit_figures.py @@ -0,0 +1,153 @@ +"""Measure what the pinned SysML Toolkit release answers, and write the figures where this +repository states them. + +Usage: python tools/toolkit_figures.py [--toolkit DIR] [--write] + +Measures, with the binding library built (abi/target/release) and the sysml-toolkit checkout +beside this repository (../sysml-toolkit, or --toolkit), whose SysML-v2-Release submodule holds the +specification's Annex A model and the standard library: + + - every property of every element of the Annex A model read through the SysML Toolkit, by + outcome (value, empty, refused, unresolved), counted as python/tests/test_annex_a.py counts + them, and among them the references that do not resolve (relationships whose `target` does + not); + - the operation declarations the SysML Toolkit runs: those its operation entry point has a body + for (the declaration ids in the `handler` table of crates/sysmlv2-model/src/json/operations.rs), + out of the declarations in metamodel.json. + +Prints them, and what differs from the figures in python/tests/toolkit_gaps.py (the reads by +outcome), STATUS.md (elements, reads, the outcome table, the operations the SysML Toolkit runs) +and CHANGELOG.md (the share of reads refused, the operations the SysML Toolkit runs, the +references that do not resolve). With --write, rewrites those figures in place; nothing else in +the files changes. Run it after moving the SysML Toolkit pin +(abi/README.md, "Moving to a newer SysML Toolkit release"). +""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from collections import Counter +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(Path(__file__).resolve().parent)) +sys.path.insert(0, str(ROOT / "python")) + +from naming import PYTHON_MODULE # noqa: E402 + +OUTCOMES = ("value", "empty", "refused", "unresolved") + + +def reads(toolkit: Path) -> tuple[int, Counter, int]: + """Elements of the Annex A model, its property reads by outcome, and its references that do not + resolve (relationships whose target does not).""" + import importlib + + sdk = importlib.import_module(PYTHON_MODULE) + base = importlib.import_module(PYTHON_MODULE + ".base") + release = toolkit / "spec-refs" / "SysML-v2-Release" + model_file = release / "sysml" / "src" / "examples" / "Vehicle Example" / "SysML v2 Spec Annex A SimpleVehicleModel.sysml" + model = sdk.Model.from_toolkit(sources={model_file.name: model_file.read_text(encoding="utf-8")}, + library_dir=str(release / "sysml.library")) + elements = model.elements_of_type(base.Element) + counts: Counter = Counter() + unresolved_targets = 0 + for e in elements: + for name in sorted({n for c in type(e).__mro__ for n, d in vars(c).items() if isinstance(d, base.P)}): + try: + v = getattr(e, name) + except sdk.NotImplementedInToolkit: + counts["refused"] += 1 + continue + except sdk.UnresolvedReference: + counts["unresolved"] += 1 + unresolved_targets += name == "target" + continue + counts["empty" if v in (None, [], "") else "value"] += 1 + return len(elements), counts, unresolved_targets + + +def operations(toolkit: Path) -> tuple[int, int]: + """(declarations the SysML Toolkit has a body for, declarations in the metamodel table).""" + src = (toolkit / "crates" / "sysmlv2-model" / "src" / "json" / "operations.rs").read_text(encoding="utf-8") + start = src.index("\nfn handler(") + body = src[start:src.index("\n}\n", start)] + run = set(re.findall(r'"([A-Z][A-Za-z]*(?:-[A-Za-z]+)+-[A-Za-z]+_[^"]*)"', body)) + table = json.loads((ROOT / "metamodel.json").read_text(encoding="utf-8")) + declared = sum(len(c.get("ops", [])) for c in table["classes"].values()) + return len(run), declared + + +def thousands(n: int) -> str: + return f"{n:,}" + + +def rewrite(path: Path, edits: list[tuple[str, str, str]], write: bool) -> list[str]: + """Apply (what, pattern, replacement) regex edits; each pattern must match exactly once.""" + text = path.read_text(encoding="utf-8") + changed = [] + for what, pattern, replacement in edits: + new, n = re.subn(pattern, replacement, text, flags=re.S) + if n != 1: + sys.exit(f"{path.name}: expected one match for {what}, found {n}") + if new != text: + changed.append(f"{path.relative_to(ROOT).as_posix()}: {what}") + text = new + if write and changed: + path.write_bytes(text.encode("utf-8")) + return changed + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--toolkit", type=Path, default=ROOT.parent / "sysml-toolkit") + ap.add_argument("--write", action="store_true", help="rewrite the figures in place") + a = ap.parse_args() + + elements, counts, references = reads(a.toolkit) + total = sum(counts.values()) + run, declared = operations(a.toolkit) + share = f"{100 * counts['refused'] / total:.1f}" + print(f"Annex A: {elements} elements, {total} reads: " + + ", ".join(f"{o} {counts[o]}" for o in OUTCOMES) + f" ({share} % refused)") + print(f"references that do not resolve: {references}") + print(f"operations: the SysML Toolkit runs {run} of the {declared} declarations") + + gaps = "{" + ", ".join(f'"{o}": {counts[o]}' for o in OUTCOMES) + "}" + changed = rewrite(ROOT / "python" / "tests" / "toolkit_gaps.py", [ + ("the reads by outcome", r'(\("\*", "reads"\): \()\{[^}]*\}', r"\g<1>" + gaps), + ], a.write) + changed += rewrite(ROOT / "STATUS.md", [ + ("the elements and reads", + r"every one of its [\d,]+ elements was read through the SysML Toolkit \([\d,]+ reads\)", + f"every one of its {thousands(elements)} elements was read through the SysML Toolkit " + f"({thousands(total)} reads)"), + ("the values", r"(\| a value \| )[\d,]+( \|)", rf"\g<1>{thousands(counts['value'])}\g<2>"), + ("the empty reads", r"(\| empty \(no value in the model, or an empty list\) \| )[\d,]+( \|)", + rf"\g<1>{thousands(counts['empty'])}\g<2>"), + ("the refusals", r"(\| refused: the SysML Toolkit cannot derive the member completely yet \| )[\d,]+( \|)", + rf"\g<1>{thousands(counts['refused'])}\g<2>"), + ("the unresolved references", r"(\| a reference that does not resolve \| )[\d,]+( \|)", + rf"\g<1>{thousands(counts['unresolved'])}\g<2>"), + ("the operations the SysML Toolkit runs", r"(the SysML Toolkit evaluates)(\s+)\d+(\s+of the)\s+\d+(\s+operation declarations)", + rf"\g<1>\g<2>{run}\g<3> {declared}\g<4>"), + ], a.write) + changed += rewrite(ROOT / "CHANGELOG.md", [ + ("the share of reads refused", r"(model with the library, )[\d.]+( % of all property reads are refused)", + rf"\g<1>{share}\g<2>"), + ("the operations the SysML Toolkit runs", r"(\*\*A part of the specification operations is evaluated:\*\*)(\s+)\d+(\s+of the)\s+\d+(\s+operation declarations)", + rf"\g<1>\g<2>{run}\g<3> {declared}\g<4>"), + ("the references that do not resolve", r"(\*\*Some references do not resolve\*\*.*?\()\d+( references there\))", + rf"\g<1>{references}\g<2>"), + ], a.write) + if changed: + print(("rewrote:" if a.write else "differs (run with --write to rewrite):") + "\n " + "\n ".join(changed)) + else: + print("every stated figure matches") + + +if __name__ == "__main__": + main() diff --git a/tools/toolkit_needs.py b/tools/toolkit_needs.py new file mode 100644 index 0000000..5fdaa85 --- /dev/null +++ b/tools/toolkit_needs.py @@ -0,0 +1,151 @@ +"""Which property reads the SDK's own examples need, and what the SysML Toolkit's checked reader +answers for exactly those reads. + +1. Runs the Python tutorial and the query demos on the payload path (JSON exports of the models, + made by the SysML Toolkit with the library loaded), logging every (element id, property) they + read. For Annex A it first exports the model with the SysML Toolkit, then runs the demo's + Annex A report on that payload. +2. Opens each model through the SysML Toolkit backend (the binding library as built, i.e. with the + checked reader), loaded by file name with the library, so element ids equal the payload's, and + reads the same properties of the same elements. +3. Prints, per property and outcome, how many reads and which programs; reads on library elements + are counted apart (the SysML Toolkit backend lists the model's own elements only). + +Measurement only: nothing here changes what the SDK answers. +Usage: python tools/toolkit_needs.py +(run from the SDK root after `python tools/export_example.py --library `) +""" +import collections +import json +import runpy +import sys +from pathlib import Path + +ROOT, LIB, ANNEX, OUT = Path(sys.argv[1]), sys.argv[2], Path(sys.argv[3]), Path(sys.argv[4]) +sys.path.insert(0, str(ROOT / "python")) +sys.path.insert(0, str(ROOT / "examples" / "queries" / "python")) + +from sysml import Model, NotImplementedInToolkit, PayloadLibrary, base # noqa: E402 +from sysml.base import UnresolvedReference # noqa: E402 + +reads = collections.OrderedDict() # (model, id, prop) -> {metaclass, library, programs} +current = {"program": None, "model": None, "ids": {}} +orig_get = base.PayloadBackend.get + + +def logging_get(self, handle, prop): + el = self._require(handle) + model = current["ids"].get(id(self)) + entry = reads.setdefault((model, handle, prop), {"metaclass": el["@type"], "library": handle not in self._by_id, + "programs": set()}) + entry["programs"].add(current["program"]) + return orig_get(self, handle, prop) + + +base.PayloadBackend.get = logging_get +orig_init = base.PayloadBackend.__init__ + + +def tagging_init(self, elements, library=None): + orig_init(self, elements, library) + current["ids"][id(self)] = current["model"] + + +base.PayloadBackend.__init__ = tagging_init + +library = PayloadLibrary(json.loads((ROOT / "examples" / "sysml.library.full.json").read_text(encoding="utf-8"))) + + +def run(program, model_hint, argv): + current["program"], current["model"] = program, model_hint + sys.argv = argv + try: + runpy.run_path(argv[0], run_name="__main__") + except SystemExit: + pass + + +# The tutorial (vehicle) and the query demos (pumps, drones), on the payload path. The demo loads +# pumps first, then drones; the model tag follows the file the backend was built from. +run("tutorial", "vehicle.sysml", [str(ROOT / "examples/python/tutorial.py"), "--payload"]) +import importlib.util # noqa: E402 + +_spec = importlib.util.spec_from_file_location("query_demo", ROOT / "examples/queries/python/demo.py") +demo = importlib.util.module_from_spec(_spec) # the query demo module, for its loaders and Annex A report +_spec.loader.exec_module(demo) + +orig_load = demo.load + + +def tagged_load(name, *, payload, library): + current["model"] = f"{name}.sysml" + return orig_load(name, payload=payload, library=library) + + +demo.load = tagged_load +current["program"] = "queries" +demo.examples(True, None) + +# Annex A: the SysML Toolkit's closure export as the payload, then the demo's Annex A report on it. +text = ANNEX.read_text(encoding="utf-8") +toolkit_annex = Model.from_toolkit(sources={ANNEX.name: text}, library_dir=LIB) +payload = json.loads(toolkit_annex._backend.full_json(closures=True)) +current["program"], current["model"] = "queries (Annex A)", ANNEX.name +vehicle = Model.from_full_json(payload, library=library) +machine = vehicle.resolve("SimpleVehicleModel::Definitions::PartDefinitions::Vehicle::vehicleStates") +keys = [] +q = demo.q +for transition in q.transitions_of(machine): + key, _ = q.trigger_of(transition) + if key is not None and key != "at" and key not in keys: + keys.append(key) +demo.report_states(machine, [("A", None, []), ("B", None, [("brakePedalDepressed", False)]), ("C", keys, [])], + (None, [])) + +# The same reads through the SysML Toolkit backend. +sources = {"vehicle.sysml": ROOT / "examples/vehicle.sysml", "pumps.sysml": ROOT / "examples/queries/models/pumps.sysml", + "drones.sysml": ROOT / "examples/queries/models/drones.sysml", ANNEX.name: ANNEX} +toolkit_models = {} +for name, path in sources.items(): + m = Model.from_toolkit(sources={name: path.read_text(encoding="utf-8")}, library_dir=LIB) + by_id = {m._backend.element_id(h): h for h in m._backend.all_handles()} + toolkit_models[name] = (m, by_id) + +rows = collections.defaultdict(lambda: {"reads": 0, "programs": set(), "example": None}) +library_reads = collections.Counter() +missing = 0 +for (model, eid, prop), info in reads.items(): + if info["library"]: + library_reads[prop] += 1 + continue + m, by_id = toolkit_models[model] + h = by_id.get(eid) + if h is None: + missing += 1 + continue + try: + m._backend.get(h, prop) + outcome = "answered" + except NotImplementedInToolkit as e: + outcome = "refused: " + str(e).split(": ", 1)[-1] + except UnresolvedReference as e: + outcome = "unresolved" + row = rows[(prop, outcome)] + row["reads"] += 1 + row["programs"] |= info["programs"] + row["metaclasses"] = row.get("metaclasses", set()) | {info["metaclass"]} + row["example"] = row["example"] or f"{model} {eid[:8]} {info['metaclass']}" + +total = sum(r["reads"] for r in rows.values()) +answered = sum(r["reads"] for (p, o), r in rows.items() if o == "answered") +print(f"distinct reads on the models' own elements: {total} (answered {answered}); on library elements: " + f"{sum(library_reads.values())}; ids not found in the SysML Toolkit model: {missing}") +out = [] +for (prop, outcome), r in sorted(rows.items(), key=lambda kv: (kv[0][1] == "answered", -kv[1]["reads"], kv[0][0])): + if outcome != "answered": + print(f" {prop:28} {r['reads']:5} {outcome} [{', '.join(sorted(r['programs']))}] " + f"on {', '.join(sorted(r['metaclasses']))[:80]}; e.g. {r['example']}") + out.append({"property": prop, "outcome": outcome, "reads": r["reads"], "programs": sorted(r["programs"]), + "metaclasses": sorted(r["metaclasses"]), "example": r["example"]}) +print("library element reads by property:", dict(library_reads.most_common(12))) +OUT.write_text(json.dumps(out, indent=1), encoding="utf-8") diff --git a/tools/verify_pin.py b/tools/verify_pin.py new file mode 100644 index 0000000..3b97e19 --- /dev/null +++ b/tools/verify_pin.py @@ -0,0 +1,43 @@ +"""Verify every vendored input against its vendor/*/PIN.json. + +Hashes are SHA-256 over newline-normalized bytes (CRLF -> LF), so the +pins are stable regardless of the platform or checkout that produced +the vendored copies. Run by CI before the regenerate-and-diff drift +check. +""" + +import hashlib +import json +import sys +from pathlib import Path + +VENDOR = Path(__file__).resolve().parent.parent / "vendor" + + +def normalized_sha256(path: Path) -> str: + return hashlib.sha256( + path.read_bytes().replace(b"\r\n", b"\n") + ).hexdigest() + + +def main(): + bad, total = [], 0 + for pin_file in sorted(VENDOR.glob("*/PIN.json")): + pin = json.loads(pin_file.read_text(encoding="utf-8")) + for rel, want in pin["files"].items(): + total += 1 + got = normalized_sha256(pin_file.parent / rel) + if got != want: + bad.append(f"{pin_file.parent.name}/{rel}: {got} != pinned {want}") + src = pin.get("sourceCommit", pin.get("version", "?")) + print(f"PIN {pin_file.parent.name}: {len(pin['files'])} files @ {src[:12]}") + if bad: + sys.exit( + "vendored inputs do not match their PIN.json (re-vendor " + "deliberately and update the pin):\n " + "\n ".join(bad) + ) + print(f"PIN OK: {total} vendored files match") + + +if __name__ == "__main__": + main() diff --git a/ts/check_types.ts b/ts/check_types.ts new file mode 100644 index 0000000..e1b0656 --- /dev/null +++ b/ts/check_types.ts @@ -0,0 +1,58 @@ +// Compile-time gate: the generated interface hierarchy must type-check, +// including every multiple-inheritance diamond, and the ClassMap-keyed +// guard must narrow. Run: npx -p typescript tsc --noEmit --strict check_types.ts +import type { + ActionUsage, AnyElement, Classifier, Feature, FlowUsage, Namespace, + PartDefinition, PartUsage, TransitionUsage, Type, TypeMap, Usage, +} from "./classes.d.ts"; + +declare function is(el: AnyElement, kind: K): el is TypeMap[K]; +declare const el: AnyElement; + +if (is(el, "PartDefinition")) { + const d: PartDefinition = el; // narrowing works + const c: Classifier = d; // upcast through the hierarchy + const t: Type = d; + const n: Namespace = d; + const feats: Feature[] = d.ownedFeature; // element-typed collection + const name: string | null = d.declaredName; // typed nullable scalar + const abstract: boolean | null = d.isAbstract; + void [c, t, n, feats, name, abstract]; +} + +if (is(el, "FlowUsage")) { + // the diamond that broke Python C3: Connector × Step × Usage + const u: Usage = el; + const f: FlowUsage = el; + void [u, f]; +} + +if (is(el, "TransitionUsage")) { + const src: ActionUsage | null = el.source; // element-typed reference + void src; +} + +if (is(el, "Classifier")) { + const c: Classifier = el; // abstract kinds narrow too + const t: Type = c; + void t; +} + +declare const pu: PartUsage; +const asUsage: Usage = pu; // interface extends chain +// @ts-expect-error — Definition is not assignable from PartUsage +const notDef: PartDefinition = pu; +void [asUsage, notDef]; + +// A payload model with the standard library as JSON: the library is optional and shared. +import type { Model, PayloadLibrary } from "./index.d.ts"; +declare const ModelClass: typeof Model; +declare const LibraryClass: typeof PayloadLibrary; +declare const elements: Record[]; +const library: PayloadLibrary = new LibraryClass(elements); +const libraryCount: number = library.size; +const withLibrary: Model = ModelClass.fromFullJson(elements, { library }); +const withoutLibrary: Model = ModelClass.fromFullJson(elements); +// @ts-expect-error — the library is a PayloadLibrary, not an element array +ModelClass.fromFullJson(elements, { library: elements }); +void [libraryCount, withLibrary, withoutLibrary]; diff --git a/ts/classes.d.ts b/ts/classes.d.ts new file mode 100644 index 0000000..9db7328 --- /dev/null +++ b/ts/classes.d.ts @@ -0,0 +1,19490 @@ +// Generated — do not edit. Source: metamodel.json +// The metaclass hierarchy as interfaces (multiple extends is legal +// in TS); runtime representation is a Proxy — narrow with is(). +// Unresolved references THROW UnresolvedReference at access time +// (the SDK requires resolved models), so reference types are clean. + +// Any element: the runtime members, and the members of the metaclass Element, which +// every element has. +export interface AnyElement { + readonly $id: string; // runtime members are $-prefixed: + readonly $handle: string; // spec camelCase can never collide + readonly $metaclass: string; + $raw(prop: string): unknown; + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface AcceptActionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly payloadArgument: Expression | null; + readonly payloadParameter: ReferenceUsage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly receiverArgument: Expression | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + isTriggerAction(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ActionDefinition extends OccurrenceDefinition, Behavior { + readonly action: ActionUsage[]; + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ActionUsage extends Step, OccurrenceUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ActorMembership extends ParameterMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedActorParameter: PartUsage | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberParameter: Feature | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + parameterDirection(): string | null; + path(): string | null; +} + +export interface AllocationDefinition extends ConnectionDefinition { + readonly aliasIds: string[]; + readonly allocation: AllocationUsage[]; + readonly associationEnd: Feature[]; + readonly connectionEnd: Usage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AllocationUsage extends ConnectionUsage { + readonly aliasIds: string[]; + readonly allocationDefinition: AllocationDefinition[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectionDefinition: AssociationStructure[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly partDefinition: PartDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AnalysisCaseDefinition extends CaseDefinition { + readonly action: ActionUsage[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly calculation: CalculationUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly objectiveRequirement: RequirementUsage | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly resultExpression: Expression | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AnalysisCaseUsage extends CaseUsage { + readonly actionDefinition: Behavior[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly analysisCaseDefinition: AnalysisCaseDefinition | null; + readonly behavior: Behavior[]; + readonly calculationDefinition: Function | null; + readonly caseDefinition: CaseDefinition | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly objectiveRequirement: RequirementUsage | null; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly resultExpression: Expression | null; + readonly shortName: string | null; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AnnotatingElement extends AnyElement { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement[]; + readonly annotation: Annotation[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotatingRelationship: Annotation[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningAnnotatingRelationship: Annotation | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Annotation extends Relationship { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement | null; + readonly annotatingElement: AnnotatingElement | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotatingElement: AnnotatingElement | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningAnnotatedElement: AnyElement | null; + readonly owningAnnotatingElement: AnnotatingElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface AssertConstraintUsage extends Invariant, ConstraintUsage { + readonly aliasIds: string[]; + readonly assertedConstraint: ConstraintUsage | null; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly constraintDefinition: Predicate | null; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isNegated: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AssignmentActionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly referent: Feature | null; + readonly shortName: string | null; + readonly targetArgument: Expression | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly valueExpression: Expression | null; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Association extends Classifier, Relationship { + readonly aliasIds: string[]; + readonly associationEnd: Feature[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AssociationStructure extends Structure, Association { + readonly aliasIds: string[]; + readonly associationEnd: Feature[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AttributeDefinition extends DataType, Definition { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface AttributeUsage extends Usage { + readonly aliasIds: string[]; + readonly attributeDefinition: DataType[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Behavior extends Class { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface BindingConnector extends Connector { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface BindingConnectorAsUsage extends BindingConnector, ConnectorAsUsage { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface BooleanExpression extends Expression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface CalculationDefinition extends ActionDefinition, Function { + readonly action: ActionUsage[]; + readonly aliasIds: string[]; + readonly calculation: CalculationUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface CalculationUsage extends Expression, ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly calculationDefinition: Function | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface CaseDefinition extends CalculationDefinition { + readonly action: ActionUsage[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly calculation: CalculationUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly objectiveRequirement: RequirementUsage | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface CaseUsage extends CalculationUsage { + readonly actionDefinition: Behavior[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly calculationDefinition: Function | null; + readonly caseDefinition: CaseDefinition | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly objectiveRequirement: RequirementUsage | null; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Class extends Classifier { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Classifier extends Type { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface CollectExpression extends OperatorExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly operator: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Comment extends AnnotatingElement { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement[]; + readonly annotation: Annotation[]; + readonly body: string | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly locale: string | null; + readonly name: string | null; + readonly ownedAnnotatingRelationship: Annotation[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningAnnotatingRelationship: Annotation | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ConcernDefinition extends RequirementDefinition { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assumedConstraint: ConstraintUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly framedConcern: ConcernUsage[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly result: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConcernUsage extends RequirementUsage { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assumedConstraint: ConstraintUsage[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly concernDefinition: ConcernDefinition | null; + readonly constraintDefinition: Predicate | null; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly framedConcern: ConcernUsage[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly requirementDefinition: RequirementDefinition | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConjugatedPortDefinition extends PortDefinition { + readonly aliasIds: string[]; + readonly conjugatedPortDefinition: ConjugatedPortDefinition | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly originalPortDefinition: PortDefinition | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedPortConjugator: PortConjugation | null; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConjugatedPortTyping extends FeatureTyping { + readonly aliasIds: string[]; + readonly conjugatedPortDefinition: ConjugatedPortDefinition | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly portDefinition: PortDefinition | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type | null; + readonly typedFeature: Feature | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Conjugation extends Relationship { + readonly aliasIds: string[]; + readonly conjugatedType: Type | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly originalType: Type | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ConnectionDefinition extends AssociationStructure, PartDefinition { + readonly aliasIds: string[]; + readonly associationEnd: Feature[]; + readonly connectionEnd: Usage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConnectionUsage extends PartUsage, ConnectorAsUsage { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectionDefinition: AssociationStructure[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly partDefinition: PartDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Connector extends Feature, Relationship { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConnectorAsUsage extends Usage, Connector { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConstraintDefinition extends OccurrenceDefinition, Predicate { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConstraintUsage extends OccurrenceUsage, BooleanExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly constraintDefinition: Predicate | null; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ConstructorExpression extends InstantiationExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ControlNode extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + multiplicityHasBounds(mult: Multiplicity | null, lower: number | null, upper: number | null): boolean | null; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface CrossSubsetting extends Subsetting { + readonly aliasIds: string[]; + readonly crossedFeature: Feature | null; + readonly crossingFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly subsettedFeature: Feature | null; + readonly subsettingFeature: Feature | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface DataType extends Classifier { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface DecisionNode extends ControlNode { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + multiplicityHasBounds(mult: Multiplicity | null, lower: number | null, upper: number | null): boolean | null; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Definition extends Classifier { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Dependency extends Relationship { + readonly aliasIds: string[]; + readonly client: AnyElement[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly supplier: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Differencing extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly typeDifferenced: Type | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Disjoining extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly disjoiningType: Type | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly typeDisjoined: Type | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Documentation extends Comment { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement[]; + readonly annotation: Annotation[]; + readonly body: string | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly documentedElement: AnyElement | null; + readonly elementId: string | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly locale: string | null; + readonly name: string | null; + readonly ownedAnnotatingRelationship: Annotation[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningAnnotatingRelationship: Annotation | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ElementFilterMembership extends OwningMembership { + readonly aliasIds: string[]; + readonly condition: Expression | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface EndFeatureMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface EnumerationDefinition extends AttributeDefinition { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly enumeratedValue: EnumerationUsage[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface EnumerationUsage extends AttributeUsage { + readonly aliasIds: string[]; + readonly attributeDefinition: DataType[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly enumerationDefinition: EnumerationDefinition | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface EventOccurrenceUsage extends OccurrenceUsage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly eventOccurrence: OccurrenceUsage | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ExhibitStateUsage extends PerformActionUsage, StateUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly doAction: ActionUsage | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly entryAction: ActionUsage | null; + readonly eventOccurrence: OccurrenceUsage | null; + readonly exhibitedState: StateUsage | null; + readonly exitAction: ActionUsage | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isParallel: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly performedAction: ActionUsage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly stateDefinition: Behavior[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + isSubstateUsage(isParallel: boolean | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Expose extends Import { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importOwningNamespace: Namespace | null; + readonly importedElement: AnyElement | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isImportAll: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isRecursive: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Expression extends Step { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Feature extends Type { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FeatureChainExpression extends OperatorExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly operator: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly targetFeature: Feature | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + sourceTargetFeature(): Feature | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FeatureChaining extends Relationship { + readonly aliasIds: string[]; + readonly chainingFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly featureChained: Feature | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface FeatureInverting extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly featureInverted: Feature | null; + readonly invertingFeature: Feature | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface FeatureMembership extends OwningMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface FeatureReferenceExpression extends Expression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly referent: Feature | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FeatureTyping extends Specialization { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type | null; + readonly typedFeature: Feature | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface FeatureValue extends OwningMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly featureWithValue: Feature | null; + readonly isDefault: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isInitial: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly value: Expression | null; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Flow extends Connector, Step { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly flowEnd: FlowEnd[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly interaction: Interaction[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly payloadFeature: PayloadFeature | null; + readonly payloadType: Classifier[]; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly sourceOutputFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly targetInputFeature: Feature | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FlowDefinition extends ActionDefinition, Interaction { + readonly action: ActionUsage[]; + readonly aliasIds: string[]; + readonly associationEnd: Feature[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly flowEnd: Usage[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly step: Step[]; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FlowEnd extends Feature { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FlowUsage extends ConnectorAsUsage, Flow, ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly association: Association[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly flowDefinition: Interaction[]; + readonly flowEnd: FlowEnd[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly interaction: Interaction[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly payloadFeature: PayloadFeature | null; + readonly payloadType: Classifier[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly sourceOutputFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly targetInputFeature: Feature | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ForLoopActionUsage extends LoopActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly bodyAction: ActionUsage | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly loopVariable: ReferenceUsage | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly seqArgument: Expression | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ForkNode extends ControlNode { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + multiplicityHasBounds(mult: Multiplicity | null, lower: number | null, upper: number | null): boolean | null; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface FramedConcernMembership extends RequirementConstraintMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly kind: string | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedConcern: ConcernUsage | null; + readonly ownedConstraint: ConstraintUsage | null; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly referencedConcern: ConcernUsage | null; + readonly referencedConstraint: ConstraintUsage | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Function extends Behavior { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface IfActionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly elseAction: ActionUsage | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly ifArgument: Expression | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly thenAction: ActionUsage | null; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Import extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importOwningNamespace: Namespace | null; + readonly importedElement: AnyElement | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isImportAll: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isRecursive: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface IncludeUseCaseUsage extends UseCaseUsage, PerformActionUsage { + readonly actionDefinition: Behavior[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly calculationDefinition: Function | null; + readonly caseDefinition: CaseDefinition | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly eventOccurrence: OccurrenceUsage | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly includedUseCase: UseCaseUsage[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly objectiveRequirement: RequirementUsage | null; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly performedAction: ActionUsage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly useCaseDefinition: UseCaseDefinition | null; + readonly useCaseIncluded: UseCaseUsage | null; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface IndexExpression extends OperatorExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly operator: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface InstantiationExpression extends Expression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Interaction extends Association, Behavior { + readonly aliasIds: string[]; + readonly associationEnd: Feature[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly step: Step[]; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface InterfaceDefinition extends ConnectionDefinition { + readonly aliasIds: string[]; + readonly associationEnd: Feature[]; + readonly connectionEnd: Usage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly interfaceEnd: PortUsage[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedType: Type[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceType: Type | null; + readonly target: AnyElement[]; + readonly targetType: Type[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface InterfaceUsage extends ConnectionUsage { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectionDefinition: AssociationStructure[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly interfaceDefinition: InterfaceDefinition[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly partDefinition: PartDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Intersecting extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly intersectingType: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly typeIntersected: Type | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Invariant extends BooleanExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isNegated: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface InvocationExpression extends InstantiationExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ItemDefinition extends Structure, OccurrenceDefinition { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ItemUsage extends OccurrenceUsage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface JoinNode extends ControlNode { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + multiplicityHasBounds(mult: Multiplicity | null, lower: number | null, upper: number | null): boolean | null; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LibraryPackage extends Package { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly filterCondition: Expression[]; + readonly importedMembership: Membership[]; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isStandard: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedImport: Import[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + includeAsMember(element: AnyElement | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + namesOf(element: AnyElement | null): string[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LiteralBoolean extends LiteralExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly value: boolean | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LiteralExpression extends Expression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LiteralInfinity extends LiteralExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LiteralInteger extends LiteralExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly value: number | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LiteralRational extends LiteralExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly value: number | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LiteralString extends LiteralExpression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly value: string | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface LoopActionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly bodyAction: ActionUsage | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Membership extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface MembershipExpose extends MembershipImport, Expose { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importOwningNamespace: Namespace | null; + readonly importedElement: AnyElement | null; + readonly importedMembership: Membership | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isImportAll: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isRecursive: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface MembershipImport extends Import { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importOwningNamespace: Namespace | null; + readonly importedElement: AnyElement | null; + readonly importedMembership: Membership | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isImportAll: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isRecursive: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface MergeNode extends ControlNode { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + multiplicityHasBounds(mult: Multiplicity | null, lower: number | null, upper: number | null): boolean | null; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Metaclass extends Structure { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface MetadataAccessExpression extends Expression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly referencedElement: AnyElement | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + metaclassFeature(): MetadataFeature | null; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface MetadataDefinition extends ItemDefinition, Metaclass { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface MetadataFeature extends AnnotatingElement, Feature { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement[]; + readonly annotation: Annotation[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly metaclass: Metaclass | null; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotatingRelationship: Annotation[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningAnnotatingRelationship: Annotation | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluateFeature(baseFeature: Feature | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSemantic(): boolean | null; + isSyntactic(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + syntaxElement(): AnyElement | null; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface MetadataUsage extends MetadataFeature, ItemUsage { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement[]; + readonly annotation: Annotation[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly metaclass: Metaclass | null; + readonly metadataDefinition: Metaclass | null; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotatingRelationship: Annotation[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningAnnotatingRelationship: Annotation | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluateFeature(baseFeature: Feature | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSemantic(): boolean | null; + isSyntactic(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + syntaxElement(): AnyElement | null; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Multiplicity extends Feature { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface MultiplicityRange extends Multiplicity { + readonly aliasIds: string[]; + readonly bound: Expression[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly lowerBound: Expression | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly upperBound: Expression | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + hasBounds(lower: number | null, upper: number | null): boolean | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + valueOfOp(bound: Expression | null): number | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Namespace extends AnyElement { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importedMembership: Membership[]; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedImport: Import[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + namesOf(element: AnyElement | null): string[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface NamespaceExpose extends Expose, NamespaceImport { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importOwningNamespace: Namespace | null; + readonly importedElement: AnyElement | null; + readonly importedNamespace: Namespace | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isImportAll: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isRecursive: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface NamespaceImport extends Import { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly importOwningNamespace: Namespace | null; + readonly importedElement: AnyElement | null; + readonly importedNamespace: Namespace | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isImportAll: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isRecursive: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface NullExpression extends Expression { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ObjectiveMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedObjectiveRequirement: RequirementUsage | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface OccurrenceDefinition extends Definition, Class { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface OccurrenceUsage extends Usage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface OperatorExpression extends InvocationExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly operator: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface OwningMembership extends Membership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Package extends Namespace { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly filterCondition: Expression[]; + readonly importedMembership: Membership[]; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedImport: Import[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + includeAsMember(element: AnyElement | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + namesOf(element: AnyElement | null): string[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ParameterMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberParameter: Feature | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + parameterDirection(): string | null; + path(): string | null; +} + +export interface PartDefinition extends ItemDefinition { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface PartUsage extends ItemUsage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly partDefinition: PartDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface PayloadFeature extends Feature { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface PerformActionUsage extends EventOccurrenceUsage, ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly eventOccurrence: OccurrenceUsage | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly performedAction: ActionUsage | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface PortConjugation extends Conjugation { + readonly aliasIds: string[]; + readonly conjugatedPortDefinition: ConjugatedPortDefinition | null; + readonly conjugatedType: Type | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly originalPortDefinition: PortDefinition | null; + readonly originalType: Type | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface PortDefinition extends Structure, OccurrenceDefinition { + readonly aliasIds: string[]; + readonly conjugatedPortDefinition: ConjugatedPortDefinition | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface PortUsage extends OccurrenceUsage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly portDefinition: PortDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Predicate extends Function { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Redefinition extends Subsetting { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly redefinedFeature: Feature | null; + readonly redefiningFeature: Feature | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly subsettedFeature: Feature | null; + readonly subsettingFeature: Feature | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ReferenceSubsetting extends Subsetting { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly referencedFeature: Feature | null; + readonly referencingFeature: Feature | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly subsettedFeature: Feature | null; + readonly subsettingFeature: Feature | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ReferenceUsage extends Usage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Relationship extends AnyElement { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface RenderingDefinition extends PartDefinition { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly rendering: RenderingUsage[]; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface RenderingUsage extends PartUsage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly partDefinition: PartDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly renderingDefinition: RenderingDefinition | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface RequirementConstraintMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly kind: string | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedConstraint: ConstraintUsage | null; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly referencedConstraint: ConstraintUsage | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface RequirementDefinition extends ConstraintDefinition { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assumedConstraint: ConstraintUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly framedConcern: ConcernUsage[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly result: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface RequirementUsage extends ConstraintUsage { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assumedConstraint: ConstraintUsage[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly constraintDefinition: Predicate | null; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly framedConcern: ConcernUsage[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly requirementDefinition: RequirementDefinition | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface RequirementVerificationMembership extends RequirementConstraintMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly kind: string | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedConstraint: ConstraintUsage | null; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRequirement: RequirementUsage | null; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly referencedConstraint: ConstraintUsage | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly verifiedRequirement: RequirementUsage | null; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ResultExpressionMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedResultExpression: Expression | null; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ReturnParameterMembership extends ParameterMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberParameter: Feature | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + parameterDirection(): string | null; + path(): string | null; +} + +export interface SatisfyRequirementUsage extends RequirementUsage, AssertConstraintUsage { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assertedConstraint: ConstraintUsage | null; + readonly assumedConstraint: ConstraintUsage[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly constraintDefinition: Predicate | null; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly framedConcern: ConcernUsage[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isNegated: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly requirementDefinition: RequirementDefinition | null; + readonly result: Feature | null; + readonly satisfiedRequirement: RequirementUsage | null; + readonly satisfyingFeature: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface SelectExpression extends OperatorExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly operator: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface SendActionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly payloadArgument: Expression | null; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly receiverArgument: Expression | null; + readonly senderArgument: Expression | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Specialization extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface StakeholderMembership extends ParameterMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberParameter: Feature | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedStakeholderParameter: PartUsage | null; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + parameterDirection(): string | null; + path(): string | null; +} + +export interface StateDefinition extends ActionDefinition { + readonly action: ActionUsage[]; + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly doAction: ActionUsage | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly entryAction: ActionUsage | null; + readonly exitAction: ActionUsage | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isParallel: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly state: StateUsage[]; + readonly step: Step[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface StateSubactionMembership extends FeatureMembership { + readonly action: ActionUsage | null; + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly kind: string | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface StateUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly doAction: ActionUsage | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly entryAction: ActionUsage | null; + readonly exitAction: ActionUsage | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isParallel: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly stateDefinition: Behavior[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + isSubstateUsage(isParallel: boolean | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Step extends Feature { + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Structure extends Class { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Subclassification extends Specialization { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningClassifier: Classifier | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly subclassifier: Classifier | null; + readonly superclassifier: Classifier | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface SubjectMembership extends ParameterMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberParameter: Feature | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSubjectParameter: Usage | null; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + parameterDirection(): string | null; + path(): string | null; +} + +export interface Subsetting extends Specialization { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly general: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeature: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly specific: Type | null; + readonly subsettedFeature: Feature | null; + readonly subsettingFeature: Feature | null; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Succession extends Connector { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface SuccessionAsUsage extends ConnectorAsUsage, Succession { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface SuccessionFlow extends Succession, Flow { + readonly aliasIds: string[]; + readonly association: Association[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly flowEnd: FlowEnd[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly interaction: Interaction[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly payloadFeature: PayloadFeature | null; + readonly payloadType: Classifier[]; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly sourceOutputFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly targetInputFeature: Feature | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface SuccessionFlowUsage extends SuccessionFlow, FlowUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly association: Association[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly connectorEnd: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly defaultFeaturingType: Type | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly flowDefinition: Interaction[]; + readonly flowEnd: FlowEnd[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly interaction: Interaction[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly payloadFeature: PayloadFeature | null; + readonly payloadType: Classifier[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly relatedFeature: Feature[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly sourceFeature: Feature | null; + readonly sourceOutputFeature: Feature | null; + readonly target: AnyElement[]; + readonly targetFeature: Feature[]; + readonly targetInputFeature: Feature | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface TerminateActionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly terminatedOccurrenceArgument: Expression | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface TextualRepresentation extends AnnotatingElement { + readonly aliasIds: string[]; + readonly annotatedElement: AnyElement[]; + readonly annotation: Annotation[]; + readonly body: string | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly language: string | null; + readonly name: string | null; + readonly ownedAnnotatingRelationship: Annotation[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningAnnotatingRelationship: Annotation | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly representedElement: AnyElement | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface TransitionFeatureMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly kind: string | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly transitionFeature: Step | null; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface TransitionUsage extends ActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly effectAction: ActionUsage[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly guardExpression: Expression[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly source: ActionUsage | null; + readonly succession: Succession | null; + readonly target: ActionUsage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly triggerAction: AcceptActionUsage[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + sourceFeature(): Feature | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + triggerPayloadParameter(): ReferenceUsage | null; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface TriggerInvocationExpression extends InvocationExpression { + readonly aliasIds: string[]; + readonly argument: Expression[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly instantiatedType: Type | null; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly kind: string | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + instantiatedTypeOp(): Type | null; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface Type extends Namespace { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface TypeFeaturing extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly featureOfType: Feature | null; + readonly featuringType: Type | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningFeatureOfType: Feature | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Unioning extends Relationship { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly typeUnioned: Type | null; + readonly unioningType: Type | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface Usage extends Feature { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface UseCaseDefinition extends CaseDefinition { + readonly action: ActionUsage[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly calculation: CalculationUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly includedUseCase: UseCaseUsage[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly objectiveRequirement: RequirementUsage | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface UseCaseUsage extends CaseUsage { + readonly actionDefinition: Behavior[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly calculationDefinition: Function | null; + readonly caseDefinition: CaseDefinition | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly includedUseCase: UseCaseUsage[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly objectiveRequirement: RequirementUsage | null; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly useCaseDefinition: UseCaseDefinition | null; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface VariantMembership extends OwningMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedVariantUsage: Usage | null; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface VerificationCaseDefinition extends CaseDefinition { + readonly action: ActionUsage[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly calculation: CalculationUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly objectiveRequirement: RequirementUsage | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly verifiedRequirement: RequirementUsage[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface VerificationCaseUsage extends CaseUsage { + readonly actionDefinition: Behavior[]; + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly calculationDefinition: Function | null; + readonly caseDefinition: CaseDefinition | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly objectiveRequirement: RequirementUsage | null; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly subjectParameter: Usage | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly verificationCaseDefinition: VerificationCaseDefinition | null; + readonly verifiedRequirement: RequirementUsage[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ViewDefinition extends PartDefinition { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly qualifiedName: string | null; + readonly satisfiedViewpoint: ViewpointUsage[]; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly view: ViewUsage[]; + readonly viewCondition: Expression[]; + readonly viewRendering: RenderingUsage | null; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ViewRenderingMembership extends FeatureMembership { + readonly aliasIds: string[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly isImplied: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isLibraryElement: boolean | null; + readonly memberElement: AnyElement | null; + readonly memberElementId: string | null; + readonly memberName: string | null; + readonly memberShortName: string | null; + readonly membershipOwningNamespace: Namespace | null; + readonly name: string | null; + readonly ownedAnnotation: Annotation[]; + readonly ownedElement: AnyElement[]; + readonly ownedMemberElement: AnyElement | null; + readonly ownedMemberElementId: string | null; + readonly ownedMemberFeature: Feature | null; + readonly ownedMemberName: string | null; + readonly ownedMemberShortName: string | null; + readonly ownedRelatedElement: AnyElement[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage | null; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelatedElement: AnyElement | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly qualifiedName: string | null; + readonly referencedRendering: RenderingUsage | null; + readonly relatedElement: AnyElement[]; + readonly shortName: string | null; + readonly source: AnyElement[]; + readonly target: AnyElement[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly visibility: string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + isDistinguishableFrom(other: Membership | null): boolean | null; + libraryNamespace(): Namespace | null; + path(): string | null; +} + +export interface ViewUsage extends PartUsage { + readonly aliasIds: string[]; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly exposedElement: AnyElement[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly itemDefinition: Structure[]; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly partDefinition: PartDefinition[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly satisfiedViewpoint: ViewpointUsage[]; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly viewCondition: Expression[]; + readonly viewDefinition: ViewDefinition | null; + readonly viewRendering: RenderingUsage | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + includeAsExposed(element: AnyElement | null): boolean | null; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ViewpointDefinition extends RequirementDefinition { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assumedConstraint: ConstraintUsage[]; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly expression: Expression[]; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly framedConcern: ConcernUsage[]; + readonly importedMembership: Membership[]; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isConjugated: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isSufficient: boolean | null; + readonly isVariation: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly output: Feature[]; + readonly ownedAction: ActionUsage[]; + readonly ownedAllocation: AllocationUsage[]; + readonly ownedAnalysisCase: AnalysisCaseUsage[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedAttribute: AttributeUsage[]; + readonly ownedCalculation: CalculationUsage[]; + readonly ownedCase: CaseUsage[]; + readonly ownedConcern: ConcernUsage[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedConnection: ConnectorAsUsage[]; + readonly ownedConstraint: ConstraintUsage[]; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedEnumeration: EnumerationUsage[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedFlow: FlowUsage[]; + readonly ownedImport: Import[]; + readonly ownedInterface: InterfaceUsage[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedItem: ItemUsage[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedMetadata: MetadataUsage[]; + readonly ownedOccurrence: OccurrenceUsage[]; + readonly ownedPart: PartUsage[]; + readonly ownedPort: PortUsage[]; + readonly ownedReference: ReferenceUsage[]; + readonly ownedRelationship: Relationship[]; + readonly ownedRendering: RenderingUsage[]; + readonly ownedRequirement: RequirementUsage[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedState: StateUsage[]; + readonly ownedSubclassification: Subclassification[]; + readonly ownedTransition: TransitionUsage[]; + readonly ownedUnioning: Unioning[]; + readonly ownedUsage: Usage[]; + readonly ownedUseCase: UseCaseUsage[]; + readonly ownedVerificationCase: VerificationCaseUsage[]; + readonly ownedView: ViewUsage[]; + readonly ownedViewpoint: ViewpointUsage[]; + readonly owner: AnyElement | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly parameter: Feature[]; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly result: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly step: Step[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly viewpointStakeholder: PartUsage[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCompatibleWith(otherType: Type | null): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface ViewpointUsage extends RequirementUsage { + readonly actorParameter: PartUsage[]; + readonly aliasIds: string[]; + readonly assumedConstraint: ConstraintUsage[]; + readonly behavior: Behavior[]; + readonly chainingFeature: Feature[]; + readonly constraintDefinition: Predicate | null; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly framedConcern: ConcernUsage[]; + readonly function: Function | null; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isModelLevelEvaluable: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly predicate: Predicate | null; + readonly qualifiedName: string | null; + readonly reqId: string | null; + readonly requiredConstraint: ConstraintUsage[]; + readonly requirementDefinition: RequirementDefinition | null; + readonly result: Feature | null; + readonly shortName: string | null; + readonly stakeholderParameter: PartUsage[]; + readonly subjectParameter: Usage | null; + readonly text: string[]; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly viewpointDefinition: ViewpointDefinition | null; + readonly viewpointStakeholder: PartUsage[]; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + checkCondition(target: AnyElement | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + evaluate(target: AnyElement | null): AnyElement[]; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + modelLevelEvaluable(visited: Feature[]): boolean | null; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +export interface WhileLoopActionUsage extends LoopActionUsage { + readonly actionDefinition: Behavior[]; + readonly aliasIds: string[]; + readonly behavior: Behavior[]; + readonly bodyAction: ActionUsage | null; + readonly chainingFeature: Feature[]; + readonly crossFeature: Feature | null; + readonly declaredName: string | null; + readonly declaredShortName: string | null; + readonly definition: Classifier[]; + readonly differencingType: Type[]; + readonly directedFeature: Feature[]; + readonly directedUsage: Usage[]; + readonly direction: string | null; + readonly documentation: Documentation[]; + readonly elementId: string | null; + readonly endFeature: Feature[]; + readonly endOwningType: Type | null; + readonly feature: Feature[]; + readonly featureMembership: FeatureMembership[]; + readonly featureTarget: Feature | null; + readonly featuringType: Type[]; + readonly importedMembership: Membership[]; + readonly individualDefinition: OccurrenceDefinition | null; + readonly inheritedFeature: Feature[]; + readonly inheritedMembership: Membership[]; + readonly input: Feature[]; + readonly intersectingType: Type[]; + readonly isAbstract: boolean | null; + readonly isComposite: boolean | null; + readonly isConjugated: boolean | null; + readonly isConstant: boolean | null; + readonly isDerived: boolean | null; + readonly isEnd: boolean | null; + readonly isImpliedIncluded: boolean | null; + readonly isIndividual: boolean | null; + readonly isLibraryElement: boolean | null; + readonly isOrdered: boolean | null; + readonly isPortion: boolean | null; + readonly isReference: boolean | null; + readonly isSufficient: boolean | null; + readonly isUnique: boolean | null; + readonly isVariable: boolean | null; + readonly isVariation: boolean | null; + readonly mayTimeVary: boolean | null; + readonly member: AnyElement[]; + readonly membership: Membership[]; + readonly multiplicity: Multiplicity | null; + readonly name: string | null; + readonly nestedAction: ActionUsage[]; + readonly nestedAllocation: AllocationUsage[]; + readonly nestedAnalysisCase: AnalysisCaseUsage[]; + readonly nestedAttribute: AttributeUsage[]; + readonly nestedCalculation: CalculationUsage[]; + readonly nestedCase: CaseUsage[]; + readonly nestedConcern: ConcernUsage[]; + readonly nestedConnection: ConnectorAsUsage[]; + readonly nestedConstraint: ConstraintUsage[]; + readonly nestedEnumeration: EnumerationUsage[]; + readonly nestedFlow: FlowUsage[]; + readonly nestedInterface: InterfaceUsage[]; + readonly nestedItem: ItemUsage[]; + readonly nestedMetadata: MetadataUsage[]; + readonly nestedOccurrence: OccurrenceUsage[]; + readonly nestedPart: PartUsage[]; + readonly nestedPort: PortUsage[]; + readonly nestedReference: ReferenceUsage[]; + readonly nestedRendering: RenderingUsage[]; + readonly nestedRequirement: RequirementUsage[]; + readonly nestedState: StateUsage[]; + readonly nestedTransition: TransitionUsage[]; + readonly nestedUsage: Usage[]; + readonly nestedUseCase: UseCaseUsage[]; + readonly nestedVerificationCase: VerificationCaseUsage[]; + readonly nestedView: ViewUsage[]; + readonly nestedViewpoint: ViewpointUsage[]; + readonly occurrenceDefinition: Class[]; + readonly output: Feature[]; + readonly ownedAnnotation: Annotation[]; + readonly ownedConjugator: Conjugation | null; + readonly ownedCrossSubsetting: CrossSubsetting | null; + readonly ownedDifferencing: Differencing[]; + readonly ownedDisjoining: Disjoining[]; + readonly ownedElement: AnyElement[]; + readonly ownedEndFeature: Feature[]; + readonly ownedFeature: Feature[]; + readonly ownedFeatureChaining: FeatureChaining[]; + readonly ownedFeatureInverting: FeatureInverting[]; + readonly ownedFeatureMembership: FeatureMembership[]; + readonly ownedImport: Import[]; + readonly ownedIntersecting: Intersecting[]; + readonly ownedMember: AnyElement[]; + readonly ownedMembership: Membership[]; + readonly ownedRedefinition: Redefinition[]; + readonly ownedReferenceSubsetting: ReferenceSubsetting | null; + readonly ownedRelationship: Relationship[]; + readonly ownedSpecialization: Specialization[]; + readonly ownedSubsetting: Subsetting[]; + readonly ownedTypeFeaturing: TypeFeaturing[]; + readonly ownedTyping: FeatureTyping[]; + readonly ownedUnioning: Unioning[]; + readonly owner: AnyElement | null; + readonly owningDefinition: Definition | null; + readonly owningFeatureMembership: FeatureMembership | null; + readonly owningMembership: OwningMembership | null; + readonly owningNamespace: Namespace | null; + readonly owningRelationship: Relationship | null; + readonly owningType: Type | null; + readonly owningUsage: Usage | null; + readonly parameter: Feature[]; + readonly portionKind: string | null; + readonly qualifiedName: string | null; + readonly shortName: string | null; + readonly textualRepresentation: TextualRepresentation[]; + readonly type: Type[]; + readonly unioningType: Type[]; + readonly untilArgument: Expression | null; + readonly usage: Usage[]; + readonly variant: Usage[]; + readonly variantMembership: VariantMembership[]; + readonly whileArgument: Expression | null; + allRedefinedFeatures(): Feature[]; + allRedefinedFeaturesOf(membership: Membership | null): Feature[]; + allSupertypes(): Type[]; + argument(i: number | null): Expression | null; + asCartesianProduct(): Type[]; + canAccess(feature: Feature | null): boolean | null; + directionFor(type: Type | null): string | null; + directionOf(feature: Feature | null): string | null; + directionOfExcluding(feature: Feature | null, excluded: Type[]): string | null; + effectiveName(): string | null; + effectiveShortName(): string | null; + escapedName(): string | null; + importedMemberships(excluded: Namespace[]): Membership[]; + inheritableMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inheritedMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + inputParameter(i: number | null): Feature | null; + inputParameters(): Feature[]; + isCartesianProduct(): boolean | null; + isCompatibleWith(otherType: Type | null): boolean | null; + isFeaturedWithin(type: Type | null): boolean | null; + isFeaturingType(type: Type | null): boolean | null; + isOwnedCrossFeature(): boolean | null; + isSubactionUsage(): boolean | null; + libraryNamespace(): Namespace | null; + membershipsOfVisibility(visibility: string | null, excluded: Namespace[]): Membership[]; + multiplicities(): Multiplicity[]; + namesOf(element: AnyElement | null): string[]; + namingFeature(): Feature | null; + nonPrivateMemberships(excludedNamespaces: Namespace[], excludedTypes: Type[], excludeImplied: boolean | null): Membership[]; + ownedCrossFeature(): Feature | null; + path(): string | null; + qualificationOf(qualifiedName: string | null): string | null; + redefines(redefinedFeature: Feature | null): boolean | null; + redefinesFromLibrary(libraryFeatureName: string | null): boolean | null; + referencedFeatureTarget(): Feature | null; + removeRedefinedFeatures(memberships: Membership[]): Membership[]; + resolve(qualifiedName: string | null): Membership | null; + resolveGlobal(qualifiedName: string | null): Membership | null; + resolveLocal(name: string | null): Membership | null; + resolveVisible(name: string | null): Membership | null; + specializes(supertype: Type | null): boolean | null; + specializesFromLibrary(libraryTypeName: string | null): boolean | null; + subsetsChain(first: Feature | null, second: Feature | null): boolean | null; + supertypes(excludeImplied: boolean | null): Type[]; + typingFeatures(): Feature[]; + unqualifiedNameOf(qualifiedName: string | null): string | null; + visibilityOf(mem: Membership | null): string | null; + visibleMemberships(excluded: Namespace[], isRecursive: boolean | null, includeAll: boolean | null): Membership[]; +} + +// Concrete metaclasses only — the mintable @type values. +export interface ClassMap { + AcceptActionUsage: AcceptActionUsage; + ActionDefinition: ActionDefinition; + ActionUsage: ActionUsage; + ActorMembership: ActorMembership; + AllocationDefinition: AllocationDefinition; + AllocationUsage: AllocationUsage; + AnalysisCaseDefinition: AnalysisCaseDefinition; + AnalysisCaseUsage: AnalysisCaseUsage; + AnnotatingElement: AnnotatingElement; + Annotation: Annotation; + AssertConstraintUsage: AssertConstraintUsage; + AssignmentActionUsage: AssignmentActionUsage; + Association: Association; + AssociationStructure: AssociationStructure; + AttributeDefinition: AttributeDefinition; + AttributeUsage: AttributeUsage; + Behavior: Behavior; + BindingConnector: BindingConnector; + BindingConnectorAsUsage: BindingConnectorAsUsage; + BooleanExpression: BooleanExpression; + CalculationDefinition: CalculationDefinition; + CalculationUsage: CalculationUsage; + CaseDefinition: CaseDefinition; + CaseUsage: CaseUsage; + Class: Class; + Classifier: Classifier; + CollectExpression: CollectExpression; + Comment: Comment; + ConcernDefinition: ConcernDefinition; + ConcernUsage: ConcernUsage; + ConjugatedPortDefinition: ConjugatedPortDefinition; + ConjugatedPortTyping: ConjugatedPortTyping; + Conjugation: Conjugation; + ConnectionDefinition: ConnectionDefinition; + ConnectionUsage: ConnectionUsage; + Connector: Connector; + ConstraintDefinition: ConstraintDefinition; + ConstraintUsage: ConstraintUsage; + ConstructorExpression: ConstructorExpression; + CrossSubsetting: CrossSubsetting; + DataType: DataType; + DecisionNode: DecisionNode; + Definition: Definition; + Dependency: Dependency; + Differencing: Differencing; + Disjoining: Disjoining; + Documentation: Documentation; + ElementFilterMembership: ElementFilterMembership; + EndFeatureMembership: EndFeatureMembership; + EnumerationDefinition: EnumerationDefinition; + EnumerationUsage: EnumerationUsage; + EventOccurrenceUsage: EventOccurrenceUsage; + ExhibitStateUsage: ExhibitStateUsage; + Expression: Expression; + Feature: Feature; + FeatureChainExpression: FeatureChainExpression; + FeatureChaining: FeatureChaining; + FeatureInverting: FeatureInverting; + FeatureMembership: FeatureMembership; + FeatureReferenceExpression: FeatureReferenceExpression; + FeatureTyping: FeatureTyping; + FeatureValue: FeatureValue; + Flow: Flow; + FlowDefinition: FlowDefinition; + FlowEnd: FlowEnd; + FlowUsage: FlowUsage; + ForLoopActionUsage: ForLoopActionUsage; + ForkNode: ForkNode; + FramedConcernMembership: FramedConcernMembership; + Function: Function; + IfActionUsage: IfActionUsage; + IncludeUseCaseUsage: IncludeUseCaseUsage; + IndexExpression: IndexExpression; + Interaction: Interaction; + InterfaceDefinition: InterfaceDefinition; + InterfaceUsage: InterfaceUsage; + Intersecting: Intersecting; + Invariant: Invariant; + InvocationExpression: InvocationExpression; + ItemDefinition: ItemDefinition; + ItemUsage: ItemUsage; + JoinNode: JoinNode; + LibraryPackage: LibraryPackage; + LiteralBoolean: LiteralBoolean; + LiteralExpression: LiteralExpression; + LiteralInfinity: LiteralInfinity; + LiteralInteger: LiteralInteger; + LiteralRational: LiteralRational; + LiteralString: LiteralString; + Membership: Membership; + MembershipExpose: MembershipExpose; + MembershipImport: MembershipImport; + MergeNode: MergeNode; + Metaclass: Metaclass; + MetadataAccessExpression: MetadataAccessExpression; + MetadataDefinition: MetadataDefinition; + MetadataFeature: MetadataFeature; + MetadataUsage: MetadataUsage; + Multiplicity: Multiplicity; + MultiplicityRange: MultiplicityRange; + Namespace: Namespace; + NamespaceExpose: NamespaceExpose; + NamespaceImport: NamespaceImport; + NullExpression: NullExpression; + ObjectiveMembership: ObjectiveMembership; + OccurrenceDefinition: OccurrenceDefinition; + OccurrenceUsage: OccurrenceUsage; + OperatorExpression: OperatorExpression; + OwningMembership: OwningMembership; + Package: Package; + ParameterMembership: ParameterMembership; + PartDefinition: PartDefinition; + PartUsage: PartUsage; + PayloadFeature: PayloadFeature; + PerformActionUsage: PerformActionUsage; + PortConjugation: PortConjugation; + PortDefinition: PortDefinition; + PortUsage: PortUsage; + Predicate: Predicate; + Redefinition: Redefinition; + ReferenceSubsetting: ReferenceSubsetting; + ReferenceUsage: ReferenceUsage; + RenderingDefinition: RenderingDefinition; + RenderingUsage: RenderingUsage; + RequirementConstraintMembership: RequirementConstraintMembership; + RequirementDefinition: RequirementDefinition; + RequirementUsage: RequirementUsage; + RequirementVerificationMembership: RequirementVerificationMembership; + ResultExpressionMembership: ResultExpressionMembership; + ReturnParameterMembership: ReturnParameterMembership; + SatisfyRequirementUsage: SatisfyRequirementUsage; + SelectExpression: SelectExpression; + SendActionUsage: SendActionUsage; + Specialization: Specialization; + StakeholderMembership: StakeholderMembership; + StateDefinition: StateDefinition; + StateSubactionMembership: StateSubactionMembership; + StateUsage: StateUsage; + Step: Step; + Structure: Structure; + Subclassification: Subclassification; + SubjectMembership: SubjectMembership; + Subsetting: Subsetting; + Succession: Succession; + SuccessionAsUsage: SuccessionAsUsage; + SuccessionFlow: SuccessionFlow; + SuccessionFlowUsage: SuccessionFlowUsage; + TerminateActionUsage: TerminateActionUsage; + TextualRepresentation: TextualRepresentation; + TransitionFeatureMembership: TransitionFeatureMembership; + TransitionUsage: TransitionUsage; + TriggerInvocationExpression: TriggerInvocationExpression; + Type: Type; + TypeFeaturing: TypeFeaturing; + Unioning: Unioning; + Usage: Usage; + UseCaseDefinition: UseCaseDefinition; + UseCaseUsage: UseCaseUsage; + VariantMembership: VariantMembership; + VerificationCaseDefinition: VerificationCaseDefinition; + VerificationCaseUsage: VerificationCaseUsage; + ViewDefinition: ViewDefinition; + ViewRenderingMembership: ViewRenderingMembership; + ViewUsage: ViewUsage; + ViewpointDefinition: ViewpointDefinition; + ViewpointUsage: ViewpointUsage; + WhileLoopActionUsage: WhileLoopActionUsage; +} + +// Every metaclass, abstract included — the narrowable kinds +// (is(el, "Classifier") narrows to an abstract interface). +export interface TypeMap { + AcceptActionUsage: AcceptActionUsage; + ActionDefinition: ActionDefinition; + ActionUsage: ActionUsage; + ActorMembership: ActorMembership; + AllocationDefinition: AllocationDefinition; + AllocationUsage: AllocationUsage; + AnalysisCaseDefinition: AnalysisCaseDefinition; + AnalysisCaseUsage: AnalysisCaseUsage; + AnnotatingElement: AnnotatingElement; + Annotation: Annotation; + AssertConstraintUsage: AssertConstraintUsage; + AssignmentActionUsage: AssignmentActionUsage; + Association: Association; + AssociationStructure: AssociationStructure; + AttributeDefinition: AttributeDefinition; + AttributeUsage: AttributeUsage; + Behavior: Behavior; + BindingConnector: BindingConnector; + BindingConnectorAsUsage: BindingConnectorAsUsage; + BooleanExpression: BooleanExpression; + CalculationDefinition: CalculationDefinition; + CalculationUsage: CalculationUsage; + CaseDefinition: CaseDefinition; + CaseUsage: CaseUsage; + Class: Class; + Classifier: Classifier; + CollectExpression: CollectExpression; + Comment: Comment; + ConcernDefinition: ConcernDefinition; + ConcernUsage: ConcernUsage; + ConjugatedPortDefinition: ConjugatedPortDefinition; + ConjugatedPortTyping: ConjugatedPortTyping; + Conjugation: Conjugation; + ConnectionDefinition: ConnectionDefinition; + ConnectionUsage: ConnectionUsage; + Connector: Connector; + ConnectorAsUsage: ConnectorAsUsage; + ConstraintDefinition: ConstraintDefinition; + ConstraintUsage: ConstraintUsage; + ConstructorExpression: ConstructorExpression; + ControlNode: ControlNode; + CrossSubsetting: CrossSubsetting; + DataType: DataType; + DecisionNode: DecisionNode; + Definition: Definition; + Dependency: Dependency; + Differencing: Differencing; + Disjoining: Disjoining; + Documentation: Documentation; + Element: AnyElement; + ElementFilterMembership: ElementFilterMembership; + EndFeatureMembership: EndFeatureMembership; + EnumerationDefinition: EnumerationDefinition; + EnumerationUsage: EnumerationUsage; + EventOccurrenceUsage: EventOccurrenceUsage; + ExhibitStateUsage: ExhibitStateUsage; + Expose: Expose; + Expression: Expression; + Feature: Feature; + FeatureChainExpression: FeatureChainExpression; + FeatureChaining: FeatureChaining; + FeatureInverting: FeatureInverting; + FeatureMembership: FeatureMembership; + FeatureReferenceExpression: FeatureReferenceExpression; + FeatureTyping: FeatureTyping; + FeatureValue: FeatureValue; + Flow: Flow; + FlowDefinition: FlowDefinition; + FlowEnd: FlowEnd; + FlowUsage: FlowUsage; + ForLoopActionUsage: ForLoopActionUsage; + ForkNode: ForkNode; + FramedConcernMembership: FramedConcernMembership; + Function: Function; + IfActionUsage: IfActionUsage; + Import: Import; + IncludeUseCaseUsage: IncludeUseCaseUsage; + IndexExpression: IndexExpression; + InstantiationExpression: InstantiationExpression; + Interaction: Interaction; + InterfaceDefinition: InterfaceDefinition; + InterfaceUsage: InterfaceUsage; + Intersecting: Intersecting; + Invariant: Invariant; + InvocationExpression: InvocationExpression; + ItemDefinition: ItemDefinition; + ItemUsage: ItemUsage; + JoinNode: JoinNode; + LibraryPackage: LibraryPackage; + LiteralBoolean: LiteralBoolean; + LiteralExpression: LiteralExpression; + LiteralInfinity: LiteralInfinity; + LiteralInteger: LiteralInteger; + LiteralRational: LiteralRational; + LiteralString: LiteralString; + LoopActionUsage: LoopActionUsage; + Membership: Membership; + MembershipExpose: MembershipExpose; + MembershipImport: MembershipImport; + MergeNode: MergeNode; + Metaclass: Metaclass; + MetadataAccessExpression: MetadataAccessExpression; + MetadataDefinition: MetadataDefinition; + MetadataFeature: MetadataFeature; + MetadataUsage: MetadataUsage; + Multiplicity: Multiplicity; + MultiplicityRange: MultiplicityRange; + Namespace: Namespace; + NamespaceExpose: NamespaceExpose; + NamespaceImport: NamespaceImport; + NullExpression: NullExpression; + ObjectiveMembership: ObjectiveMembership; + OccurrenceDefinition: OccurrenceDefinition; + OccurrenceUsage: OccurrenceUsage; + OperatorExpression: OperatorExpression; + OwningMembership: OwningMembership; + Package: Package; + ParameterMembership: ParameterMembership; + PartDefinition: PartDefinition; + PartUsage: PartUsage; + PayloadFeature: PayloadFeature; + PerformActionUsage: PerformActionUsage; + PortConjugation: PortConjugation; + PortDefinition: PortDefinition; + PortUsage: PortUsage; + Predicate: Predicate; + Redefinition: Redefinition; + ReferenceSubsetting: ReferenceSubsetting; + ReferenceUsage: ReferenceUsage; + Relationship: Relationship; + RenderingDefinition: RenderingDefinition; + RenderingUsage: RenderingUsage; + RequirementConstraintMembership: RequirementConstraintMembership; + RequirementDefinition: RequirementDefinition; + RequirementUsage: RequirementUsage; + RequirementVerificationMembership: RequirementVerificationMembership; + ResultExpressionMembership: ResultExpressionMembership; + ReturnParameterMembership: ReturnParameterMembership; + SatisfyRequirementUsage: SatisfyRequirementUsage; + SelectExpression: SelectExpression; + SendActionUsage: SendActionUsage; + Specialization: Specialization; + StakeholderMembership: StakeholderMembership; + StateDefinition: StateDefinition; + StateSubactionMembership: StateSubactionMembership; + StateUsage: StateUsage; + Step: Step; + Structure: Structure; + Subclassification: Subclassification; + SubjectMembership: SubjectMembership; + Subsetting: Subsetting; + Succession: Succession; + SuccessionAsUsage: SuccessionAsUsage; + SuccessionFlow: SuccessionFlow; + SuccessionFlowUsage: SuccessionFlowUsage; + TerminateActionUsage: TerminateActionUsage; + TextualRepresentation: TextualRepresentation; + TransitionFeatureMembership: TransitionFeatureMembership; + TransitionUsage: TransitionUsage; + TriggerInvocationExpression: TriggerInvocationExpression; + Type: Type; + TypeFeaturing: TypeFeaturing; + Unioning: Unioning; + Usage: Usage; + UseCaseDefinition: UseCaseDefinition; + UseCaseUsage: UseCaseUsage; + VariantMembership: VariantMembership; + VerificationCaseDefinition: VerificationCaseDefinition; + VerificationCaseUsage: VerificationCaseUsage; + ViewDefinition: ViewDefinition; + ViewRenderingMembership: ViewRenderingMembership; + ViewUsage: ViewUsage; + ViewpointDefinition: ViewpointDefinition; + ViewpointUsage: ViewpointUsage; + WhileLoopActionUsage: WhileLoopActionUsage; +} diff --git a/ts/conformance.generated.mjs b/ts/conformance.generated.mjs new file mode 100644 index 0000000..046ea3a --- /dev/null +++ b/ts/conformance.generated.mjs @@ -0,0 +1,77 @@ +// Generated — do not edit. Source: metamodel.json via tools/gen_conformance.py. +// +// Anti-drift: TABLE_SHA256 pins the table this file was generated from; +// the checks verify meta.mjs + the Proxy runtime against the live table. +// Run: node conformance.generated.mjs + +import { createHash } from "node:crypto"; +import { readFileSync } from "node:fs"; +import { Model, NotImplementedInToolkit, is } from "./runtime.mjs"; +import { ABSTRACT, HIERARCHY, OPS, PROPS } from "./meta.mjs"; + +const TABLE_SHA256 = "17644f3a5d70189d76b5ecb95c2089aeda1f93b6705f8bce5eeae1faf023758b"; +const raw = readFileSync(new URL("../metamodel.json", import.meta.url)); +if (createHash("sha256").update(raw).digest("hex") !== TABLE_SHA256) + throw new Error("metamodel.json changed since this harness was generated; " + + "rerun tools/gen_conformance.py"); +const MM = JSON.parse(raw.toString("utf-8")).classes; + +const eq = (a, b, what) => { + if (JSON.stringify(a) !== JSON.stringify(b)) + throw new Error(`${what}: ${JSON.stringify(a)} != ${JSON.stringify(b)}`); +}; +const ancestors = (name, acc = new Set()) => { + for (const b of MM[name].bases) + if (!acc.has(b)) { acc.add(b); ancestors(b, acc); } + return acc; +}; + +const names = Object.keys(MM).sort(); +const concrete = names.filter((n) => !MM[n].abstract); +// every operation name a class declares or inherits +const flatOps = (n) => new Set([n, ...ancestors(n)].flatMap((c) => MM[c].ops.map((o) => o.name))); +// an operation that shares its name with a property of a class that has both +const colliding = new Set(names.flatMap((n) => [...flatOps(n)].filter((o) => o in MM[n].props))); +// keys the element Proxy answers itself (SPECIAL in runtime.mjs) +const RUNTIME_NAMES = new Set(["constructor", "then", "toJSON", "toString", "valueOf"]); +const member = (o) => (colliding.has(o) || RUNTIME_NAMES.has(o) ? o + "Op" : o); + +// --- meta.mjs matches the table ------------------------------------------- +eq(ABSTRACT, names.filter((n) => MM[n].abstract), "ABSTRACT"); +for (const n of names) { + eq(HIERARCHY[n], [...ancestors(n)].sort(), `HIERARCHY[${n}]`); + const expected = Object.fromEntries(Object.entries(MM[n].props) + .sort(([a], [b]) => (a < b ? -1 : 1)) + .map(([p, m]) => [p, [m.shape, m.derived ? 1 : 0]])); + eq(PROPS[n] ?? {}, expected, `PROPS[${n}]`); + const ops = Object.fromEntries(Object.entries(OPS[n] ?? {}).map(([m, [, o]]) => [m, o])); + eq(ops, Object.fromEntries([...flatOps(n)].sort().map((o) => [member(o), o]) + .sort(([a], [b]) => (a < b ? -1 : 1))), `OPS[${n}]`); +} + +// --- Proxy runtime honors the table --------------------------------------- +const payload = concrete.map((n) => ({ "@id": `e-${n}`, "@type": n })); +const model = Model.fromFullJson(payload); +for (const n of concrete) { + const el = model.element(`e-${n}`); + if (el.$metaclass !== n) throw new Error(`$metaclass ${n}`); + if (el.$id !== `e-${n}`) throw new Error(`$id ${n}`); + if (!is(el, n)) throw new Error(`is(self) ${n}`); + for (const anc of ancestors(n)) + if (!is(el, anc)) throw new Error(`is(${n}, ${anc})`); + for (const p of Object.keys(MM[n].props)) + el[p]; // a property read never second-guesses the backend + for (const o of flatOps(n)) { + const f = el[member(o)]; + if (typeof f !== "function") throw new Error(`${n}.${member(o)}: operation missing`); + let threw = false; + try { f(); } catch (e) { threw = e instanceof NotImplementedInToolkit; } + if (!threw) throw new Error(`${n}.${member(o)}(): must throw NotImplementedInToolkit`); + } + let assigned = false; + try { el.declaredName = "x"; assigned = true; } catch {} + if (assigned) throw new Error(`${n}: assignment must throw`); +} + +console.log(`conformance OK: ${names.length} classes, ` + + `${concrete.length} concrete, table ${TABLE_SHA256.slice(0, 12)}`); diff --git a/ts/demo.mjs b/ts/demo.mjs new file mode 100644 index 0000000..547d19a --- /dev/null +++ b/ts/demo.mjs @@ -0,0 +1,95 @@ +// Node smoke test for the TS/JS SDK backend — mirrors ../demo.py. +import { readFileSync } from "node:fs"; +import { Model, PayloadLibrary, UnresolvedReference, elementsOfType, is } from "./runtime.mjs"; + +const payload = JSON.parse( + readFileSync(new URL("../data/bigger.full.json", import.meta.url), "utf-8")); +const m = Model.fromFullJson(payload); + +const vehicle = m.resolve("Demo::Vehicle"); +console.log("resolve:", `${vehicle}`); +if (vehicle.$metaclass !== "PartDefinition") throw new Error("metaclass"); +for (const k of ["Definition", "Classifier", "Type", "Namespace"]) + if (!is(vehicle, k)) throw new Error(`is(${k})`); +if (is(vehicle, "Feature")) throw new Error("!Feature"); +console.log("is() chain: PartDefinition < Definition < Classifier < Type < Namespace OK"); +for (const k of ["$id", "$metaclass", "qualifiedName", "ownedFeature"]) + if (!(k in vehicle)) throw new Error(`${k} in element`); +if ("isComposite" in vehicle || "ownedParts" in vehicle) throw new Error("not a member of PartDefinition"); +console.log("`in`: runtime members and the metaclass's members OK"); + +const feats = vehicle.ownedFeature; +console.log("ownedFeature:", feats.map((w) => `${w.$metaclass}:${w.declaredName}`).join(", ")); +if (feats.length !== 7) throw new Error("7 features"); +const wheel = feats.find((w) => w.declaredName === "wheel"); +if (wheel.owner.$id !== vehicle.$id) throw new Error("owner"); +if (wheel.isComposite !== true) throw new Error("isComposite"); + +const vUsage = m.resolve("Demo::v"); +if (vUsage.definition[0].$id !== vehicle.$id) throw new Error("definition"); +console.log("v.definition -> Vehicle OK"); + +// Reads pass the backend value through unchanged: no client-side check. +for (const p of ["ownedPart", "inheritedFeature"]) { + const v = vehicle[p]; + if (!Array.isArray(v) || v.length !== 0) throw new Error(`${p} != []`); +} +console.log("unimplemented derivations -> [] (backend value, no second-guessing)"); + +try { vehicle.declaredName = "X"; throw new Error("expected throw"); } +catch (e) { if (!(e instanceof TypeError)) throw e; } +console.log("assignment -> TypeError (read-only, as designed)"); + +const parts = elementsOfType(m, "PartUsage"); +const usages = elementsOfType(m, "Usage"); +console.log(`PartUsage: ${parts.length}, all Usage subtypes: ${usages.length}`); +if (usages.length <= parts.length) throw new Error("subtype counts"); + +const calc = m.resolve("Demo::Vehicle::K"); +if (calc.$metaclass !== "CalculationDefinition") throw new Error("K"); +if (calc.input.map((w) => w.declaredName).join() !== "x") throw new Error("K.input"); +console.log("K.input -> [x] OK"); + +// Elements come in document order; an id given twice keeps its first place and its last element. +const ordered = Model.fromFullJson([ + { "@id": "z", "@type": "Package", declaredName: "first" }, + { "@id": "a", "@type": "Package", declaredName: "A" }, + { "@id": "z", "@type": "Package", declaredName: "second" }, +]); +if ([...ordered.all()].map((e) => e.$id).join() !== "z,a") throw new Error("document order"); +if (ordered.element("z").declaredName !== "second") throw new Error("the last element of an id"); +console.log("payload elements in document order OK"); + +// A payload model with a library: references the model does not hold resolve in the library, the +// library's elements are not the model's, the model wins an id or name both have, and a reference +// in neither still throws. The same checks run in every language. +const library = new PayloadLibrary([ + { "@id": "lib", "@type": "LibraryPackage", qualifiedName: "ScalarValues", isLibraryElement: true }, + { "@id": "real", "@type": "DataType", qualifiedName: "ScalarValues::Real", declaredName: "Real", + owner: { "@id": "lib" }, isLibraryElement: true }, + { "@id": "clash", "@type": "Package", declaredName: "from the library" }, + { "@id": "libP", "@type": "Package", qualifiedName: "P" }, +]); +const withLibraryElements = [ + { "@id": "pkg", "@type": "Package", qualifiedName: "P", declaredName: "P" }, + { "@id": "mass", "@type": "AttributeUsage", qualifiedName: "P::mass", owner: { "@id": "pkg" }, + type: [{ "@id": "real" }], definition: [{ "@id": "gone" }] }, + { "@id": "clash", "@type": "Package", declaredName: "from the model" }, +]; +const withLibrary = Model.fromFullJson(withLibraryElements, { library }); +const real = withLibrary.element("mass").type[0]; +if (real.declaredName !== "Real" || real.isLibraryElement !== true) throw new Error("library element"); +if (real.owner.qualifiedName !== "ScalarValues") throw new Error("library owner"); +if (withLibrary.resolve("ScalarValues::Real") !== real) throw new Error("resolve into the library"); +if ([...withLibrary.all()].map((e) => e.$id).join() !== "pkg,mass,clash") throw new Error("all() lists the library"); +if (withLibrary.roots().map((e) => e.$id).join() !== "pkg,clash") throw new Error("roots() lists the library"); +if (withLibrary.element("clash").declaredName !== "from the model") throw new Error("the model's id wins"); +if (withLibrary.resolve("P").$id !== "pkg") throw new Error("the model's name wins"); +const throwsUnresolved = (f) => { try { f(); } catch (e) { return e instanceof UnresolvedReference; } return false; }; +if (!throwsUnresolved(() => withLibrary.element("mass").definition)) throw new Error("a reference in neither"); +const withoutLibrary = Model.fromFullJson(withLibraryElements); +if (!throwsUnresolved(() => withoutLibrary.element("mass").type)) throw new Error("no library, no resolution"); +if (withoutLibrary.resolve("ScalarValues::Real") !== null) throw new Error("no library, no name"); +console.log("payload model with a library OK"); + +console.log("\nALL TS-BACKEND SMOKE TESTS PASSED"); diff --git a/ts/index.d.ts b/ts/index.d.ts new file mode 100644 index 0000000..1d98bd8 --- /dev/null +++ b/ts/index.d.ts @@ -0,0 +1,126 @@ +// Hand-written typings for the runtime (runtime.mjs / index.mjs). +// The generated interface surface lives in classes.d.ts. +import type { AnyElement, ClassMap, TypeMap } from "./classes.d.ts"; + +export type { AnyElement, ClassMap, TypeMap } from "./classes.d.ts"; + +export class NotComputed extends Error {} +export class NotImplementedInToolkit extends Error {} +export class Gone extends Error {} +/** Unresolved reference (SysML Toolkit @ref passthrough or dangling @id): + * typed navigation throws — the SDK requires resolved models. */ +export class UnresolvedReference extends Error {} + +/** + * The backend contract: everything the generated surface needs. + * The protocol is defined over opaque per-backend element handles; an + * id-keyed backend (payload, REST) uses element ids as its handles, + * which is why this payload-backed runtime types them as string. + */ +export interface Backend { + get(handle: string, prop: string): unknown; + metaclass(handle: string): string; + elementId(handle: string): string; + resolve(qualifiedName: string): string | null | undefined; + allHandles(): Iterable; + /** A specification operation by name, with its arguments; throws NotImplementedInToolkit when + * the backend cannot evaluate it. */ + call(handle: string, op: string, args: readonly unknown[]): unknown; +} + +/** A standard library read from a full-form interchange element array, such as the library JSON + * published with the SDK. Index it once and pass it to any number of payload models: their + * references into the library then resolve by the library's normative ids. */ +export class PayloadLibrary { + constructor(elements: ReadonlyArray>); + /** The number of library elements. */ + readonly size: number; +} + +/** With a library, an id or qualified name the payload does not hold is looked up in the library; + * the library's elements are not the model's, so `allHandles` lists the payload's only. */ +export class PayloadBackend implements Backend { + constructor(elements: ReadonlyArray>, library?: PayloadLibrary | null); + get(handle: string, prop: string): unknown; + metaclass(handle: string): string; + elementId(handle: string): string; + resolve(qualifiedName: string): string | null; + allHandles(): Iterable; + call(handle: string, op: string, args: readonly unknown[]): never; +} + +/** The SysML Toolkit, reached through the WebAssembly build of the binding library (abi/). */ +export class ToolkitLibrary { + /** Bytes, a fetch Response (browser), or a file path (Node). */ + static load(source: BufferSource | Response | string): Promise; + /** SYSMLV2_ABI_WASM, else the module the package carries, else the repository's build. Node only. */ + static loadDefault(): Promise; +} + +export class ToolkitError extends Error {} + +export class ToolkitBackend implements Backend { + /** Open a session over in-memory sources: unit name to text. The standard library, if the model + * needs it: `librarySources` (its files, file name without directories to text) or, in Node, `libraryDir` (its + * directory). It loads as a library: its elements are not among the model's and report + * `isLibraryElement`. `library` is the WebAssembly module, by default the packaged one. */ + static open(options: { + sources: Record; + librarySources?: Record; + libraryDir?: string; + library?: ToolkitLibrary; + }): Promise; + close(): void; + /** The model as full-form interchange JSON, from the SysML Toolkit's own emitter. With + * `closures` (the default) the inheritance-aware properties carry the specification's values; + * without, the owned side only, as the SysML Toolkit's command-line export writes them. */ + fullJson(options?: { closures?: boolean }): string; + roots(): string[]; + get(handle: string, prop: string): unknown; + metaclass(handle: string): string; + elementId(handle: string): string; + resolve(qualifiedName: string): string | null; + allHandles(): Iterable; + call(handle: string, op: string, args: readonly unknown[]): unknown; +} + +export class Model { + constructor(backend: Backend); + /** A model read from a full-form interchange element array. With `library`, references into the + * standard library resolve against it; its elements are not listed as the model's. */ + static fromFullJson( + elements: ReadonlyArray>, + options?: { library?: PayloadLibrary | null }, + ): Model; + readonly backend: Backend; + element(id: string): AnyElement; + resolve(qualifiedName: string): AnyElement | null; + wrap(raw: unknown, at?: string): unknown; + call(handle: string, metaclass: string, op: string, args: readonly unknown[]): unknown; + all(): IterableIterator; + /** The top-level namespaces: the elements without an owner that are namespaces. */ + roots(): AnyElement[]; +} + +/** Typed narrowing over the generated hierarchy: metaclass or ancestor. */ +export function is( + el: unknown, + kind: K, +): el is TypeMap[K]; + +export function elementsOfType( + model: Model, + kind: K, +): TypeMap[K][]; + +export declare const PROPS: Record< + string, + Record +>; +/** Per metaclass: operation member name to [declaring class, specification name]. */ +export declare const OPS: Record< + string, + Record +>; +export declare const HIERARCHY: Record; +export declare const ABSTRACT: string[]; diff --git a/ts/index.mjs b/ts/index.mjs new file mode 100644 index 0000000..8765f1e --- /dev/null +++ b/ts/index.mjs @@ -0,0 +1,4 @@ +// Package entry point: the runtime plus the generated metadata tables. +export * from "./runtime.mjs"; +export { ABSTRACT, HIERARCHY, OPS, PROPS } from "./meta.mjs"; +export { ToolkitBackend, ToolkitLibrary, ToolkitError } from "./toolkit.mjs"; diff --git a/ts/meta.mjs b/ts/meta.mjs new file mode 100644 index 0000000..3c18a78 --- /dev/null +++ b/ts/meta.mjs @@ -0,0 +1,5 @@ +// Generated — do not edit. Source: metamodel.json +export const PROPS = {"AcceptActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "payloadArgument": ["N", 1], "payloadParameter": ["R", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "receiverArgument": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ActionDefinition": {"action": ["A", 1], "aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ActorMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedActorParameter": ["R", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberParameter": ["R", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "AllocationDefinition": {"aliasIds": ["A", 0], "allocation": ["A", 1], "associationEnd": ["A", 1], "connectionEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "AllocationUsage": {"aliasIds": ["A", 0], "allocationDefinition": ["A", 1], "association": ["A", 1], "chainingFeature": ["A", 1], "connectionDefinition": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "partDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "AnalysisCaseDefinition": {"action": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "calculation": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "objectiveRequirement": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "resultExpression": ["N", 1], "shortName": ["N", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "AnalysisCaseUsage": {"actionDefinition": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "analysisCaseDefinition": ["N", 1], "behavior": ["A", 1], "calculationDefinition": ["N", 0], "caseDefinition": ["N", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "objectiveRequirement": ["N", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "result": ["R", 1], "resultExpression": ["N", 1], "shortName": ["N", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "AnnotatingElement": {"aliasIds": ["A", 0], "annotatedElement": ["A", 1], "annotation": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotatingRelationship": ["A", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningAnnotatingRelationship": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "Annotation": {"aliasIds": ["A", 0], "annotatedElement": ["R", 0], "annotatingElement": ["R", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotatingElement": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningAnnotatedElement": ["N", 1], "owningAnnotatingElement": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "AssertConstraintUsage": {"aliasIds": ["A", 0], "assertedConstraint": ["R", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "constraintDefinition": ["N", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isNegated": ["N", 0], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "predicate": ["N", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "AssignmentActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "referent": ["R", 1], "shortName": ["N", 1], "targetArgument": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "valueExpression": ["N", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Association": {"aliasIds": ["A", 0], "associationEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "AssociationStructure": {"aliasIds": ["A", 0], "associationEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "AttributeDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "AttributeUsage": {"aliasIds": ["A", 0], "attributeDefinition": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Behavior": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "BindingConnector": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "BindingConnectorAsUsage": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "BooleanExpression": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "predicate": ["N", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "CalculationDefinition": {"action": ["A", 1], "aliasIds": ["A", 0], "calculation": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "CalculationUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "calculationDefinition": ["N", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "CaseDefinition": {"action": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "calculation": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "objectiveRequirement": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "CaseUsage": {"actionDefinition": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "calculationDefinition": ["N", 0], "caseDefinition": ["N", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "objectiveRequirement": ["N", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Class": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "Classifier": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "CollectExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "operator": ["N", 0], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "Comment": {"aliasIds": ["A", 0], "annotatedElement": ["A", 1], "annotation": ["A", 1], "body": ["S", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "locale": ["N", 0], "name": ["N", 1], "ownedAnnotatingRelationship": ["A", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningAnnotatingRelationship": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "ConcernDefinition": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assumedConstraint": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "framedConcern": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "result": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConcernUsage": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assumedConstraint": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "concernDefinition": ["N", 1], "constraintDefinition": ["N", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "framedConcern": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "predicate": ["N", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "requirementDefinition": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConjugatedPortDefinition": {"aliasIds": ["A", 0], "conjugatedPortDefinition": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "originalPortDefinition": ["R", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedPortConjugator": ["R", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConjugatedPortTyping": {"aliasIds": ["A", 0], "conjugatedPortDefinition": ["R", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "portDefinition": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "type": ["R", 0], "typedFeature": ["R", 0]}, "Conjugation": {"aliasIds": ["A", 0], "conjugatedType": ["R", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "originalType": ["R", 0], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "ConnectionDefinition": {"aliasIds": ["A", 0], "associationEnd": ["A", 1], "connectionEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConnectionUsage": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectionDefinition": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "partDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Connector": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "ConnectorAsUsage": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConstraintDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConstraintUsage": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "constraintDefinition": ["N", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "predicate": ["N", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ConstructorExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "ControlNode": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "CrossSubsetting": {"aliasIds": ["A", 0], "crossedFeature": ["R", 0], "crossingFeature": ["R", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "subsettedFeature": ["R", 0], "subsettingFeature": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "DataType": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "DecisionNode": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Definition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Dependency": {"aliasIds": ["A", 0], "client": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "supplier": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "Differencing": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["R", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "typeDifferenced": ["R", 1]}, "Disjoining": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "disjoiningType": ["R", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "typeDisjoined": ["R", 0]}, "Documentation": {"aliasIds": ["A", 0], "annotatedElement": ["A", 1], "annotation": ["A", 1], "body": ["S", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "documentedElement": ["R", 1], "elementId": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "locale": ["N", 0], "name": ["N", 1], "ownedAnnotatingRelationship": ["A", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningAnnotatingRelationship": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "Element": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "ElementFilterMembership": {"aliasIds": ["A", 0], "condition": ["R", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "EndFeatureMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "EnumerationDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "enumeratedValue": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "EnumerationUsage": {"aliasIds": ["A", 0], "attributeDefinition": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "enumerationDefinition": ["R", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "EventOccurrenceUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "eventOccurrence": ["R", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ExhibitStateUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "doAction": ["N", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "entryAction": ["N", 1], "eventOccurrence": ["R", 1], "exhibitedState": ["R", 1], "exitAction": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isParallel": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "performedAction": ["R", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "stateDefinition": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Expose": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importOwningNamespace": ["R", 1], "importedElement": ["R", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isImportAll": ["N", 0], "isLibraryElement": ["N", 1], "isRecursive": ["N", 0], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "Expression": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "Feature": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "FeatureChainExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "operator": ["N", 0], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "targetFeature": ["R", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "FeatureChaining": {"aliasIds": ["A", 0], "chainingFeature": ["R", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "featureChained": ["R", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "FeatureInverting": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "featureInverted": ["R", 0], "invertingFeature": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "FeatureMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "FeatureReferenceExpression": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "referent": ["R", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "FeatureTyping": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "type": ["R", 0], "typedFeature": ["R", 0]}, "FeatureValue": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "featureWithValue": ["R", 1], "isDefault": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isInitial": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "value": ["R", 1], "visibility": ["N", 0]}, "Flow": {"aliasIds": ["A", 0], "association": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "flowEnd": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "interaction": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "payloadFeature": ["N", 1], "payloadType": ["A", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "sourceOutputFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "targetInputFeature": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "FlowDefinition": {"action": ["A", 1], "aliasIds": ["A", 0], "associationEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "flowEnd": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "step": ["A", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "FlowEnd": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "FlowUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "association": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "flowDefinition": ["A", 1], "flowEnd": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "interaction": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "payloadFeature": ["N", 1], "payloadType": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "sourceOutputFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "targetInputFeature": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ForLoopActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "bodyAction": ["R", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "loopVariable": ["R", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "seqArgument": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ForkNode": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "FramedConcernMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "kind": ["N", 0], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedConcern": ["R", 1], "ownedConstraint": ["R", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "referencedConcern": ["R", 1], "referencedConstraint": ["R", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "Function": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "IfActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "elseAction": ["N", 1], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "ifArgument": ["R", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "thenAction": ["R", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Import": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importOwningNamespace": ["R", 1], "importedElement": ["R", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isImportAll": ["N", 0], "isLibraryElement": ["N", 1], "isRecursive": ["N", 0], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "IncludeUseCaseUsage": {"actionDefinition": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "calculationDefinition": ["N", 0], "caseDefinition": ["N", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "eventOccurrence": ["R", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "includedUseCase": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "objectiveRequirement": ["N", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "performedAction": ["R", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "useCaseDefinition": ["N", 1], "useCaseIncluded": ["R", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "IndexExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "operator": ["N", 0], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "InstantiationExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "Interaction": {"aliasIds": ["A", 0], "associationEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "step": ["A", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "InterfaceDefinition": {"aliasIds": ["A", 0], "associationEnd": ["A", 1], "connectionEnd": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "interfaceEnd": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedType": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceType": ["N", 1], "target": ["A", 0], "targetType": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "InterfaceUsage": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectionDefinition": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "interfaceDefinition": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "partDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Intersecting": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "intersectingType": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "typeIntersected": ["R", 1]}, "Invariant": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isNegated": ["N", 0], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "predicate": ["N", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "InvocationExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "ItemDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "ItemUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "JoinNode": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "LibraryPackage": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "filterCondition": ["A", 1], "importedMembership": ["A", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isStandard": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedImport": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "LiteralBoolean": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "value": ["N", 0]}, "LiteralExpression": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "LiteralInfinity": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "LiteralInteger": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "value": ["N", 0]}, "LiteralRational": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "value": ["N", 0]}, "LiteralString": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "value": ["N", 0]}, "LoopActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "bodyAction": ["R", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Membership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "MembershipExpose": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importOwningNamespace": ["R", 1], "importedElement": ["R", 1], "importedMembership": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isImportAll": ["N", 0], "isLibraryElement": ["N", 1], "isRecursive": ["N", 0], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "MembershipImport": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importOwningNamespace": ["R", 1], "importedElement": ["R", 1], "importedMembership": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isImportAll": ["N", 0], "isLibraryElement": ["N", 1], "isRecursive": ["N", 0], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "MergeNode": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Metaclass": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "MetadataAccessExpression": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "referencedElement": ["R", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "MetadataDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "MetadataFeature": {"aliasIds": ["A", 0], "annotatedElement": ["A", 1], "annotation": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "metaclass": ["N", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotatingRelationship": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningAnnotatingRelationship": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "MetadataUsage": {"aliasIds": ["A", 0], "annotatedElement": ["A", 1], "annotation": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "metaclass": ["N", 1], "metadataDefinition": ["N", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotatingRelationship": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningAnnotatingRelationship": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Multiplicity": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "MultiplicityRange": {"aliasIds": ["A", 0], "bound": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "lowerBound": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "upperBound": ["R", 1]}, "Namespace": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importedMembership": ["A", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedImport": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "NamespaceExpose": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importOwningNamespace": ["R", 1], "importedElement": ["R", 1], "importedNamespace": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isImportAll": ["N", 0], "isLibraryElement": ["N", 1], "isRecursive": ["N", 0], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "NamespaceImport": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "importOwningNamespace": ["R", 1], "importedElement": ["R", 1], "importedNamespace": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isImportAll": ["N", 0], "isLibraryElement": ["N", 1], "isRecursive": ["N", 0], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "NullExpression": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "ObjectiveMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedObjectiveRequirement": ["R", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "OccurrenceDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "OccurrenceUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "OperatorExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "operator": ["N", 0], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "OwningMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "Package": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "filterCondition": ["A", 1], "importedMembership": ["A", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedImport": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "ParameterMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberParameter": ["R", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "PartDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "PartUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "partDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "PayloadFeature": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "PerformActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "eventOccurrence": ["R", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "performedAction": ["R", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "PortConjugation": {"aliasIds": ["A", 0], "conjugatedPortDefinition": ["R", 1], "conjugatedType": ["R", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "originalPortDefinition": ["R", 0], "originalType": ["R", 0], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "PortDefinition": {"aliasIds": ["A", 0], "conjugatedPortDefinition": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "PortUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "portDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Predicate": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "Redefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "redefinedFeature": ["R", 0], "redefiningFeature": ["R", 0], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "subsettedFeature": ["R", 0], "subsettingFeature": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "ReferenceSubsetting": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "referencedFeature": ["R", 0], "referencingFeature": ["R", 0], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "subsettedFeature": ["R", 0], "subsettingFeature": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "ReferenceUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Relationship": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "RenderingDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "rendering": ["A", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "RenderingUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "partDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "renderingDefinition": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "RequirementConstraintMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "kind": ["N", 0], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedConstraint": ["R", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "referencedConstraint": ["R", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "RequirementDefinition": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assumedConstraint": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "framedConcern": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "result": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "RequirementUsage": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assumedConstraint": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "constraintDefinition": ["N", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "framedConcern": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "predicate": ["N", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "requirementDefinition": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "RequirementVerificationMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "kind": ["N", 0], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedConstraint": ["R", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedRequirement": ["R", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "referencedConstraint": ["R", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "verifiedRequirement": ["R", 1], "visibility": ["N", 0]}, "ResultExpressionMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedResultExpression": ["R", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "ReturnParameterMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberParameter": ["R", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "SatisfyRequirementUsage": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assertedConstraint": ["R", 1], "assumedConstraint": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "constraintDefinition": ["N", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "framedConcern": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isNegated": ["N", 0], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "predicate": ["N", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "requirementDefinition": ["N", 1], "result": ["R", 1], "satisfiedRequirement": ["R", 1], "satisfyingFeature": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "SelectExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "operator": ["N", 0], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "SendActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "payloadArgument": ["R", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "receiverArgument": ["N", 1], "senderArgument": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Specialization": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "StakeholderMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberParameter": ["R", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedStakeholderParameter": ["R", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "StateDefinition": {"action": ["A", 1], "aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "doAction": ["N", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "entryAction": ["N", 1], "exitAction": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isParallel": ["N", 0], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "state": ["A", 1], "step": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "StateSubactionMembership": {"action": ["R", 1], "aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "kind": ["N", 0], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "StateUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "doAction": ["N", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "entryAction": ["N", 1], "exitAction": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isParallel": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "stateDefinition": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "Step": {"aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "Structure": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubclassification": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "Subclassification": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningClassifier": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "subclassifier": ["R", 0], "superclassifier": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "SubjectMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberParameter": ["R", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSubjectParameter": ["R", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "Subsetting": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "general": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeature": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "specific": ["R", 0], "subsettedFeature": ["R", 0], "subsettingFeature": ["R", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "Succession": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "SuccessionAsUsage": {"aliasIds": ["A", 0], "association": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "SuccessionFlow": {"aliasIds": ["A", 0], "association": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "flowEnd": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "interaction": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "payloadFeature": ["N", 1], "payloadType": ["A", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "sourceOutputFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "targetInputFeature": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "SuccessionFlowUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "association": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "connectorEnd": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "defaultFeaturingType": ["N", 1], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "flowDefinition": ["A", 1], "flowEnd": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "interaction": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "payloadFeature": ["N", 1], "payloadType": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "relatedFeature": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "sourceFeature": ["N", 1], "sourceOutputFeature": ["N", 1], "target": ["A", 0], "targetFeature": ["A", 1], "targetInputFeature": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "TerminateActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "terminatedOccurrenceArgument": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "TextualRepresentation": {"aliasIds": ["A", 0], "annotatedElement": ["A", 1], "annotation": ["A", 1], "body": ["S", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "language": ["S", 0], "name": ["N", 1], "ownedAnnotatingRelationship": ["A", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningAnnotatingRelationship": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "representedElement": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1]}, "TransitionFeatureMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "kind": ["N", 0], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "transitionFeature": ["R", 1], "visibility": ["N", 0]}, "TransitionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "effectAction": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "guardExpression": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "source": ["R", 1], "succession": ["R", 1], "target": ["R", 1], "textualRepresentation": ["A", 1], "triggerAction": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "TriggerInvocationExpression": {"aliasIds": ["A", 0], "argument": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "instantiatedType": ["R", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "kind": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1]}, "Type": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1]}, "TypeFeaturing": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "featureOfType": ["R", 0], "featuringType": ["R", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningFeatureOfType": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1]}, "Unioning": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "typeUnioned": ["R", 1], "unioningType": ["R", 0]}, "Usage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "UseCaseDefinition": {"action": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "calculation": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "includedUseCase": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "objectiveRequirement": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "UseCaseUsage": {"actionDefinition": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "calculationDefinition": ["N", 0], "caseDefinition": ["N", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "includedUseCase": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "objectiveRequirement": ["N", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "useCaseDefinition": ["N", 1], "variant": ["A", 1], "variantMembership": ["A", 1]}, "VariantMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedVariantUsage": ["R", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "VerificationCaseDefinition": {"action": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "calculation": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "objectiveRequirement": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "verifiedRequirement": ["A", 1]}, "VerificationCaseUsage": {"actionDefinition": ["A", 1], "actorParameter": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "calculationDefinition": ["N", 0], "caseDefinition": ["N", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "objectiveRequirement": ["N", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "subjectParameter": ["R", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "verificationCaseDefinition": ["N", 1], "verifiedRequirement": ["A", 1]}, "ViewDefinition": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "qualifiedName": ["N", 1], "satisfiedViewpoint": ["A", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "view": ["A", 1], "viewCondition": ["A", 1], "viewRendering": ["N", 1]}, "ViewRenderingMembership": {"aliasIds": ["A", 0], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "isImplied": ["N", 0], "isImpliedIncluded": ["N", 0], "isLibraryElement": ["N", 1], "memberElement": ["R", 0], "memberElementId": ["N", 1], "memberName": ["N", 0], "memberShortName": ["N", 0], "membershipOwningNamespace": ["R", 1], "name": ["N", 1], "ownedAnnotation": ["A", 1], "ownedElement": ["A", 1], "ownedMemberElement": ["R", 1], "ownedMemberElementId": ["N", 1], "ownedMemberFeature": ["R", 1], "ownedMemberName": ["N", 1], "ownedMemberShortName": ["N", 1], "ownedRelatedElement": ["A", 0], "ownedRelationship": ["A", 0], "ownedRendering": ["R", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelatedElement": ["N", 0], "owningRelationship": ["N", 0], "owningType": ["R", 1], "qualifiedName": ["N", 1], "referencedRendering": ["R", 1], "relatedElement": ["A", 1], "shortName": ["N", 1], "source": ["A", 0], "target": ["A", 0], "textualRepresentation": ["A", 1], "visibility": ["N", 0]}, "ViewUsage": {"aliasIds": ["A", 0], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "exposedElement": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "itemDefinition": ["A", 1], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "partDefinition": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "satisfiedViewpoint": ["A", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "viewCondition": ["A", 1], "viewDefinition": ["N", 1], "viewRendering": ["N", 1]}, "ViewpointDefinition": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assumedConstraint": ["A", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "expression": ["A", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "framedConcern": ["A", 1], "importedMembership": ["A", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isConjugated": ["N", 1], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isSufficient": ["N", 0], "isVariation": ["N", 0], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "output": ["A", 1], "ownedAction": ["A", 1], "ownedAllocation": ["A", 1], "ownedAnalysisCase": ["A", 1], "ownedAnnotation": ["A", 1], "ownedAttribute": ["A", 1], "ownedCalculation": ["A", 1], "ownedCase": ["A", 1], "ownedConcern": ["A", 1], "ownedConjugator": ["N", 1], "ownedConnection": ["A", 1], "ownedConstraint": ["A", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedEnumeration": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedFlow": ["A", 1], "ownedImport": ["A", 1], "ownedInterface": ["A", 1], "ownedIntersecting": ["A", 1], "ownedItem": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedMetadata": ["A", 1], "ownedOccurrence": ["A", 1], "ownedPart": ["A", 1], "ownedPort": ["A", 1], "ownedReference": ["A", 1], "ownedRelationship": ["A", 0], "ownedRendering": ["A", 1], "ownedRequirement": ["A", 1], "ownedSpecialization": ["A", 1], "ownedState": ["A", 1], "ownedSubclassification": ["A", 1], "ownedTransition": ["A", 1], "ownedUnioning": ["A", 1], "ownedUsage": ["A", 1], "ownedUseCase": ["A", 1], "ownedVerificationCase": ["A", 1], "ownedView": ["A", 1], "ownedViewpoint": ["A", 1], "owner": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "parameter": ["A", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "result": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "step": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "viewpointStakeholder": ["A", 1]}, "ViewpointUsage": {"actorParameter": ["A", 1], "aliasIds": ["A", 0], "assumedConstraint": ["A", 1], "behavior": ["A", 1], "chainingFeature": ["A", 1], "constraintDefinition": ["N", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "framedConcern": ["A", 1], "function": ["N", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isModelLevelEvaluable": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "predicate": ["N", 1], "qualifiedName": ["N", 1], "reqId": ["N", 0], "requiredConstraint": ["A", 1], "requirementDefinition": ["N", 1], "result": ["R", 1], "shortName": ["N", 1], "stakeholderParameter": ["A", 1], "subjectParameter": ["R", 1], "text": ["A", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "viewpointDefinition": ["N", 1], "viewpointStakeholder": ["A", 1]}, "WhileLoopActionUsage": {"actionDefinition": ["A", 1], "aliasIds": ["A", 0], "behavior": ["A", 1], "bodyAction": ["R", 1], "chainingFeature": ["A", 1], "crossFeature": ["N", 1], "declaredName": ["N", 0], "declaredShortName": ["N", 0], "definition": ["A", 1], "differencingType": ["A", 1], "directedFeature": ["A", 1], "directedUsage": ["A", 1], "direction": ["N", 0], "documentation": ["A", 1], "elementId": ["N", 0], "endFeature": ["A", 1], "endOwningType": ["N", 1], "feature": ["A", 1], "featureMembership": ["A", 1], "featureTarget": ["R", 1], "featuringType": ["A", 1], "importedMembership": ["A", 1], "individualDefinition": ["N", 1], "inheritedFeature": ["A", 1], "inheritedMembership": ["A", 1], "input": ["A", 1], "intersectingType": ["A", 1], "isAbstract": ["N", 0], "isComposite": ["N", 0], "isConjugated": ["N", 1], "isConstant": ["N", 0], "isDerived": ["N", 0], "isEnd": ["N", 0], "isImpliedIncluded": ["N", 0], "isIndividual": ["N", 0], "isLibraryElement": ["N", 1], "isOrdered": ["N", 0], "isPortion": ["N", 0], "isReference": ["N", 1], "isSufficient": ["N", 0], "isUnique": ["N", 0], "isVariable": ["N", 0], "isVariation": ["N", 0], "mayTimeVary": ["N", 1], "member": ["A", 1], "membership": ["A", 1], "multiplicity": ["N", 1], "name": ["N", 1], "nestedAction": ["A", 1], "nestedAllocation": ["A", 1], "nestedAnalysisCase": ["A", 1], "nestedAttribute": ["A", 1], "nestedCalculation": ["A", 1], "nestedCase": ["A", 1], "nestedConcern": ["A", 1], "nestedConnection": ["A", 1], "nestedConstraint": ["A", 1], "nestedEnumeration": ["A", 1], "nestedFlow": ["A", 1], "nestedInterface": ["A", 1], "nestedItem": ["A", 1], "nestedMetadata": ["A", 1], "nestedOccurrence": ["A", 1], "nestedPart": ["A", 1], "nestedPort": ["A", 1], "nestedReference": ["A", 1], "nestedRendering": ["A", 1], "nestedRequirement": ["A", 1], "nestedState": ["A", 1], "nestedTransition": ["A", 1], "nestedUsage": ["A", 1], "nestedUseCase": ["A", 1], "nestedVerificationCase": ["A", 1], "nestedView": ["A", 1], "nestedViewpoint": ["A", 1], "occurrenceDefinition": ["A", 1], "output": ["A", 1], "ownedAnnotation": ["A", 1], "ownedConjugator": ["N", 1], "ownedCrossSubsetting": ["N", 1], "ownedDifferencing": ["A", 1], "ownedDisjoining": ["A", 1], "ownedElement": ["A", 1], "ownedEndFeature": ["A", 1], "ownedFeature": ["A", 1], "ownedFeatureChaining": ["A", 1], "ownedFeatureInverting": ["A", 1], "ownedFeatureMembership": ["A", 1], "ownedImport": ["A", 1], "ownedIntersecting": ["A", 1], "ownedMember": ["A", 1], "ownedMembership": ["A", 1], "ownedRedefinition": ["A", 1], "ownedReferenceSubsetting": ["N", 1], "ownedRelationship": ["A", 0], "ownedSpecialization": ["A", 1], "ownedSubsetting": ["A", 1], "ownedTypeFeaturing": ["A", 1], "ownedTyping": ["A", 1], "ownedUnioning": ["A", 1], "owner": ["N", 1], "owningDefinition": ["N", 1], "owningFeatureMembership": ["N", 1], "owningMembership": ["N", 1], "owningNamespace": ["N", 1], "owningRelationship": ["N", 0], "owningType": ["N", 1], "owningUsage": ["N", 1], "parameter": ["A", 1], "portionKind": ["N", 0], "qualifiedName": ["N", 1], "shortName": ["N", 1], "textualRepresentation": ["A", 1], "type": ["A", 1], "unioningType": ["A", 1], "untilArgument": ["N", 1], "usage": ["A", 1], "variant": ["A", 1], "variantMembership": ["A", 1], "whileArgument": ["R", 1]}}; +export const OPS = {"AcceptActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "isTriggerAction": ["AcceptActionUsage", "isTriggerAction"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ActionDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ActorMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "parameterDirection": ["ParameterMembership", "parameterDirection"], "path": ["OwningMembership", "path"]}, "AllocationDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AllocationUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AnalysisCaseDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AnalysisCaseUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["CalculationUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AnnotatingElement": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Element", "libraryNamespace"], "path": ["Element", "path"]}, "Annotation": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "AssertConstraintUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstraintUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ConstraintUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AssignmentActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Association": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AssociationStructure": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AttributeDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "AttributeUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Behavior": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "BindingConnector": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "BindingConnectorAsUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "BooleanExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["Expression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "CalculationDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "CalculationUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["CalculationUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "CaseDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "CaseUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["CalculationUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Class": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Classifier": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "CollectExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["OperatorExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Comment": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Element", "libraryNamespace"], "path": ["Element", "path"]}, "ConcernDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConcernUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstraintUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ConstraintUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConjugatedPortDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["ConjugatedPortDefinition", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConjugatedPortTyping": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Conjugation": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "ConnectionDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConnectionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Connector": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConnectorAsUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConstraintDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConstraintUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstraintUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ConstraintUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ConstructorExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["InstantiationExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstructorExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ControlNode": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "multiplicityHasBounds": ["ControlNode", "multiplicityHasBounds"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "CrossSubsetting": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "DataType": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "DecisionNode": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "multiplicityHasBounds": ["ControlNode", "multiplicityHasBounds"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Definition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Dependency": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Differencing": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Disjoining": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Documentation": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Element", "libraryNamespace"], "path": ["Element", "path"]}, "Element": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Element", "libraryNamespace"], "path": ["Element", "path"]}, "ElementFilterMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "EndFeatureMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "EnumerationDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "EnumerationUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "EventOccurrenceUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ExhibitStateUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "isSubstateUsage": ["StateUsage", "isSubstateUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["PerformActionUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Expose": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Import", "importedMemberships"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Expression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["Expression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Feature": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FeatureChainExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["OperatorExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "sourceTargetFeature": ["FeatureChainExpression", "sourceTargetFeature"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FeatureChaining": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "FeatureInverting": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "FeatureMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "FeatureReferenceExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["FeatureReferenceExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["FeatureReferenceExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FeatureTyping": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "FeatureValue": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "Flow": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FlowDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FlowEnd": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FlowUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ForLoopActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ForkNode": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "multiplicityHasBounds": ["ControlNode", "multiplicityHasBounds"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "FramedConcernMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "Function": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "IfActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Import": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Import", "importedMemberships"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "IncludeUseCaseUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["CalculationUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["PerformActionUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "IndexExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["OperatorExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "InstantiationExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["InstantiationExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["Expression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Interaction": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "InterfaceDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "InterfaceUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Intersecting": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Invariant": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["Expression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "InvocationExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["InstantiationExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ItemDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ItemUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "JoinNode": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "multiplicityHasBounds": ["ControlNode", "multiplicityHasBounds"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LibraryPackage": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Package", "importedMemberships"], "includeAsMember": ["Package", "includeAsMember"], "libraryNamespace": ["LibraryPackage", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "namesOf": ["Namespace", "namesOf"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Namespace", "visibleMemberships"]}, "LiteralBoolean": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["LiteralExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["LiteralExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LiteralExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["LiteralExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["LiteralExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LiteralInfinity": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["LiteralExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["LiteralExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LiteralInteger": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["LiteralExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["LiteralExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LiteralRational": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["LiteralExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["LiteralExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LiteralString": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["LiteralExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["LiteralExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "LoopActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Membership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "MembershipExpose": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["MembershipImport", "importedMemberships"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "MembershipImport": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["MembershipImport", "importedMemberships"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "MergeNode": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "multiplicityHasBounds": ["ControlNode", "multiplicityHasBounds"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Metaclass": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "MetadataAccessExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["MetadataAccessExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "metaclassFeature": ["MetadataAccessExpression", "metaclassFeature"], "modelLevelEvaluable": ["MetadataAccessExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "MetadataDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "MetadataFeature": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluateFeature": ["MetadataFeature", "evaluateFeature"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSemantic": ["MetadataFeature", "isSemantic"], "isSyntactic": ["MetadataFeature", "isSyntactic"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "syntaxElement": ["MetadataFeature", "syntaxElement"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "MetadataUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluateFeature": ["MetadataFeature", "evaluateFeature"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSemantic": ["MetadataFeature", "isSemantic"], "isSyntactic": ["MetadataFeature", "isSyntactic"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "syntaxElement": ["MetadataFeature", "syntaxElement"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Multiplicity": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "MultiplicityRange": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "hasBounds": ["MultiplicityRange", "hasBounds"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "valueOfOp": ["MultiplicityRange", "valueOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Namespace": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "namesOf": ["Namespace", "namesOf"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Namespace", "visibleMemberships"]}, "NamespaceExpose": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["NamespaceImport", "importedMemberships"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "NamespaceImport": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["NamespaceImport", "importedMemberships"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "NullExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["NullExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["NullExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ObjectiveMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "OccurrenceDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "OccurrenceUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "OperatorExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["OperatorExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "OwningMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "Package": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Package", "importedMemberships"], "includeAsMember": ["Package", "includeAsMember"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "namesOf": ["Namespace", "namesOf"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Namespace", "visibleMemberships"]}, "ParameterMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "parameterDirection": ["ParameterMembership", "parameterDirection"], "path": ["OwningMembership", "path"]}, "PartDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "PartUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "PayloadFeature": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "PerformActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["PerformActionUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "PortConjugation": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "PortDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "PortUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Predicate": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Redefinition": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "ReferenceSubsetting": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "ReferenceUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ReferenceUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Relationship": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "RenderingDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "RenderingUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "RequirementConstraintMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "RequirementDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "RequirementUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstraintUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ConstraintUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "RequirementVerificationMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "ResultExpressionMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "ReturnParameterMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "parameterDirection": ["ReturnParameterMembership", "parameterDirection"], "path": ["OwningMembership", "path"]}, "SatisfyRequirementUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstraintUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ConstraintUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "SelectExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["OperatorExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "SendActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Specialization": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "StakeholderMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "parameterDirection": ["ParameterMembership", "parameterDirection"], "path": ["OwningMembership", "path"]}, "StateDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "StateSubactionMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "StateUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "isSubstateUsage": ["StateUsage", "isSubstateUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Step": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Structure": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Subclassification": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "SubjectMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "parameterDirection": ["ParameterMembership", "parameterDirection"], "path": ["OwningMembership", "path"]}, "Subsetting": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Succession": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "SuccessionAsUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "SuccessionFlow": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "SuccessionFlowUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Relationship", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Relationship", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "TerminateActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "TextualRepresentation": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Element", "libraryNamespace"], "path": ["Element", "path"]}, "TransitionFeatureMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "TransitionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "sourceFeature": ["TransitionUsage", "sourceFeature"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "triggerPayloadParameter": ["TransitionUsage", "triggerPayloadParameter"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "TriggerInvocationExpression": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["InvocationExpression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "instantiatedTypeOp": ["TriggerInvocationExpression", "instantiatedType"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["InvocationExpression", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Feature", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "Type": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "TypeFeaturing": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Unioning": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["Relationship", "path"]}, "Usage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "UseCaseDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "UseCaseUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["CalculationUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "VariantMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "VerificationCaseDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "VerificationCaseUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["CalculationUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ViewDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ViewRenderingMembership": {"effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "isDistinguishableFrom": ["Membership", "isDistinguishableFrom"], "libraryNamespace": ["Relationship", "libraryNamespace"], "path": ["OwningMembership", "path"]}, "ViewUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "includeAsExposed": ["ViewUsage", "includeAsExposed"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ViewpointDefinition": {"allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Element", "effectiveName"], "effectiveShortName": ["Element", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCompatibleWith": ["Type", "isCompatibleWith"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "supertypes": ["Type", "supertypes"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "ViewpointUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "checkCondition": ["Expression", "checkCondition"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "evaluate": ["Expression", "evaluate"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "modelLevelEvaluable": ["ConstraintUsage", "modelLevelEvaluable"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["ConstraintUsage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}, "WhileLoopActionUsage": {"allRedefinedFeatures": ["Feature", "allRedefinedFeatures"], "allRedefinedFeaturesOf": ["Type", "allRedefinedFeaturesOf"], "allSupertypes": ["Type", "allSupertypes"], "argument": ["ActionUsage", "argument"], "asCartesianProduct": ["Feature", "asCartesianProduct"], "canAccess": ["Feature", "canAccess"], "directionFor": ["Feature", "directionFor"], "directionOf": ["Type", "directionOf"], "directionOfExcluding": ["Type", "directionOfExcluding"], "effectiveName": ["Feature", "effectiveName"], "effectiveShortName": ["Feature", "effectiveShortName"], "escapedName": ["Element", "escapedName"], "importedMemberships": ["Namespace", "importedMemberships"], "inheritableMemberships": ["Type", "inheritableMemberships"], "inheritedMemberships": ["Type", "inheritedMemberships"], "inputParameter": ["ActionUsage", "inputParameter"], "inputParameters": ["ActionUsage", "inputParameters"], "isCartesianProduct": ["Feature", "isCartesianProduct"], "isCompatibleWith": ["Feature", "isCompatibleWith"], "isFeaturedWithin": ["Feature", "isFeaturedWithin"], "isFeaturingType": ["Feature", "isFeaturingType"], "isOwnedCrossFeature": ["Feature", "isOwnedCrossFeature"], "isSubactionUsage": ["ActionUsage", "isSubactionUsage"], "libraryNamespace": ["Element", "libraryNamespace"], "membershipsOfVisibility": ["Namespace", "membershipsOfVisibility"], "multiplicities": ["Type", "multiplicities"], "namesOf": ["Namespace", "namesOf"], "namingFeature": ["Usage", "namingFeature"], "nonPrivateMemberships": ["Type", "nonPrivateMemberships"], "ownedCrossFeature": ["Feature", "ownedCrossFeature"], "path": ["Element", "path"], "qualificationOf": ["Namespace", "qualificationOf"], "redefines": ["Feature", "redefines"], "redefinesFromLibrary": ["Feature", "redefinesFromLibrary"], "referencedFeatureTarget": ["Usage", "referencedFeatureTarget"], "removeRedefinedFeatures": ["Type", "removeRedefinedFeatures"], "resolve": ["Namespace", "resolve"], "resolveGlobal": ["Namespace", "resolveGlobal"], "resolveLocal": ["Namespace", "resolveLocal"], "resolveVisible": ["Namespace", "resolveVisible"], "specializes": ["Type", "specializes"], "specializesFromLibrary": ["Type", "specializesFromLibrary"], "subsetsChain": ["Feature", "subsetsChain"], "supertypes": ["Feature", "supertypes"], "typingFeatures": ["Feature", "typingFeatures"], "unqualifiedNameOf": ["Namespace", "unqualifiedNameOf"], "visibilityOf": ["Namespace", "visibilityOf"], "visibleMemberships": ["Type", "visibleMemberships"]}}; +export const HIERARCHY = {"AcceptActionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "ActionDefinition": ["Behavior", "Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Type"], "ActionUsage": ["Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "ActorMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"], "AllocationDefinition": ["Association", "AssociationStructure", "Class", "Classifier", "ConnectionDefinition", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"], "AllocationUsage": ["ConnectionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"], "AnalysisCaseDefinition": ["ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"], "AnalysisCaseUsage": ["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "AnnotatingElement": ["Element"], "Annotation": ["Element", "Relationship"], "AssertConstraintUsage": ["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Invariant", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "AssignmentActionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Association": ["Classifier", "Element", "Namespace", "Relationship", "Type"], "AssociationStructure": ["Association", "Class", "Classifier", "Element", "Namespace", "Relationship", "Structure", "Type"], "AttributeDefinition": ["Classifier", "DataType", "Definition", "Element", "Namespace", "Type"], "AttributeUsage": ["Element", "Feature", "Namespace", "Type", "Usage"], "Behavior": ["Class", "Classifier", "Element", "Namespace", "Type"], "BindingConnector": ["Connector", "Element", "Feature", "Namespace", "Relationship", "Type"], "BindingConnectorAsUsage": ["BindingConnector", "Connector", "ConnectorAsUsage", "Element", "Feature", "Namespace", "Relationship", "Type", "Usage"], "BooleanExpression": ["Element", "Expression", "Feature", "Namespace", "Step", "Type"], "CalculationDefinition": ["ActionDefinition", "Behavior", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"], "CalculationUsage": ["ActionUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "CaseDefinition": ["ActionDefinition", "Behavior", "CalculationDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"], "CaseUsage": ["ActionUsage", "CalculationUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Class": ["Classifier", "Element", "Namespace", "Type"], "Classifier": ["Element", "Namespace", "Type"], "CollectExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"], "Comment": ["AnnotatingElement", "Element"], "ConcernDefinition": ["Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "RequirementDefinition", "Type"], "ConcernUsage": ["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"], "ConjugatedPortDefinition": ["Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "PortDefinition", "Structure", "Type"], "ConjugatedPortTyping": ["Element", "FeatureTyping", "Relationship", "Specialization"], "Conjugation": ["Element", "Relationship"], "ConnectionDefinition": ["Association", "AssociationStructure", "Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"], "ConnectionUsage": ["Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"], "Connector": ["Element", "Feature", "Namespace", "Relationship", "Type"], "ConnectorAsUsage": ["Connector", "Element", "Feature", "Namespace", "Relationship", "Type", "Usage"], "ConstraintDefinition": ["Behavior", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "Type"], "ConstraintUsage": ["BooleanExpression", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "ConstructorExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "Namespace", "Step", "Type"], "ControlNode": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "CrossSubsetting": ["Element", "Relationship", "Specialization", "Subsetting"], "DataType": ["Classifier", "Element", "Namespace", "Type"], "DecisionNode": ["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Definition": ["Classifier", "Element", "Namespace", "Type"], "Dependency": ["Element", "Relationship"], "Differencing": ["Element", "Relationship"], "Disjoining": ["Element", "Relationship"], "Documentation": ["AnnotatingElement", "Comment", "Element"], "Element": [], "ElementFilterMembership": ["Element", "Membership", "OwningMembership", "Relationship"], "EndFeatureMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "EnumerationDefinition": ["AttributeDefinition", "Classifier", "DataType", "Definition", "Element", "Namespace", "Type"], "EnumerationUsage": ["AttributeUsage", "Element", "Feature", "Namespace", "Type", "Usage"], "EventOccurrenceUsage": ["Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"], "ExhibitStateUsage": ["ActionUsage", "Element", "EventOccurrenceUsage", "Feature", "Namespace", "OccurrenceUsage", "PerformActionUsage", "StateUsage", "Step", "Type", "Usage"], "Expose": ["Element", "Import", "Relationship"], "Expression": ["Element", "Feature", "Namespace", "Step", "Type"], "Feature": ["Element", "Namespace", "Type"], "FeatureChainExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"], "FeatureChaining": ["Element", "Relationship"], "FeatureInverting": ["Element", "Relationship"], "FeatureMembership": ["Element", "Membership", "OwningMembership", "Relationship"], "FeatureReferenceExpression": ["Element", "Expression", "Feature", "Namespace", "Step", "Type"], "FeatureTyping": ["Element", "Relationship", "Specialization"], "FeatureValue": ["Element", "Membership", "OwningMembership", "Relationship"], "Flow": ["Connector", "Element", "Feature", "Namespace", "Relationship", "Step", "Type"], "FlowDefinition": ["ActionDefinition", "Association", "Behavior", "Class", "Classifier", "Definition", "Element", "Interaction", "Namespace", "OccurrenceDefinition", "Relationship", "Type"], "FlowEnd": ["Element", "Feature", "Namespace", "Type"], "FlowUsage": ["ActionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "Flow", "Namespace", "OccurrenceUsage", "Relationship", "Step", "Type", "Usage"], "ForLoopActionUsage": ["ActionUsage", "Element", "Feature", "LoopActionUsage", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "ForkNode": ["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "FramedConcernMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship", "RequirementConstraintMembership"], "Function": ["Behavior", "Class", "Classifier", "Element", "Namespace", "Type"], "IfActionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Import": ["Element", "Relationship"], "IncludeUseCaseUsage": ["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "EventOccurrenceUsage", "Expression", "Feature", "Namespace", "OccurrenceUsage", "PerformActionUsage", "Step", "Type", "Usage", "UseCaseUsage"], "IndexExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"], "InstantiationExpression": ["Element", "Expression", "Feature", "Namespace", "Step", "Type"], "Interaction": ["Association", "Behavior", "Class", "Classifier", "Element", "Namespace", "Relationship", "Type"], "InterfaceDefinition": ["Association", "AssociationStructure", "Class", "Classifier", "ConnectionDefinition", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Relationship", "Structure", "Type"], "InterfaceUsage": ["ConnectionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Relationship", "Type", "Usage"], "Intersecting": ["Element", "Relationship"], "Invariant": ["BooleanExpression", "Element", "Expression", "Feature", "Namespace", "Step", "Type"], "InvocationExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "Namespace", "Step", "Type"], "ItemDefinition": ["Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Structure", "Type"], "ItemUsage": ["Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"], "JoinNode": ["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "LibraryPackage": ["Element", "Namespace", "Package"], "LiteralBoolean": ["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"], "LiteralExpression": ["Element", "Expression", "Feature", "Namespace", "Step", "Type"], "LiteralInfinity": ["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"], "LiteralInteger": ["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"], "LiteralRational": ["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"], "LiteralString": ["Element", "Expression", "Feature", "LiteralExpression", "Namespace", "Step", "Type"], "LoopActionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Membership": ["Element", "Relationship"], "MembershipExpose": ["Element", "Expose", "Import", "MembershipImport", "Relationship"], "MembershipImport": ["Element", "Import", "Relationship"], "MergeNode": ["ActionUsage", "ControlNode", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Metaclass": ["Class", "Classifier", "Element", "Namespace", "Structure", "Type"], "MetadataAccessExpression": ["Element", "Expression", "Feature", "Namespace", "Step", "Type"], "MetadataDefinition": ["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Metaclass", "Namespace", "OccurrenceDefinition", "Structure", "Type"], "MetadataFeature": ["AnnotatingElement", "Element", "Feature", "Namespace", "Type"], "MetadataUsage": ["AnnotatingElement", "Element", "Feature", "ItemUsage", "MetadataFeature", "Namespace", "OccurrenceUsage", "Type", "Usage"], "Multiplicity": ["Element", "Feature", "Namespace", "Type"], "MultiplicityRange": ["Element", "Feature", "Multiplicity", "Namespace", "Type"], "Namespace": ["Element"], "NamespaceExpose": ["Element", "Expose", "Import", "NamespaceImport", "Relationship"], "NamespaceImport": ["Element", "Import", "Relationship"], "NullExpression": ["Element", "Expression", "Feature", "Namespace", "Step", "Type"], "ObjectiveMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "OccurrenceDefinition": ["Class", "Classifier", "Definition", "Element", "Namespace", "Type"], "OccurrenceUsage": ["Element", "Feature", "Namespace", "Type", "Usage"], "OperatorExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "Step", "Type"], "OwningMembership": ["Element", "Membership", "Relationship"], "Package": ["Element", "Namespace"], "ParameterMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "PartDefinition": ["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "Structure", "Type"], "PartUsage": ["Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "Type", "Usage"], "PayloadFeature": ["Element", "Feature", "Namespace", "Type"], "PerformActionUsage": ["ActionUsage", "Element", "EventOccurrenceUsage", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "PortConjugation": ["Conjugation", "Element", "Relationship"], "PortDefinition": ["Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Structure", "Type"], "PortUsage": ["Element", "Feature", "Namespace", "OccurrenceUsage", "Type", "Usage"], "Predicate": ["Behavior", "Class", "Classifier", "Element", "Function", "Namespace", "Type"], "Redefinition": ["Element", "Relationship", "Specialization", "Subsetting"], "ReferenceSubsetting": ["Element", "Relationship", "Specialization", "Subsetting"], "ReferenceUsage": ["Element", "Feature", "Namespace", "Type", "Usage"], "Relationship": ["Element"], "RenderingDefinition": ["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Structure", "Type"], "RenderingUsage": ["Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Type", "Usage"], "RequirementConstraintMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "RequirementDefinition": ["Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "Type"], "RequirementUsage": ["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "RequirementVerificationMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship", "RequirementConstraintMembership"], "ResultExpressionMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "ReturnParameterMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"], "SatisfyRequirementUsage": ["AssertConstraintUsage", "BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Invariant", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"], "SelectExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "OperatorExpression", "Step", "Type"], "SendActionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Specialization": ["Element", "Relationship"], "StakeholderMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"], "StateDefinition": ["ActionDefinition", "Behavior", "Class", "Classifier", "Definition", "Element", "Namespace", "OccurrenceDefinition", "Type"], "StateSubactionMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "StateUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "Step": ["Element", "Feature", "Namespace", "Type"], "Structure": ["Class", "Classifier", "Element", "Namespace", "Type"], "Subclassification": ["Element", "Relationship", "Specialization"], "SubjectMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "ParameterMembership", "Relationship"], "Subsetting": ["Element", "Relationship", "Specialization"], "Succession": ["Connector", "Element", "Feature", "Namespace", "Relationship", "Type"], "SuccessionAsUsage": ["Connector", "ConnectorAsUsage", "Element", "Feature", "Namespace", "Relationship", "Succession", "Type", "Usage"], "SuccessionFlow": ["Connector", "Element", "Feature", "Flow", "Namespace", "Relationship", "Step", "Succession", "Type"], "SuccessionFlowUsage": ["ActionUsage", "Connector", "ConnectorAsUsage", "Element", "Feature", "Flow", "FlowUsage", "Namespace", "OccurrenceUsage", "Relationship", "Step", "Succession", "SuccessionFlow", "Type", "Usage"], "TerminateActionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "TextualRepresentation": ["AnnotatingElement", "Element"], "TransitionFeatureMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "TransitionUsage": ["ActionUsage", "Element", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "TriggerInvocationExpression": ["Element", "Expression", "Feature", "InstantiationExpression", "InvocationExpression", "Namespace", "Step", "Type"], "Type": ["Element", "Namespace"], "TypeFeaturing": ["Element", "Relationship"], "Unioning": ["Element", "Relationship"], "Usage": ["Element", "Feature", "Namespace", "Type"], "UseCaseDefinition": ["ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"], "UseCaseUsage": ["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "VariantMembership": ["Element", "Membership", "OwningMembership", "Relationship"], "VerificationCaseDefinition": ["ActionDefinition", "Behavior", "CalculationDefinition", "CaseDefinition", "Class", "Classifier", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Type"], "VerificationCaseUsage": ["ActionUsage", "CalculationUsage", "CaseUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"], "ViewDefinition": ["Class", "Classifier", "Definition", "Element", "ItemDefinition", "Namespace", "OccurrenceDefinition", "PartDefinition", "Structure", "Type"], "ViewRenderingMembership": ["Element", "FeatureMembership", "Membership", "OwningMembership", "Relationship"], "ViewUsage": ["Element", "Feature", "ItemUsage", "Namespace", "OccurrenceUsage", "PartUsage", "Type", "Usage"], "ViewpointDefinition": ["Behavior", "Class", "Classifier", "ConstraintDefinition", "Definition", "Element", "Function", "Namespace", "OccurrenceDefinition", "Predicate", "RequirementDefinition", "Type"], "ViewpointUsage": ["BooleanExpression", "ConstraintUsage", "Element", "Expression", "Feature", "Namespace", "OccurrenceUsage", "RequirementUsage", "Step", "Type", "Usage"], "WhileLoopActionUsage": ["ActionUsage", "Element", "Feature", "LoopActionUsage", "Namespace", "OccurrenceUsage", "Step", "Type", "Usage"]}; +export const ABSTRACT = ["ConnectorAsUsage", "ControlNode", "Element", "Expose", "Import", "InstantiationExpression", "LoopActionUsage", "Relationship"]; \ No newline at end of file diff --git a/ts/package.json b/ts/package.json new file mode 100644 index 0000000..6917136 --- /dev/null +++ b/ts/package.json @@ -0,0 +1,36 @@ +{ + "name": "sysml", + "version": "0.1.0", + "license": "Apache-2.0", + "description": "Spec-shaped SysML v2 SDK: generated metaclass surface over the SysML Toolkit, or over interchange payloads", + "type": "module", + "main": "index.mjs", + "types": "index.d.ts", + "exports": { + ".": { + "types": "./index.d.ts", + "default": "./index.mjs" + } + }, + "files": [ + "index.mjs", + "index.d.ts", + "runtime.mjs", + "meta.mjs", + "classes.d.ts", + "toolkit.mjs", + "toolkit_table.mjs", + "sysmlv2_abi.wasm", + "LICENSE", + "NOTICE", + "THIRD-PARTY-NOTICES.txt", + "RUST-STANDARD-LIBRARY-NOTICES.html" + ], + "scripts": { + "test": "node demo.mjs && node conformance.generated.mjs", + "check": "tsc --noEmit --strict --skipLibCheck check_types.ts index.d.ts" + }, + "devDependencies": { + "typescript": "^5.5.0" + } +} diff --git a/ts/runtime.mjs b/ts/runtime.mjs new file mode 100644 index 0000000..168fca8 --- /dev/null +++ b/ts/runtime.mjs @@ -0,0 +1,177 @@ +// SDK runtime (TS/JS backend): Model, PayloadBackend, Proxy elements. +// Mirrors python/sysml/base.py — same read semantics, same identity +// rules. A property read returns whatever the backend gave: the +// SysML Toolkit reports its own unimplemented members, so the SDK +// never second-guesses a result. + +import { HIERARCHY, OPS, PROPS } from "./meta.mjs"; + +export class NotComputed extends Error {} +export class NotImplementedInToolkit extends Error {} +export class Gone extends Error {} +// The SDK requires resolved models: typed navigation throws on +// SysML Toolkit @ref passthroughs and dangling @ids. +export class UnresolvedReference extends Error {} + +const isIdRef = (v) => + v !== null && typeof v === "object" && !Array.isArray(v) && + Object.keys(v).length === 1 && typeof v["@id"] === "string"; + +/** Elements by id (document order, the last of a repeated id) and ids by qualified name (the first). */ +function index(elements) { + const byId = new Map(); + const byQname = new Map(); + for (const e of elements) { + if (typeof e["@id"] !== "string") continue; + byId.set(e["@id"], e); + const qn = e["qualifiedName"]; + if (typeof qn === "string" && qn && !byQname.has(qn)) byQname.set(qn, e["@id"]); + } + return { byId, byQname }; +} + +/** A standard library read from a full-form interchange element array, such as the library JSON + * published with the SDK. Index it once and pass it to any number of payload models: their + * references into the library then resolve by the library's normative ids. */ +export class PayloadLibrary { + constructor(elements) { + const { byId, byQname } = index(elements); + this.byId = byId; + this.byQname = byQname; + } + get size() { return this.byId.size; } +} + +// The Backend protocol is defined over opaque per-backend +// element *handles*; an id-keyed backend like this one uses element ids +// as its handles. With a library, an id or qualified name the payload does not +// hold is looked up in the library; the library's elements are not the model's, +// so allHandles lists the payload's only. +export class PayloadBackend { + constructor(elements, library = null) { + const { byId, byQname } = index(elements); + this.byId = byId; + this.byQname = byQname; + this.library = library; + } + #require(handle) { + const el = this.byId.get(handle) ?? this.library?.byId.get(handle); + if (!el) throw new Gone(`no element ${handle} in this payload`); + return el; + } + get(handle, prop) { + const el = this.#require(handle); + return prop in el ? el[prop] : undefined; + } + metaclass(handle) { return this.#require(handle)["@type"]; } + elementId(handle) { this.#require(handle); return handle; } + resolve(qname) { return this.byQname.get(qname) ?? this.library?.byQname.get(qname) ?? null; } + allHandles() { return this.byId.keys(); } + /** A payload holds property values only; there is nothing to evaluate an operation with. */ + call(handle, op) { + throw new NotImplementedInToolkit( + `${op}(): operations are not available on payload models; load the model through the SysML Toolkit backend`); + } +} + +// Keys the Proxy intercepts before spec-property lookup. The non-$ names +// must never be spec property names — enforced at generation time +// (PROXY_INTERCEPTED in tools/gen_classes_ts.py; keep the two in sync). +const SPECIAL = new Set(["$id", "$handle", "$metaclass", "$raw", "then", + "toJSON", "constructor", "valueOf", "toString"]); +// The runtime members `in` reports, beside the metaclass's properties and operations. +const RUNTIME_MEMBERS = new Set(["$id", "$handle", "$metaclass", "$raw"]); + +export class Model { + constructor(backend) { + this.backend = backend; + this.cache = new Map(); + } + /** A model read from a full-form interchange element array. With `library` (a PayloadLibrary), + * references into the standard library resolve against it; its elements are not the model's. */ + static fromFullJson(elements, { library = null } = {}) { + return new Model(new PayloadBackend(elements, library)); + } + wrap(raw, at = "?") { + if (isIdRef(raw)) { + try { return this.element(raw["@id"]); } + catch { + throw new UnresolvedReference( + `dangling reference @id='${raw["@id"]}' at ${at}: target is not ` + + `in this model; the SDK requires resolved models`); + } + } + if (raw !== null && typeof raw === "object" && !Array.isArray(raw) && "@ref" in raw) + throw new UnresolvedReference( + `unresolved reference '${raw["@ref"]}' at ${at} (the SysML Toolkit's @ref ` + + `passthrough is non-standard best-effort); the SDK requires resolved ` + + `models — use $raw() for the raw value`); + if (Array.isArray(raw)) return raw.map((v) => this.wrap(v, at)); + return raw === undefined ? null : raw; + } + element(id) { + let w = this.cache.get(id); + if (w) return w; + const mc = this.backend.metaclass(id); // throws Gone if absent + const model = this; + const props = PROPS[mc] ?? {}; + const ops = OPS[mc] ?? {}; + w = new Proxy({ id, mc }, { + get(t, key) { + if (typeof key !== "string" || SPECIAL.has(key)) { + if (key === "$id") return model.backend.elementId(t.id); + if (key === "$handle") return t.id; + if (key === "$metaclass") return t.mc; + if (key === "$raw") return (p) => model.backend.get(t.id, p); + if (key === "toString" || key === "toJSON") + return () => `<${t.mc} ${model.backend.get(t.id, "qualifiedName") ?? t.id}>`; + return undefined; + } + const meta = props[key]; + if (!meta) { + const op = ops[key]; + if (!op) return undefined; // not a spec member of this metaclass + const spec = op[1]; + return (...args) => model.call(t.id, t.mc, spec, args); + } + const rawVal = model.backend.get(t.id, key); + if (rawVal == null && meta[0] === "A") + return []; // absent arrays normalize to empty (typed-surface rule) + return model.wrap(rawVal, `${t.mc}.${key} (element ${t.id})`); + }, + has(t, key) { return typeof key === "string" && (key in props || key in ops || RUNTIME_MEMBERS.has(key)); }, + set() { throw new TypeError("payload models are read-only"); }, + }); + this.cache.set(id, w); + return w; + } + /** + * Every operation routes through here: the backend evaluates it (the SysML Toolkit answers or + * refuses; a payload refuses), and the result is wrapped like a property value. + */ + call(handle, mc, op, args) { + const raw = this.backend.call(handle, op, args); + return this.wrap(raw, `${mc}.${op}() (element ${handle})`); + } + resolve(qname) { + const handle = this.backend.resolve(qname); + return handle == null ? null : this.element(handle); + } + *all() { for (const h of this.backend.allHandles()) yield this.element(h); } + /** The top-level namespaces: the elements without an owner that are namespaces (a membership + * may have no owner either). */ + roots() { return [...this.all()].filter((el) => is(el, "Namespace") && el.owner == null); } +} + +/** Typed narrowing: is(el, "PartUsage") — metaclass or any ancestor. */ +export function is(el, kind) { + if (!el || typeof el.$metaclass !== "string") return false; + const mc = el.$metaclass; + return mc === kind || (HIERARCHY[mc] ?? []).includes(kind); +} + +export function elementsOfType(model, kind) { + const out = []; + for (const el of model.all()) if (is(el, kind)) out.push(el); + return out; +} diff --git a/ts/toolkit.mjs b/ts/toolkit.mjs new file mode 100644 index 0000000..095b165 --- /dev/null +++ b/ts/toolkit.mjs @@ -0,0 +1,425 @@ +// The SysML Toolkit backend for JavaScript: the binding library (abi/) compiled to WebAssembly, +// driven from Node or a browser. Implements the same Backend contract as PayloadBackend, so +// the generated interfaces and Model are untouched. Handles are the integers the library +// mints, carried as decimal strings to fit the contract; references come back as {"@id": h} +// so Model.wrap mints elements as it does for payloads. +// +// Dispatch: get(handle, prop) finds the declaring class of prop for the element's metaclass +// through toolkit_table.mjs and calls that export; call(handle, op, args) finds the operation's +// row the same way and passes each argument as the binding library's parameter C type says. +// +// The wasm module imports three wasm-bindgen glue functions that a SysML Toolkit dependency +// pulls in; no-op stubs satisfy them. Layouts below are wasm32 (4-byte pointers, 8-byte u64). + +import { Gone, NotImplementedInToolkit, UnresolvedReference } from "./runtime.mjs"; +import { BASES, FUNCS, NAMES_DIGEST } from "./toolkit_table.mjs"; + +const OK = 0, NOT_IMPLEMENTED = 1, NOT_APPLICABLE = 2, INVALID_HANDLE = 3, UNRESOLVED = 7; + +// Struct sizes and offsets on wasm32 (ABI section 4). +const STR = { size: 16, ptr: 0, len: 4, present: 8, owner: 12 }; +const HANDLES = { size: 12, items: 0, len: 4, owner: 8 }; +const REF = { size: 16, present: 0, value: 8 }; +const BOOL = { size: 2, present: 0, value: 1 }; +const NUM = { size: 16, present: 0, value: 8 }; +const OPTS = { size: 36, paths: 0, pathsLen: 4, names: 8, texts: 12, sourcesLen: 16, libraryDir: 20 }; + +// A SysML Toolkit dependency pulls in wasm-bindgen glue imports that the binding library never +// calls on its own paths (descriptors, externref table management, the random source for UUID v4). +// The set changes with SysML Toolkit versions, so the stubs are built from what the module +// declares: the table functions get harmless answers, anything else throws a clear error if +// ever called. +function stubImports(module) { + const imports = {}; + for (const imp of WebAssembly.Module.imports(module)) { + if (imp.kind !== "function") continue; + const ns = (imports[imp.module] ??= {}); + if (imp.name === "__wbindgen_externref_table_grow") ns[imp.name] = () => 0; + else if (imp.name === "__wbindgen_externref_table_set_null" || imp.name === "__wbindgen_describe") ns[imp.name] = () => {}; + else ns[imp.name] = () => { throw new ToolkitError(`unexpected call to host import ${imp.module}.${imp.name}`); }; + } + return imports; +} + +export class ToolkitError extends Error {} + +/** One instantiated module, shared by every session created from it. */ +export class ToolkitLibrary { + /** @param {WebAssembly.Instance} instance */ + constructor(instance) { + this.w = instance.exports; + this.enc = new TextEncoder(); + this.dec = new TextDecoder(); + const p = this.w.sysmlv2_names_digest(), n = this.w.sysmlv2_names_digest_len(); + const have = this.dec.decode(new Uint8Array(this.w.memory.buffer, p, n)); + if (have !== NAMES_DIGEST) { + throw new ToolkitError( + `binding library was generated from naming table ${have.slice(0, 12)}, ` + + `this SDK from ${NAMES_DIGEST.slice(0, 12)}; regenerate one side`); + } + } + + /** Load from bytes, a Response (browser fetch), or a file path (Node). */ + static async load(source) { + let bytes = source; + if (typeof source === "string") { + const { readFileSync } = await import("node:fs"); + bytes = readFileSync(source); + } else if (typeof Response !== "undefined" && source instanceof Response) { + bytes = await source.arrayBuffer(); + } + const module = await WebAssembly.compile(bytes); + const instance = await WebAssembly.instantiate(module, stubImports(module)); + return new ToolkitLibrary(instance); + } + + /** SYSMLV2_ABI_WASM; else the module the package carries; else the repository's build (Node only). */ + static async loadDefault() { + const env = typeof process !== "undefined" && process.env.SYSMLV2_ABI_WASM; + if (env) return ToolkitLibrary.load(env); + const { dirname, join } = await import("node:path"); + const { existsSync } = await import("node:fs"); + const { fileURLToPath } = await import("node:url"); + const here = dirname(fileURLToPath(import.meta.url)); + const packaged = join(here, "sysmlv2_abi.wasm"); + if (existsSync(packaged)) return ToolkitLibrary.load(packaged); + return ToolkitLibrary.load(join(here, "..", "abi", "target", "wasm32-unknown-unknown", "release", "sysmlv2_abi.wasm")); + } + + view() { return new DataView(this.w.memory.buffer); } + + /** Write a JS string into module memory as a Str; returns the Str's address. Caller frees. */ + putStr(text) { + const b = this.enc.encode(text); + const buf = this.w.sysmlv2_alloc(Math.max(1, b.length)); + new Uint8Array(this.w.memory.buffer, buf, b.length).set(b); + const a = this.w.sysmlv2_alloc(STR.size); + const v = this.view(); + v.setUint32(a + STR.ptr, buf, true); + v.setUint32(a + STR.len, b.length, true); + v.setUint8(a + STR.present, 1); + v.setUint32(a + STR.owner, 0, true); + return { addr: a, buf, len: b.length }; + } + + dropStr(s) { + this.w.sysmlv2_dealloc(s.buf, Math.max(1, s.len)); + this.w.sysmlv2_dealloc(s.addr, STR.size); + } + + takeStr(a) { + const v = this.view(); + const present = v.getUint8(a + STR.present) !== 0; + const p = v.getUint32(a + STR.ptr, true), n = v.getUint32(a + STR.len, true); + const s = present && p ? this.dec.decode(new Uint8Array(this.w.memory.buffer, p, n)) : null; + this.w.sysmlv2_free(v.getUint32(a + STR.owner, true)); + return s; + } + + takeHandles(a) { + const v = this.view(); + const items = v.getUint32(a + HANDLES.items, true), n = v.getUint32(a + HANDLES.len, true); + const out = []; + for (let i = 0; i < n; i++) out.push(v.getBigUint64(items + 8 * i, true).toString()); + this.w.sysmlv2_free(v.getUint32(a + HANDLES.owner, true)); + return out; + } +} + +let defaultLibrary = null; + +/** The `.sysml` and `.kerml` files below `dir`, as unit names to text, read as the SysML Toolkit + * reads a library directory itself: in the order of their paths, compared by component, and each + * named by its file name. The unnamed elements of the library take their ids from these names, so + * a library read here has the ids the native build and the library JSON have. Node only. */ +async function readLibraryDir(dir) { + const { readdirSync, readFileSync } = await import("node:fs"); + const { join } = await import("node:path"); + const byComponent = (a, b) => { + const x = a.split("/"), y = b.split("/"); + for (let i = 0; i < Math.min(x.length, y.length); i++) { + if (x[i] !== y[i]) return x[i] < y[i] ? -1 : 1; + } + return x.length - y.length; + }; + const files = readdirSync(dir, { recursive: true }) + .map((f) => String(f).replaceAll("\\", "/")) + .filter((f) => f.endsWith(".sysml") || f.endsWith(".kerml")) + .sort(byComponent); + const units = {}; + for (const f of files) { + const name = f.slice(f.lastIndexOf("/") + 1); + if (name in units) throw new ToolkitError(`two library files are named ${name}; the SysML Toolkit names units by file name`); + units[name] = readFileSync(join(dir, f), "utf8"); + } + return units; +} + +export class ToolkitBackend { + /** @param {ToolkitLibrary} lib @param {number} session */ + constructor(lib, session) { + this.lib = lib; + this.s = session; + this.mcCache = new Map(); + this.declCache = new Map(); + } + + /** + * Open a session over `sources`: unit names to text (this build reads no files). + * + * The standard library, if the model needs it: `librarySources`, its `.sysml` and `.kerml` + * files, each by its file name without the directories, to text (in a browser, fetch them), or + * in Node `libraryDir`, the library's directory, whose files are read for you that way. Either way it is loaded as a library: its + * elements are not among the model's (`all()`, `elementsOfType`) and report `isLibraryElement`. + * `library` is the WebAssembly module to use (see ToolkitLibrary), by default the packaged one. + */ + static async open({ sources, librarySources, libraryDir, library } = {}) { + const lib = library ?? (defaultLibrary ??= await ToolkitLibrary.loadDefault()); + const w = lib.w; + const names = Object.keys(sources ?? {}); + if (names.length === 0) throw new ToolkitError("open needs sources"); + const units = librarySources ?? (libraryDir != null ? await readLibraryDir(libraryDir) : {}); + const unitNames = Object.keys(units); + if (unitNames.length > 0 && typeof w.sysmlv2_session_open_with_library_sources !== "function") + throw new ToolkitError("this binding library predates library sources; use the one this package carries"); + const owned = []; // [address, size] of every allocation to release after the call + const strs = []; // Str values to release + const strArray = (texts) => { + const size = Math.max(1, STR.size * texts.length); + const arr = w.sysmlv2_alloc(size); + owned.push([arr, size]); + texts.forEach((text, i) => { + const s = lib.putStr(text); + strs.push(s); + new Uint8Array(w.memory.buffer, arr + i * STR.size, STR.size).set(new Uint8Array(w.memory.buffer, s.addr, STR.size)); + }); + return arr; + }; + try { + const opts = w.sysmlv2_alloc(OPTS.size); + owned.push([opts, OPTS.size]); + new Uint8Array(w.memory.buffer, opts, OPTS.size).fill(0); + const nameArr = strArray(names); + const textArr = strArray(names.map((n) => sources[n])); + const v = lib.view(); + v.setUint32(opts + OPTS.names, nameArr, true); + v.setUint32(opts + OPTS.texts, textArr, true); + v.setUint32(opts + OPTS.sourcesLen, names.length, true); + const out = w.sysmlv2_alloc(4); + owned.push([out, 4]); + let st; + if (unitNames.length > 0) { + const libNames = strArray(unitNames); + const libTexts = strArray(unitNames.map((n) => units[n])); + st = w.sysmlv2_session_open_with_library_sources(opts, libNames, libTexts, unitNames.length, out); + } else { + st = w.sysmlv2_session_open(opts, out); + } + if (st !== OK) throw new ToolkitError(`the SysML Toolkit could not load the model: status ${st}`); + return new ToolkitBackend(lib, lib.view().getUint32(out, true)); + } finally { + for (const s of strs) lib.dropStr(s); + for (const [addr, size] of owned) w.sysmlv2_dealloc(addr, size); + } + } + + close() { + if (this.s) { this.lib.w.sysmlv2_session_close(this.s); this.s = 0; } + } + + // -- errors -------------------------------------------------------------------------- + + #lastError() { + const a = this.lib.w.sysmlv2_alloc(STR.size); + this.lib.w.sysmlv2_last_error(this.s, a); + const msg = this.lib.takeStr(a) ?? ""; + this.lib.w.sysmlv2_dealloc(a, STR.size); + return msg; + } + + /** True when a value is present; false for NOT_APPLICABLE; throws otherwise. */ + #check(st, where) { + if (st === OK) return true; + if (st === NOT_APPLICABLE) return false; + const msg = this.#lastError(); + if (st === NOT_IMPLEMENTED) throw new NotImplementedInToolkit(msg || `${where}: not implemented by the SysML Toolkit`); + if (st === INVALID_HANDLE) throw new Gone(msg || `${where}: invalid handle`); + if (st === UNRESOLVED) throw new UnresolvedReference(msg || `${where}: a reference did not resolve`); + throw new ToolkitError(`${where}: status ${st}: ${msg}`); + } + + #call(symbol, code, handle, where) { + return this.#invoke(symbol, code, handle, [], where); + } + + /** Call `symbol` with (session, handle, ...args, out) and unpack the result by `code`. */ + #invoke(symbol, code, handle, args, where) { + const w = this.lib.w; + const size = { H: HANDLES.size, S: STR.size, T: STR.size, B: BOOL.size }[code] ?? NUM.size; + const out = w.sysmlv2_alloc(size); + try { + const st = w[symbol](this.s, BigInt(handle), ...args, out); + if (!this.#check(st, where)) return code === "H" || code === "T" ? [] : null; + const v = this.lib.view(); + switch (code) { + case "H": return this.lib.takeHandles(out).map((h) => ({ "@id": h })); + case "R": return v.getUint8(out + REF.present) ? { "@id": v.getBigUint64(out + REF.value, true).toString() } : null; + case "S": return this.lib.takeStr(out); + case "T": { // a list of strings (a requirement's `text`), as JSON text + const text = this.lib.takeStr(out); + return text == null ? [] : JSON.parse(text); + } + case "B": return v.getUint8(out + BOOL.present) ? v.getUint8(out + BOOL.value) !== 0 : null; + case "I": return v.getUint8(out + NUM.present) ? Number(v.getBigInt64(out + NUM.value, true)) : null; + default: return v.getUint8(out + NUM.present) ? v.getFloat64(out + NUM.value, true) : null; + } + } finally { + w.sysmlv2_dealloc(out, size); + } + } + + /** + * A specification operation. Each argument is passed as the binding library's parameter C type + * says: an element as its handle, an array of elements as a handle array, a boolean as a C + * bool, anything else as text. The library answers or refuses. + */ + call(handle, op, args) { + const mc = this.metaclass(handle); + const where = `${mc}.${op}()`; + const e = this.#declaring(mc, `${op}()`); + if (!e) throw new ToolkitError(`${where}: the binding library has no such operation`); + const types = e[2] ? e[2].split(";") : []; + const w = this.lib.w; + const owned = []; // [address, size] to release after the call + const strs = []; + try { + const values = types.map((type, i) => { + const a = args[i]; + // The binding library has no "no element": refuse it rather than pass a handle that names + // some other element. + if (type === "Handle") { + if (a?.$handle == null) throw new TypeError(`${where}: argument ${i + 1} must be an element, not ${a}`); + return BigInt(a.$handle); + } + if (type === "bool") return a ? 1 : 0; + if (type === "Handles") { + const items = Array.isArray(a) ? a : []; + const arr = w.sysmlv2_alloc(Math.max(8, 8 * items.length)); + owned.push([arr, Math.max(8, 8 * items.length)]); + const hs = w.sysmlv2_alloc(HANDLES.size); + owned.push([hs, HANDLES.size]); + const v = this.lib.view(); + items.forEach((x, k) => { + if (x?.$handle == null) throw new TypeError(`${where}: argument ${i + 1} must hold elements only, not ${x}`); + v.setBigUint64(arr + 8 * k, BigInt(x.$handle), true); + }); + v.setUint32(hs + HANDLES.items, arr, true); + v.setUint32(hs + HANDLES.len, items.length, true); + v.setUint32(hs + HANDLES.owner, 0, true); + return hs; + } + const s = this.lib.putStr(a == null ? "" : typeof a === "string" ? a : a.$id ?? String(a)); + strs.push(s); + return s.addr; + }); + return this.#invoke(e[0], e[1], handle, values, where); + } finally { + for (const s of strs) this.lib.dropStr(s); + for (const [addr, size] of owned) w.sysmlv2_dealloc(addr, size); + } + } + + #declaring(mc, prop) { + const key = `${mc}::${prop}`; + if (this.declCache.has(key)) return this.declCache.get(key); + const seen = new Set(), stack = [mc]; + let found = null; + while (stack.length) { + const c = stack.pop(); + if (seen.has(c)) continue; + seen.add(c); + const e = FUNCS[`${c}::${prop}`]; + if (e) { found = e; break; } + stack.push(...(BASES[c] ?? [])); + } + this.declCache.set(key, found); + return found; + } + + // -- the backend contract ------------------------------------------------------------- + + get(handle, prop) { + const mc = this.metaclass(handle); + const e = this.#declaring(mc, prop); + if (!e) return null; // not a member of this metaclass: absent, as the payload backend answers + return this.#call(e[0], e[1], handle, `${mc}.${prop}`); + } + + metaclass(handle) { + let mc = this.mcCache.get(handle); + if (mc !== undefined) return mc; + const a = this.lib.w.sysmlv2_alloc(STR.size); + try { + const st = this.lib.w.sysmlv2_metaclass(this.s, BigInt(handle), a); + this.#check(st, `metaclass(${handle})`); + mc = this.lib.takeStr(a) ?? ""; + } finally { + this.lib.w.sysmlv2_dealloc(a, STR.size); + } + this.mcCache.set(handle, mc); + return mc; + } + + elementId(handle) { + return this.#call("sysmlv2_element_element_id", "S", handle, "elementId") ?? ""; + } + + resolve(qualifiedName) { + const w = this.lib.w; + const arg = this.lib.putStr(qualifiedName); + const out = w.sysmlv2_alloc(REF.size); + try { + const st = w.sysmlv2_session_resolve(this.s, arg.addr, out); + if (!this.#check(st, `resolve(${qualifiedName})`)) return null; + const v = this.lib.view(); + return v.getUint8(out + REF.present) ? v.getBigUint64(out + REF.value, true).toString() : null; + } finally { + this.lib.dropStr(arg); + w.sysmlv2_dealloc(out, REF.size); + } + } + + allHandles() { + return this.#handlesOf("sysmlv2_user_elements", "user_elements"); + } + + roots() { + return this.#handlesOf("sysmlv2_session_roots", "roots"); + } + + /** + * The model as full-form interchange JSON, from the SysML Toolkit's own emitter. With + * `closures` (the default) the inheritance-aware properties carry the specification's values, + * inherited and imported members included; without, the owned side only, as the SysML Toolkit's + * command-line export writes them. + */ + fullJson({ closures = true } = {}) { + const a = this.lib.w.sysmlv2_alloc(STR.size); + try { + this.#check(this.lib.w.sysmlv2_session_full_json(this.s, closures ? 1 : 0, a), "full_json"); + return this.lib.takeStr(a) ?? "[]"; + } finally { + this.lib.w.sysmlv2_dealloc(a, STR.size); + } + } + + #handlesOf(symbol, where) { + const a = this.lib.w.sysmlv2_alloc(HANDLES.size); + try { + this.#check(this.lib.w[symbol](this.s, a), where); + return this.lib.takeHandles(a); + } finally { + this.lib.w.sysmlv2_dealloc(a, HANDLES.size); + } + } +} diff --git a/ts/toolkit_checks.mjs b/ts/toolkit_checks.mjs new file mode 100644 index 0000000..99a8696 --- /dev/null +++ b/ts/toolkit_checks.mjs @@ -0,0 +1,134 @@ +// JavaScript reading directly from the SysML Toolkit through the WebAssembly build of the binding +// library. Skips itself when the module is not built, so the payload checks still run; with +// SYSML_REQUIRE_TOOLKIT=1 a missing module is a failure instead. +import { existsSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { Model, NotImplementedInToolkit, is } from "./index.mjs"; +import { ToolkitBackend } from "./toolkit.mjs"; + +const here = dirname(fileURLToPath(import.meta.url)); +const wasm = process.env.SYSMLV2_ABI_WASM || + join(here, "..", "abi", "target", "wasm32-unknown-unknown", "release", "sysmlv2_abi.wasm"); +if (!existsSync(wasm)) { + if (process.env.SYSML_REQUIRE_TOOLKIT === "1") { + console.error(`SYSML_REQUIRE_TOOLKIT=1 but the wasm build is not at ${wasm}`); + process.exit(1); + } + console.log("SysML Toolkit checks skipped: wasm build of the binding library not present"); + process.exit(0); +} +function check(cond, what) { if (!cond) throw new Error(`FAILED: ${what}`); } + +// The member a SysML Toolkit refusal names (`Type::inheritedMemberships()` gives +// `inheritedMemberships()`). +function refusedMember(message) { + const i = message.indexOf(" is not answered by the SysML Toolkit"); + if (i < 0) return ""; + const head = message.slice(0, i).trim(); + const j = head.lastIndexOf("::"); + return j < 0 ? head : head.slice(j + 2); +} + +// A check that meets the SysML Toolkit's refusal of `member` first (NotImplementedInToolkit +// naming it): an expected failure, reported as one. It fails when it passes (the SysML Toolkit +// answers now: remove the expectation) or when it stops on anything else. +function expectRefusal(member, reason, what, body) { + try { + body(); + } catch (e) { + if (e instanceof NotImplementedInToolkit && refusedMember(e.message) === member) { + console.log(`expected failure: ${what}: the SysML Toolkit refuses ${member} (${reason})`); + return; + } + throw e; + } + throw new Error(`FAILED: ${what}: the SysML Toolkit answers ${member} now; remove the expected refusal`); +} + +const source = "package Demo { part def Wheel; part def Car { part wheels : Wheel[4]; attribute mass; } part def Sports :> Car { part spoiler; } part def Link { part a; part b; connect a to b; } }"; +const be = await ToolkitBackend.open({ sources: { "inline.sysml": source } }); +const m = new Model(be); + +const car = m.resolve("Demo::Car"); +check(is(car, "PartDefinition"), "Car is a PartDefinition"); +check(car.qualifiedName === "Demo::Car", "qualifiedName"); +check(is(car.owner, "Package"), "owner is the package"); +const feats = car.ownedFeature; +check(feats.length === 2 && feats[0].declaredName === "wheels", "ownedFeature"); +check(is(feats[0], "PartUsage"), "wheels is a PartUsage"); +expectRefusal("type", "it waits on implied relationships", "type", + () => check(feats[0].type.length === 1 && feats[0].type[0].declaredName === "Wheel", "type")); +check(feats[0].isComposite === true, "isComposite"); +const sports = m.resolve("Demo::Sports"); +expectRefusal("inheritedFeature", "it waits on implied relationships", "inheritedFeature", + () => check(sports.inheritedFeature.length === 2, `inheritedFeature computed by the SysML Toolkit: ${sports.inheritedFeature.length}`)); +check(car === m.resolve("Demo::Car"), "wrappers are cached by handle"); +check(car.$id.length === 36, "elementId is a UUID"); +// Operations, through the SysML Toolkit's operation entry point; it refuses what it cannot +// answer as specified. +check(car.effectiveName() === "Car", "effectiveName"); +expectRefusal("connectorEnd", "it waits on the implied end redefinitions", "an unnamed connection end is named by the end it redefines", () => { + const connection = m.resolve("Demo::Link").ownedFeature.find((f) => is(f, "ConnectionUsage")); + const end = connection.connectorEnd[0]; + check(end.declaredName === null && end.effectiveName() === "source", + `an unnamed connection end is named by the end it redefines: ${end.effectiveName()}`); +}); +expectRefusal("inheritedMemberships()", "its evidence is incomplete", "inheritedMemberships", () => { + const memberships = sports.inheritedMemberships([], [], false); + check(memberships.length === 2 && memberships[0].memberName === "wheels", "inheritedMemberships"); +}); +let opRefused = false; +try { sports.isCompatibleWith(car); } catch (e) { opRefused = e instanceof NotImplementedInToolkit && e.message.includes("isCompatibleWith"); } +check(opRefused, "an operation the SysML Toolkit cannot answer as specified is refused"); +check(be.fullJson().startsWith("["), "fullJson"); +be.close(); + +// Text beyond ASCII, a requirement's text (a list of strings), the members every element has, and +// the top-level namespaces. +const sizes = new Model(await ToolkitBackend.open({ sources: { "größe.sysml": + "package Sizes { doc /* Größe und Wärme */ requirement def Light { doc /* Keep it light. */ } part def Last; }" } })); +check(is(sizes.resolve("Sizes::Last"), "PartDefinition"), "a source with text beyond ASCII loads whole"); +check(sizes.resolve("Sizes").documentation[0].body.includes("Größe und Wärme"), "text beyond ASCII comes back intact"); +const light = sizes.resolve("Sizes::Light"); +check(Array.isArray(light.text) && light.text.length === 1 && light.text[0].startsWith("Keep it light."), + `a requirement's text is a list of strings: ${JSON.stringify(light.text)}`); +check(light.owner.name === "Sizes", "the members of Element, read on an element's owner"); +check(sizes.roots().some((r) => r.ownedMember.some((m) => m.name === "Sizes")), "roots"); + +// A library given as sources loads as a library: the model resolves against it, and its elements +// are not the model's. +const withLibrary = new Model(await ToolkitBackend.open({ + sources: { "m.sysml": "package M { private import Lib::*; part def D :> Base; }" }, + librarySources: { "lib.sysml": "library package Lib { part def Base; }" }, +})); +const base = withLibrary.resolve("Lib::Base"); +check(base?.isLibraryElement === true, "a library element from sources reports isLibraryElement"); +check(withLibrary.resolve("M::D").ownedSubclassification[0].superclassifier === base, "the model resolves against it"); +check([...withLibrary.all()].every((e) => !e.isLibraryElement), "library elements are not among the model's"); + +// The standard library read from its directory has the ids the native build gives it, so every +// reference of an export resolves against the model or the library JSON (skipped without them). +const libraryDir = join(here, "..", "..", "sysml-toolkit", "spec-refs", "SysML-v2-Release", "sysml.library"); +const libraryJson = join(here, "..", "examples", "sysml.library.full.json"); +if (existsSync(libraryDir) && existsSync(libraryJson)) { + const { readFileSync } = await import("node:fs"); + const vehicle = await ToolkitBackend.open({ + sources: { "vehicle.sysml": readFileSync(join(here, "..", "examples", "vehicle.sysml"), "utf8") }, libraryDir }); + const exported = JSON.parse(vehicle.fullJson()); + const known = new Set([...exported, ...JSON.parse(readFileSync(libraryJson, "utf8"))].map((e) => e["@id"])); + const dangling = new Set(); + const visit = (v) => { + if (Array.isArray(v)) v.forEach(visit); + else if (v && typeof v === "object") { + if (Object.keys(v).length === 1 && "@id" in v) { if (!known.has(v["@id"])) dangling.add(v["@id"]); } + else Object.values(v).forEach(visit); + } + }; + exported.forEach((e) => Object.entries(e).forEach(([k, v]) => { if (k !== "@id") visit(v); })); + check(dangling.size === 0, `the library read from its directory has the library JSON's ids (${dangling.size} references dangle)`); + vehicle.close(); +} else { + console.log("note: the standard library directory or its JSON is absent; the library id check is skipped"); +} +console.log("ALL JS SYSML TOOLKIT CHECKS PASSED"); diff --git a/ts/toolkit_table.mjs b/ts/toolkit_table.mjs new file mode 100644 index 0000000..750e19c --- /dev/null +++ b/ts/toolkit_table.mjs @@ -0,0 +1,4 @@ +// Generated by tools/gen_toolkit_table_js.py. Do not edit. +export const NAMES_DIGEST = "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351"; +export const FUNCS = {"AcceptActionUsage::payloadArgument":["sysmlv2_accept_action_usage_payload_argument","R",""],"AcceptActionUsage::payloadParameter":["sysmlv2_accept_action_usage_payload_parameter","R",""],"AcceptActionUsage::receiverArgument":["sysmlv2_accept_action_usage_receiver_argument","R",""],"AcceptActionUsage::isTriggerAction()":["sysmlv2_accept_action_usage_is_trigger_action","B",""],"ActionDefinition::action":["sysmlv2_action_definition_action","H",""],"ActionUsage::actionDefinition":["sysmlv2_action_usage_action_definition","H",""],"ActionUsage::argument()":["sysmlv2_action_usage_argument","R","Str"],"ActionUsage::inputParameter()":["sysmlv2_action_usage_input_parameter","R","Str"],"ActionUsage::inputParameters()":["sysmlv2_action_usage_input_parameters","H",""],"ActionUsage::isSubactionUsage()":["sysmlv2_action_usage_is_subaction_usage","B",""],"ActorMembership::ownedActorParameter":["sysmlv2_actor_membership_owned_actor_parameter","R",""],"AllocationDefinition::allocation":["sysmlv2_allocation_definition_allocation","H",""],"AllocationUsage::allocationDefinition":["sysmlv2_allocation_usage_allocation_definition","H",""],"AnalysisCaseDefinition::resultExpression":["sysmlv2_analysis_case_definition_result_expression","R",""],"AnalysisCaseUsage::analysisCaseDefinition":["sysmlv2_analysis_case_usage_analysis_case_definition","R",""],"AnalysisCaseUsage::resultExpression":["sysmlv2_analysis_case_usage_result_expression","R",""],"AnnotatingElement::annotatedElement":["sysmlv2_annotating_element_annotated_element","H",""],"AnnotatingElement::annotation":["sysmlv2_annotating_element_annotation","H",""],"AnnotatingElement::ownedAnnotatingRelationship":["sysmlv2_annotating_element_owned_annotating_relationship","H",""],"AnnotatingElement::owningAnnotatingRelationship":["sysmlv2_annotating_element_owning_annotating_relationship","R",""],"Annotation::annotatedElement":["sysmlv2_annotation_annotated_element","R",""],"Annotation::annotatingElement":["sysmlv2_annotation_annotating_element","R",""],"Annotation::ownedAnnotatingElement":["sysmlv2_annotation_owned_annotating_element","R",""],"Annotation::owningAnnotatedElement":["sysmlv2_annotation_owning_annotated_element","R",""],"Annotation::owningAnnotatingElement":["sysmlv2_annotation_owning_annotating_element","R",""],"AssertConstraintUsage::assertedConstraint":["sysmlv2_assert_constraint_usage_asserted_constraint","R",""],"AssignmentActionUsage::referent":["sysmlv2_assignment_action_usage_referent","R",""],"AssignmentActionUsage::targetArgument":["sysmlv2_assignment_action_usage_target_argument","R",""],"AssignmentActionUsage::valueExpression":["sysmlv2_assignment_action_usage_value_expression","R",""],"Association::associationEnd":["sysmlv2_association_association_end","H",""],"Association::relatedType":["sysmlv2_association_related_type","H",""],"Association::sourceType":["sysmlv2_association_source_type","R",""],"Association::targetType":["sysmlv2_association_target_type","H",""],"AttributeUsage::attributeDefinition":["sysmlv2_attribute_usage_attribute_definition","H",""],"Behavior::parameter":["sysmlv2_behavior_parameter","H",""],"Behavior::step":["sysmlv2_behavior_step","H",""],"BooleanExpression::predicate":["sysmlv2_boolean_expression_predicate","R",""],"CalculationDefinition::calculation":["sysmlv2_calculation_definition_calculation","H",""],"CalculationUsage::calculationDefinition":["sysmlv2_calculation_usage_calculation_definition","R",""],"CaseDefinition::actorParameter":["sysmlv2_case_definition_actor_parameter","H",""],"CaseDefinition::objectiveRequirement":["sysmlv2_case_definition_objective_requirement","R",""],"CaseDefinition::subjectParameter":["sysmlv2_case_definition_subject_parameter","R",""],"CaseUsage::actorParameter":["sysmlv2_case_usage_actor_parameter","H",""],"CaseUsage::caseDefinition":["sysmlv2_case_usage_case_definition","R",""],"CaseUsage::objectiveRequirement":["sysmlv2_case_usage_objective_requirement","R",""],"CaseUsage::subjectParameter":["sysmlv2_case_usage_subject_parameter","R",""],"Classifier::ownedSubclassification":["sysmlv2_classifier_owned_subclassification","H",""],"Comment::body":["sysmlv2_comment_body","S",""],"Comment::locale":["sysmlv2_comment_locale","S",""],"ConcernUsage::concernDefinition":["sysmlv2_concern_usage_concern_definition","R",""],"ConjugatedPortDefinition::originalPortDefinition":["sysmlv2_conjugated_port_definition_original_port_definition","R",""],"ConjugatedPortDefinition::ownedPortConjugator":["sysmlv2_conjugated_port_definition_owned_port_conjugator","R",""],"ConjugatedPortTyping::conjugatedPortDefinition":["sysmlv2_conjugated_port_typing_conjugated_port_definition","R",""],"ConjugatedPortTyping::portDefinition":["sysmlv2_conjugated_port_typing_port_definition","R",""],"Conjugation::conjugatedType":["sysmlv2_conjugation_conjugated_type","R",""],"Conjugation::originalType":["sysmlv2_conjugation_original_type","R",""],"Conjugation::owningType":["sysmlv2_conjugation_owning_type","R",""],"ConnectionDefinition::connectionEnd":["sysmlv2_connection_definition_connection_end","H",""],"ConnectionUsage::connectionDefinition":["sysmlv2_connection_usage_connection_definition","H",""],"Connector::association":["sysmlv2_connector_association","H",""],"Connector::connectorEnd":["sysmlv2_connector_connector_end","H",""],"Connector::defaultFeaturingType":["sysmlv2_connector_default_featuring_type","R",""],"Connector::relatedFeature":["sysmlv2_connector_related_feature","H",""],"Connector::sourceFeature":["sysmlv2_connector_source_feature","R",""],"Connector::targetFeature":["sysmlv2_connector_target_feature","H",""],"ConstraintUsage::constraintDefinition":["sysmlv2_constraint_usage_constraint_definition","R",""],"ControlNode::multiplicityHasBounds()":["sysmlv2_control_node_multiplicity_has_bounds","B","Handle;Str;Str"],"CrossSubsetting::crossedFeature":["sysmlv2_cross_subsetting_crossed_feature","R",""],"CrossSubsetting::crossingFeature":["sysmlv2_cross_subsetting_crossing_feature","R",""],"Definition::directedUsage":["sysmlv2_definition_directed_usage","H",""],"Definition::isVariation":["sysmlv2_definition_is_variation","B",""],"Definition::ownedAction":["sysmlv2_definition_owned_action","H",""],"Definition::ownedAllocation":["sysmlv2_definition_owned_allocation","H",""],"Definition::ownedAnalysisCase":["sysmlv2_definition_owned_analysis_case","H",""],"Definition::ownedAttribute":["sysmlv2_definition_owned_attribute","H",""],"Definition::ownedCalculation":["sysmlv2_definition_owned_calculation","H",""],"Definition::ownedCase":["sysmlv2_definition_owned_case","H",""],"Definition::ownedConcern":["sysmlv2_definition_owned_concern","H",""],"Definition::ownedConnection":["sysmlv2_definition_owned_connection","H",""],"Definition::ownedConstraint":["sysmlv2_definition_owned_constraint","H",""],"Definition::ownedEnumeration":["sysmlv2_definition_owned_enumeration","H",""],"Definition::ownedFlow":["sysmlv2_definition_owned_flow","H",""],"Definition::ownedInterface":["sysmlv2_definition_owned_interface","H",""],"Definition::ownedItem":["sysmlv2_definition_owned_item","H",""],"Definition::ownedMetadata":["sysmlv2_definition_owned_metadata","H",""],"Definition::ownedOccurrence":["sysmlv2_definition_owned_occurrence","H",""],"Definition::ownedPart":["sysmlv2_definition_owned_part","H",""],"Definition::ownedPort":["sysmlv2_definition_owned_port","H",""],"Definition::ownedReference":["sysmlv2_definition_owned_reference","H",""],"Definition::ownedRendering":["sysmlv2_definition_owned_rendering","H",""],"Definition::ownedRequirement":["sysmlv2_definition_owned_requirement","H",""],"Definition::ownedState":["sysmlv2_definition_owned_state","H",""],"Definition::ownedTransition":["sysmlv2_definition_owned_transition","H",""],"Definition::ownedUsage":["sysmlv2_definition_owned_usage","H",""],"Definition::ownedUseCase":["sysmlv2_definition_owned_use_case","H",""],"Definition::ownedVerificationCase":["sysmlv2_definition_owned_verification_case","H",""],"Definition::ownedView":["sysmlv2_definition_owned_view","H",""],"Definition::ownedViewpoint":["sysmlv2_definition_owned_viewpoint","H",""],"Definition::usage":["sysmlv2_definition_usage","H",""],"Definition::variant":["sysmlv2_definition_variant","H",""],"Definition::variantMembership":["sysmlv2_definition_variant_membership","H",""],"Dependency::client":["sysmlv2_dependency_client","H",""],"Dependency::supplier":["sysmlv2_dependency_supplier","H",""],"Differencing::differencingType":["sysmlv2_differencing_differencing_type","R",""],"Differencing::typeDifferenced":["sysmlv2_differencing_type_differenced","R",""],"Disjoining::disjoiningType":["sysmlv2_disjoining_disjoining_type","R",""],"Disjoining::owningType":["sysmlv2_disjoining_owning_type","R",""],"Disjoining::typeDisjoined":["sysmlv2_disjoining_type_disjoined","R",""],"Documentation::documentedElement":["sysmlv2_documentation_documented_element","R",""],"Element::aliasIds":["sysmlv2_element_alias_ids","T",""],"Element::declaredName":["sysmlv2_element_declared_name","S",""],"Element::declaredShortName":["sysmlv2_element_declared_short_name","S",""],"Element::documentation":["sysmlv2_element_documentation","H",""],"Element::elementId":["sysmlv2_element_element_id","S",""],"Element::isImpliedIncluded":["sysmlv2_element_is_implied_included","B",""],"Element::isLibraryElement":["sysmlv2_element_is_library_element","B",""],"Element::name":["sysmlv2_element_name","S",""],"Element::ownedAnnotation":["sysmlv2_element_owned_annotation","H",""],"Element::ownedElement":["sysmlv2_element_owned_element","H",""],"Element::ownedRelationship":["sysmlv2_element_owned_relationship","H",""],"Element::owner":["sysmlv2_element_owner","R",""],"Element::owningMembership":["sysmlv2_element_owning_membership","R",""],"Element::owningNamespace":["sysmlv2_element_owning_namespace","R",""],"Element::owningRelationship":["sysmlv2_element_owning_relationship","R",""],"Element::qualifiedName":["sysmlv2_element_qualified_name","S",""],"Element::shortName":["sysmlv2_element_short_name","S",""],"Element::textualRepresentation":["sysmlv2_element_textual_representation","H",""],"Element::effectiveName()":["sysmlv2_element_effective_name","S",""],"Element::effectiveShortName()":["sysmlv2_element_effective_short_name","S",""],"Element::escapedName()":["sysmlv2_element_escaped_name","S",""],"Element::libraryNamespace()":["sysmlv2_element_library_namespace","R",""],"Element::path()":["sysmlv2_element_path","S",""],"ElementFilterMembership::condition":["sysmlv2_element_filter_membership_condition","R",""],"EnumerationDefinition::enumeratedValue":["sysmlv2_enumeration_definition_enumerated_value","H",""],"EnumerationUsage::enumerationDefinition":["sysmlv2_enumeration_usage_enumeration_definition","R",""],"EventOccurrenceUsage::eventOccurrence":["sysmlv2_event_occurrence_usage_event_occurrence","R",""],"ExhibitStateUsage::exhibitedState":["sysmlv2_exhibit_state_usage_exhibited_state","R",""],"Expression::function":["sysmlv2_expression_function","R",""],"Expression::isModelLevelEvaluable":["sysmlv2_expression_is_model_level_evaluable","B",""],"Expression::result":["sysmlv2_expression_result","R",""],"Expression::checkCondition()":["sysmlv2_expression_check_condition","B","Handle"],"Expression::evaluate()":["sysmlv2_expression_evaluate","H","Handle"],"Expression::modelLevelEvaluable()":["sysmlv2_expression_model_level_evaluable","B","Handles"],"Feature::chainingFeature":["sysmlv2_feature_chaining_feature","H",""],"Feature::crossFeature":["sysmlv2_feature_cross_feature","R",""],"Feature::direction":["sysmlv2_feature_direction","S",""],"Feature::endOwningType":["sysmlv2_feature_end_owning_type","R",""],"Feature::featureTarget":["sysmlv2_feature_feature_target","R",""],"Feature::featuringType":["sysmlv2_feature_featuring_type","H",""],"Feature::isComposite":["sysmlv2_feature_is_composite","B",""],"Feature::isConstant":["sysmlv2_feature_is_constant","B",""],"Feature::isDerived":["sysmlv2_feature_is_derived","B",""],"Feature::isEnd":["sysmlv2_feature_is_end","B",""],"Feature::isOrdered":["sysmlv2_feature_is_ordered","B",""],"Feature::isPortion":["sysmlv2_feature_is_portion","B",""],"Feature::isUnique":["sysmlv2_feature_is_unique","B",""],"Feature::isVariable":["sysmlv2_feature_is_variable","B",""],"Feature::ownedCrossSubsetting":["sysmlv2_feature_owned_cross_subsetting","R",""],"Feature::ownedFeatureChaining":["sysmlv2_feature_owned_feature_chaining","H",""],"Feature::ownedFeatureInverting":["sysmlv2_feature_owned_feature_inverting","H",""],"Feature::ownedRedefinition":["sysmlv2_feature_owned_redefinition","H",""],"Feature::ownedReferenceSubsetting":["sysmlv2_feature_owned_reference_subsetting","R",""],"Feature::ownedSubsetting":["sysmlv2_feature_owned_subsetting","H",""],"Feature::ownedTypeFeaturing":["sysmlv2_feature_owned_type_featuring","H",""],"Feature::ownedTyping":["sysmlv2_feature_owned_typing","H",""],"Feature::owningFeatureMembership":["sysmlv2_feature_owning_feature_membership","R",""],"Feature::owningType":["sysmlv2_feature_owning_type","R",""],"Feature::type":["sysmlv2_feature_type","H",""],"Feature::allRedefinedFeatures()":["sysmlv2_feature_all_redefined_features","H",""],"Feature::asCartesianProduct()":["sysmlv2_feature_as_cartesian_product","H",""],"Feature::canAccess()":["sysmlv2_feature_can_access","B","Handle"],"Feature::directionFor()":["sysmlv2_feature_direction_for","S","Handle"],"Feature::isCartesianProduct()":["sysmlv2_feature_is_cartesian_product","B",""],"Feature::isFeaturedWithin()":["sysmlv2_feature_is_featured_within","B","Handle"],"Feature::isFeaturingType()":["sysmlv2_feature_is_featuring_type","B","Handle"],"Feature::isOwnedCrossFeature()":["sysmlv2_feature_is_owned_cross_feature","B",""],"Feature::namingFeature()":["sysmlv2_feature_naming_feature","R",""],"Feature::ownedCrossFeature()":["sysmlv2_feature_owned_cross_feature","R",""],"Feature::redefines()":["sysmlv2_feature_redefines","B","Handle"],"Feature::redefinesFromLibrary()":["sysmlv2_feature_redefines_from_library","B","Str"],"Feature::subsetsChain()":["sysmlv2_feature_subsets_chain","B","Handle;Handle"],"Feature::typingFeatures()":["sysmlv2_feature_typing_features","H",""],"FeatureChainExpression::targetFeature":["sysmlv2_feature_chain_expression_target_feature","R",""],"FeatureChainExpression::sourceTargetFeature()":["sysmlv2_feature_chain_expression_source_target_feature","R",""],"FeatureChaining::chainingFeature":["sysmlv2_feature_chaining_chaining_feature","R",""],"FeatureChaining::featureChained":["sysmlv2_feature_chaining_feature_chained","R",""],"FeatureInverting::featureInverted":["sysmlv2_feature_inverting_feature_inverted","R",""],"FeatureInverting::invertingFeature":["sysmlv2_feature_inverting_inverting_feature","R",""],"FeatureInverting::owningFeature":["sysmlv2_feature_inverting_owning_feature","R",""],"FeatureMembership::ownedMemberFeature":["sysmlv2_feature_membership_owned_member_feature","R",""],"FeatureMembership::owningType":["sysmlv2_feature_membership_owning_type","R",""],"FeatureReferenceExpression::referent":["sysmlv2_feature_reference_expression_referent","R",""],"FeatureTyping::owningFeature":["sysmlv2_feature_typing_owning_feature","R",""],"FeatureTyping::type":["sysmlv2_feature_typing_type","R",""],"FeatureTyping::typedFeature":["sysmlv2_feature_typing_typed_feature","R",""],"FeatureValue::featureWithValue":["sysmlv2_feature_value_feature_with_value","R",""],"FeatureValue::isDefault":["sysmlv2_feature_value_is_default","B",""],"FeatureValue::isInitial":["sysmlv2_feature_value_is_initial","B",""],"FeatureValue::value":["sysmlv2_feature_value_value","R",""],"Flow::flowEnd":["sysmlv2_flow_flow_end","H",""],"Flow::interaction":["sysmlv2_flow_interaction","H",""],"Flow::payloadFeature":["sysmlv2_flow_payload_feature","R",""],"Flow::payloadType":["sysmlv2_flow_payload_type","H",""],"Flow::sourceOutputFeature":["sysmlv2_flow_source_output_feature","R",""],"Flow::targetInputFeature":["sysmlv2_flow_target_input_feature","R",""],"FlowDefinition::flowEnd":["sysmlv2_flow_definition_flow_end","H",""],"FlowUsage::flowDefinition":["sysmlv2_flow_usage_flow_definition","H",""],"ForLoopActionUsage::loopVariable":["sysmlv2_for_loop_action_usage_loop_variable","R",""],"ForLoopActionUsage::seqArgument":["sysmlv2_for_loop_action_usage_seq_argument","R",""],"FramedConcernMembership::ownedConcern":["sysmlv2_framed_concern_membership_owned_concern","R",""],"FramedConcernMembership::referencedConcern":["sysmlv2_framed_concern_membership_referenced_concern","R",""],"Function::expression":["sysmlv2_function_expression","H",""],"Function::isModelLevelEvaluable":["sysmlv2_function_is_model_level_evaluable","B",""],"Function::result":["sysmlv2_function_result","R",""],"IfActionUsage::elseAction":["sysmlv2_if_action_usage_else_action","R",""],"IfActionUsage::ifArgument":["sysmlv2_if_action_usage_if_argument","R",""],"IfActionUsage::thenAction":["sysmlv2_if_action_usage_then_action","R",""],"Import::importOwningNamespace":["sysmlv2_import_import_owning_namespace","R",""],"Import::importedElement":["sysmlv2_import_imported_element","R",""],"Import::isImportAll":["sysmlv2_import_is_import_all","B",""],"Import::isRecursive":["sysmlv2_import_is_recursive","B",""],"Import::visibility":["sysmlv2_import_visibility","S",""],"Import::importedMemberships()":["sysmlv2_import_imported_memberships","H","Handles"],"IncludeUseCaseUsage::useCaseIncluded":["sysmlv2_include_use_case_usage_use_case_included","R",""],"InstantiationExpression::argument":["sysmlv2_instantiation_expression_argument","H",""],"InstantiationExpression::instantiatedType":["sysmlv2_instantiation_expression_instantiated_type","R",""],"InstantiationExpression::instantiatedType()":["sysmlv2_instantiation_expression_instantiated_type_op","R",""],"InterfaceDefinition::interfaceEnd":["sysmlv2_interface_definition_interface_end","H",""],"InterfaceUsage::interfaceDefinition":["sysmlv2_interface_usage_interface_definition","H",""],"Intersecting::intersectingType":["sysmlv2_intersecting_intersecting_type","R",""],"Intersecting::typeIntersected":["sysmlv2_intersecting_type_intersected","R",""],"Invariant::isNegated":["sysmlv2_invariant_is_negated","B",""],"ItemUsage::itemDefinition":["sysmlv2_item_usage_item_definition","H",""],"LibraryPackage::isStandard":["sysmlv2_library_package_is_standard","B",""],"LiteralBoolean::value":["sysmlv2_literal_boolean_value","B",""],"LiteralInteger::value":["sysmlv2_literal_integer_value","I",""],"LiteralRational::value":["sysmlv2_literal_rational_value","F",""],"LiteralString::value":["sysmlv2_literal_string_value","S",""],"LoopActionUsage::bodyAction":["sysmlv2_loop_action_usage_body_action","R",""],"Membership::memberElement":["sysmlv2_membership_member_element","R",""],"Membership::memberElementId":["sysmlv2_membership_member_element_id","S",""],"Membership::memberName":["sysmlv2_membership_member_name","S",""],"Membership::memberShortName":["sysmlv2_membership_member_short_name","S",""],"Membership::membershipOwningNamespace":["sysmlv2_membership_membership_owning_namespace","R",""],"Membership::visibility":["sysmlv2_membership_visibility","S",""],"Membership::isDistinguishableFrom()":["sysmlv2_membership_is_distinguishable_from","B","Handle"],"MembershipImport::importedMembership":["sysmlv2_membership_import_imported_membership","R",""],"MetadataAccessExpression::referencedElement":["sysmlv2_metadata_access_expression_referenced_element","R",""],"MetadataAccessExpression::metaclassFeature()":["sysmlv2_metadata_access_expression_metaclass_feature","R",""],"MetadataFeature::metaclass":["sysmlv2_metadata_feature_metaclass","R",""],"MetadataFeature::evaluateFeature()":["sysmlv2_metadata_feature_evaluate_feature","H","Handle"],"MetadataFeature::isSemantic()":["sysmlv2_metadata_feature_is_semantic","B",""],"MetadataFeature::isSyntactic()":["sysmlv2_metadata_feature_is_syntactic","B",""],"MetadataFeature::syntaxElement()":["sysmlv2_metadata_feature_syntax_element","R",""],"MetadataUsage::metadataDefinition":["sysmlv2_metadata_usage_metadata_definition","R",""],"MultiplicityRange::bound":["sysmlv2_multiplicity_range_bound","H",""],"MultiplicityRange::lowerBound":["sysmlv2_multiplicity_range_lower_bound","R",""],"MultiplicityRange::upperBound":["sysmlv2_multiplicity_range_upper_bound","R",""],"MultiplicityRange::hasBounds()":["sysmlv2_multiplicity_range_has_bounds","B","Str;Str"],"MultiplicityRange::valueOf()":["sysmlv2_multiplicity_range_value_of","I","Handle"],"Namespace::importedMembership":["sysmlv2_namespace_imported_membership","H",""],"Namespace::member":["sysmlv2_namespace_member","H",""],"Namespace::membership":["sysmlv2_namespace_membership","H",""],"Namespace::ownedImport":["sysmlv2_namespace_owned_import","H",""],"Namespace::ownedMember":["sysmlv2_namespace_owned_member","H",""],"Namespace::ownedMembership":["sysmlv2_namespace_owned_membership","H",""],"Namespace::importedMemberships()":["sysmlv2_namespace_imported_memberships","H","Handles"],"Namespace::membershipsOfVisibility()":["sysmlv2_namespace_memberships_of_visibility","H","Str;Handles"],"Namespace::namesOf()":["sysmlv2_namespace_names_of","T","Handle"],"Namespace::qualificationOf()":["sysmlv2_namespace_qualification_of","S","Str"],"Namespace::resolve()":["sysmlv2_namespace_resolve","R","Str"],"Namespace::resolveGlobal()":["sysmlv2_namespace_resolve_global","R","Str"],"Namespace::resolveLocal()":["sysmlv2_namespace_resolve_local","R","Str"],"Namespace::resolveVisible()":["sysmlv2_namespace_resolve_visible","R","Str"],"Namespace::unqualifiedNameOf()":["sysmlv2_namespace_unqualified_name_of","S","Str"],"Namespace::visibilityOf()":["sysmlv2_namespace_visibility_of","S","Handle"],"Namespace::visibleMemberships()":["sysmlv2_namespace_visible_memberships","H","Handles;bool;bool"],"NamespaceImport::importedNamespace":["sysmlv2_namespace_import_imported_namespace","R",""],"ObjectiveMembership::ownedObjectiveRequirement":["sysmlv2_objective_membership_owned_objective_requirement","R",""],"OccurrenceDefinition::isIndividual":["sysmlv2_occurrence_definition_is_individual","B",""],"OccurrenceUsage::individualDefinition":["sysmlv2_occurrence_usage_individual_definition","R",""],"OccurrenceUsage::isIndividual":["sysmlv2_occurrence_usage_is_individual","B",""],"OccurrenceUsage::occurrenceDefinition":["sysmlv2_occurrence_usage_occurrence_definition","H",""],"OccurrenceUsage::portionKind":["sysmlv2_occurrence_usage_portion_kind","S",""],"OperatorExpression::operator":["sysmlv2_operator_expression_operator","S",""],"OwningMembership::ownedMemberElement":["sysmlv2_owning_membership_owned_member_element","R",""],"OwningMembership::ownedMemberElementId":["sysmlv2_owning_membership_owned_member_element_id","S",""],"OwningMembership::ownedMemberName":["sysmlv2_owning_membership_owned_member_name","S",""],"OwningMembership::ownedMemberShortName":["sysmlv2_owning_membership_owned_member_short_name","S",""],"Package::filterCondition":["sysmlv2_package_filter_condition","H",""],"Package::includeAsMember()":["sysmlv2_package_include_as_member","B","Handle"],"ParameterMembership::ownedMemberParameter":["sysmlv2_parameter_membership_owned_member_parameter","R",""],"ParameterMembership::parameterDirection()":["sysmlv2_parameter_membership_parameter_direction","S",""],"PartUsage::partDefinition":["sysmlv2_part_usage_part_definition","H",""],"PerformActionUsage::performedAction":["sysmlv2_perform_action_usage_performed_action","R",""],"PortConjugation::conjugatedPortDefinition":["sysmlv2_port_conjugation_conjugated_port_definition","R",""],"PortConjugation::originalPortDefinition":["sysmlv2_port_conjugation_original_port_definition","R",""],"PortDefinition::conjugatedPortDefinition":["sysmlv2_port_definition_conjugated_port_definition","R",""],"PortUsage::portDefinition":["sysmlv2_port_usage_port_definition","H",""],"Redefinition::redefinedFeature":["sysmlv2_redefinition_redefined_feature","R",""],"Redefinition::redefiningFeature":["sysmlv2_redefinition_redefining_feature","R",""],"ReferenceSubsetting::referencedFeature":["sysmlv2_reference_subsetting_referenced_feature","R",""],"ReferenceSubsetting::referencingFeature":["sysmlv2_reference_subsetting_referencing_feature","R",""],"Relationship::isImplied":["sysmlv2_relationship_is_implied","B",""],"Relationship::ownedRelatedElement":["sysmlv2_relationship_owned_related_element","H",""],"Relationship::owningRelatedElement":["sysmlv2_relationship_owning_related_element","R",""],"Relationship::relatedElement":["sysmlv2_relationship_related_element","H",""],"Relationship::source":["sysmlv2_relationship_source","H",""],"Relationship::target":["sysmlv2_relationship_target","H",""],"RenderingDefinition::rendering":["sysmlv2_rendering_definition_rendering","H",""],"RenderingUsage::renderingDefinition":["sysmlv2_rendering_usage_rendering_definition","R",""],"RequirementConstraintMembership::kind":["sysmlv2_requirement_constraint_membership_kind","S",""],"RequirementConstraintMembership::ownedConstraint":["sysmlv2_requirement_constraint_membership_owned_constraint","R",""],"RequirementConstraintMembership::referencedConstraint":["sysmlv2_requirement_constraint_membership_referenced_constraint","R",""],"RequirementDefinition::actorParameter":["sysmlv2_requirement_definition_actor_parameter","H",""],"RequirementDefinition::assumedConstraint":["sysmlv2_requirement_definition_assumed_constraint","H",""],"RequirementDefinition::framedConcern":["sysmlv2_requirement_definition_framed_concern","H",""],"RequirementDefinition::reqId":["sysmlv2_requirement_definition_req_id","S",""],"RequirementDefinition::requiredConstraint":["sysmlv2_requirement_definition_required_constraint","H",""],"RequirementDefinition::stakeholderParameter":["sysmlv2_requirement_definition_stakeholder_parameter","H",""],"RequirementDefinition::subjectParameter":["sysmlv2_requirement_definition_subject_parameter","R",""],"RequirementDefinition::text":["sysmlv2_requirement_definition_text","T",""],"RequirementUsage::actorParameter":["sysmlv2_requirement_usage_actor_parameter","H",""],"RequirementUsage::assumedConstraint":["sysmlv2_requirement_usage_assumed_constraint","H",""],"RequirementUsage::framedConcern":["sysmlv2_requirement_usage_framed_concern","H",""],"RequirementUsage::reqId":["sysmlv2_requirement_usage_req_id","S",""],"RequirementUsage::requiredConstraint":["sysmlv2_requirement_usage_required_constraint","H",""],"RequirementUsage::requirementDefinition":["sysmlv2_requirement_usage_requirement_definition","R",""],"RequirementUsage::stakeholderParameter":["sysmlv2_requirement_usage_stakeholder_parameter","H",""],"RequirementUsage::subjectParameter":["sysmlv2_requirement_usage_subject_parameter","R",""],"RequirementUsage::text":["sysmlv2_requirement_usage_text","T",""],"RequirementVerificationMembership::ownedRequirement":["sysmlv2_requirement_verification_membership_owned_requirement","R",""],"RequirementVerificationMembership::verifiedRequirement":["sysmlv2_requirement_verification_membership_verified_requirement","R",""],"ResultExpressionMembership::ownedResultExpression":["sysmlv2_result_expression_membership_owned_result_expression","R",""],"SatisfyRequirementUsage::satisfiedRequirement":["sysmlv2_satisfy_requirement_usage_satisfied_requirement","R",""],"SatisfyRequirementUsage::satisfyingFeature":["sysmlv2_satisfy_requirement_usage_satisfying_feature","R",""],"SendActionUsage::payloadArgument":["sysmlv2_send_action_usage_payload_argument","R",""],"SendActionUsage::receiverArgument":["sysmlv2_send_action_usage_receiver_argument","R",""],"SendActionUsage::senderArgument":["sysmlv2_send_action_usage_sender_argument","R",""],"Specialization::general":["sysmlv2_specialization_general","R",""],"Specialization::owningType":["sysmlv2_specialization_owning_type","R",""],"Specialization::specific":["sysmlv2_specialization_specific","R",""],"StakeholderMembership::ownedStakeholderParameter":["sysmlv2_stakeholder_membership_owned_stakeholder_parameter","R",""],"StateDefinition::doAction":["sysmlv2_state_definition_do_action","R",""],"StateDefinition::entryAction":["sysmlv2_state_definition_entry_action","R",""],"StateDefinition::exitAction":["sysmlv2_state_definition_exit_action","R",""],"StateDefinition::isParallel":["sysmlv2_state_definition_is_parallel","B",""],"StateDefinition::state":["sysmlv2_state_definition_state","H",""],"StateSubactionMembership::action":["sysmlv2_state_subaction_membership_action","R",""],"StateSubactionMembership::kind":["sysmlv2_state_subaction_membership_kind","S",""],"StateUsage::doAction":["sysmlv2_state_usage_do_action","R",""],"StateUsage::entryAction":["sysmlv2_state_usage_entry_action","R",""],"StateUsage::exitAction":["sysmlv2_state_usage_exit_action","R",""],"StateUsage::isParallel":["sysmlv2_state_usage_is_parallel","B",""],"StateUsage::stateDefinition":["sysmlv2_state_usage_state_definition","H",""],"StateUsage::isSubstateUsage()":["sysmlv2_state_usage_is_substate_usage","B","bool"],"Step::behavior":["sysmlv2_step_behavior","H",""],"Step::parameter":["sysmlv2_step_parameter","H",""],"Subclassification::owningClassifier":["sysmlv2_subclassification_owning_classifier","R",""],"Subclassification::subclassifier":["sysmlv2_subclassification_subclassifier","R",""],"Subclassification::superclassifier":["sysmlv2_subclassification_superclassifier","R",""],"SubjectMembership::ownedSubjectParameter":["sysmlv2_subject_membership_owned_subject_parameter","R",""],"Subsetting::owningFeature":["sysmlv2_subsetting_owning_feature","R",""],"Subsetting::subsettedFeature":["sysmlv2_subsetting_subsetted_feature","R",""],"Subsetting::subsettingFeature":["sysmlv2_subsetting_subsetting_feature","R",""],"TerminateActionUsage::terminatedOccurrenceArgument":["sysmlv2_terminate_action_usage_terminated_occurrence_argument","R",""],"TextualRepresentation::body":["sysmlv2_textual_representation_body","S",""],"TextualRepresentation::language":["sysmlv2_textual_representation_language","S",""],"TextualRepresentation::representedElement":["sysmlv2_textual_representation_represented_element","R",""],"TransitionFeatureMembership::kind":["sysmlv2_transition_feature_membership_kind","S",""],"TransitionFeatureMembership::transitionFeature":["sysmlv2_transition_feature_membership_transition_feature","R",""],"TransitionUsage::effectAction":["sysmlv2_transition_usage_effect_action","H",""],"TransitionUsage::guardExpression":["sysmlv2_transition_usage_guard_expression","H",""],"TransitionUsage::source":["sysmlv2_transition_usage_source","R",""],"TransitionUsage::succession":["sysmlv2_transition_usage_succession","R",""],"TransitionUsage::target":["sysmlv2_transition_usage_target","R",""],"TransitionUsage::triggerAction":["sysmlv2_transition_usage_trigger_action","H",""],"TransitionUsage::sourceFeature()":["sysmlv2_transition_usage_source_feature","R",""],"TransitionUsage::triggerPayloadParameter()":["sysmlv2_transition_usage_trigger_payload_parameter","R",""],"TriggerInvocationExpression::kind":["sysmlv2_trigger_invocation_expression_kind","S",""],"Type::differencingType":["sysmlv2_type_differencing_type","H",""],"Type::directedFeature":["sysmlv2_type_directed_feature","H",""],"Type::endFeature":["sysmlv2_type_end_feature","H",""],"Type::feature":["sysmlv2_type_feature","H",""],"Type::featureMembership":["sysmlv2_type_feature_membership","H",""],"Type::inheritedFeature":["sysmlv2_type_inherited_feature","H",""],"Type::inheritedMembership":["sysmlv2_type_inherited_membership","H",""],"Type::input":["sysmlv2_type_input","H",""],"Type::intersectingType":["sysmlv2_type_intersecting_type","H",""],"Type::isAbstract":["sysmlv2_type_is_abstract","B",""],"Type::isConjugated":["sysmlv2_type_is_conjugated","B",""],"Type::isSufficient":["sysmlv2_type_is_sufficient","B",""],"Type::multiplicity":["sysmlv2_type_multiplicity","R",""],"Type::output":["sysmlv2_type_output","H",""],"Type::ownedConjugator":["sysmlv2_type_owned_conjugator","R",""],"Type::ownedDifferencing":["sysmlv2_type_owned_differencing","H",""],"Type::ownedDisjoining":["sysmlv2_type_owned_disjoining","H",""],"Type::ownedEndFeature":["sysmlv2_type_owned_end_feature","H",""],"Type::ownedFeature":["sysmlv2_type_owned_feature","H",""],"Type::ownedFeatureMembership":["sysmlv2_type_owned_feature_membership","H",""],"Type::ownedIntersecting":["sysmlv2_type_owned_intersecting","H",""],"Type::ownedSpecialization":["sysmlv2_type_owned_specialization","H",""],"Type::ownedUnioning":["sysmlv2_type_owned_unioning","H",""],"Type::unioningType":["sysmlv2_type_unioning_type","H",""],"Type::allRedefinedFeaturesOf()":["sysmlv2_type_all_redefined_features_of","H","Handle"],"Type::allSupertypes()":["sysmlv2_type_all_supertypes","H",""],"Type::directionOf()":["sysmlv2_type_direction_of","S","Handle"],"Type::directionOfExcluding()":["sysmlv2_type_direction_of_excluding","S","Handle;Handles"],"Type::inheritableMemberships()":["sysmlv2_type_inheritable_memberships","H","Handles;Handles;bool"],"Type::inheritedMemberships()":["sysmlv2_type_inherited_memberships","H","Handles;Handles;bool"],"Type::isCompatibleWith()":["sysmlv2_type_is_compatible_with","B","Handle"],"Type::multiplicities()":["sysmlv2_type_multiplicities","H",""],"Type::nonPrivateMemberships()":["sysmlv2_type_non_private_memberships","H","Handles;Handles;bool"],"Type::removeRedefinedFeatures()":["sysmlv2_type_remove_redefined_features","H","Handles"],"Type::specializes()":["sysmlv2_type_specializes","B","Handle"],"Type::specializesFromLibrary()":["sysmlv2_type_specializes_from_library","B","Str"],"Type::supertypes()":["sysmlv2_type_supertypes","H","bool"],"TypeFeaturing::featureOfType":["sysmlv2_type_featuring_feature_of_type","R",""],"TypeFeaturing::featuringType":["sysmlv2_type_featuring_featuring_type","R",""],"TypeFeaturing::owningFeatureOfType":["sysmlv2_type_featuring_owning_feature_of_type","R",""],"Unioning::typeUnioned":["sysmlv2_unioning_type_unioned","R",""],"Unioning::unioningType":["sysmlv2_unioning_unioning_type","R",""],"Usage::definition":["sysmlv2_usage_definition","H",""],"Usage::directedUsage":["sysmlv2_usage_directed_usage","H",""],"Usage::isReference":["sysmlv2_usage_is_reference","B",""],"Usage::isVariation":["sysmlv2_usage_is_variation","B",""],"Usage::mayTimeVary":["sysmlv2_usage_may_time_vary","B",""],"Usage::nestedAction":["sysmlv2_usage_nested_action","H",""],"Usage::nestedAllocation":["sysmlv2_usage_nested_allocation","H",""],"Usage::nestedAnalysisCase":["sysmlv2_usage_nested_analysis_case","H",""],"Usage::nestedAttribute":["sysmlv2_usage_nested_attribute","H",""],"Usage::nestedCalculation":["sysmlv2_usage_nested_calculation","H",""],"Usage::nestedCase":["sysmlv2_usage_nested_case","H",""],"Usage::nestedConcern":["sysmlv2_usage_nested_concern","H",""],"Usage::nestedConnection":["sysmlv2_usage_nested_connection","H",""],"Usage::nestedConstraint":["sysmlv2_usage_nested_constraint","H",""],"Usage::nestedEnumeration":["sysmlv2_usage_nested_enumeration","H",""],"Usage::nestedFlow":["sysmlv2_usage_nested_flow","H",""],"Usage::nestedInterface":["sysmlv2_usage_nested_interface","H",""],"Usage::nestedItem":["sysmlv2_usage_nested_item","H",""],"Usage::nestedMetadata":["sysmlv2_usage_nested_metadata","H",""],"Usage::nestedOccurrence":["sysmlv2_usage_nested_occurrence","H",""],"Usage::nestedPart":["sysmlv2_usage_nested_part","H",""],"Usage::nestedPort":["sysmlv2_usage_nested_port","H",""],"Usage::nestedReference":["sysmlv2_usage_nested_reference","H",""],"Usage::nestedRendering":["sysmlv2_usage_nested_rendering","H",""],"Usage::nestedRequirement":["sysmlv2_usage_nested_requirement","H",""],"Usage::nestedState":["sysmlv2_usage_nested_state","H",""],"Usage::nestedTransition":["sysmlv2_usage_nested_transition","H",""],"Usage::nestedUsage":["sysmlv2_usage_nested_usage","H",""],"Usage::nestedUseCase":["sysmlv2_usage_nested_use_case","H",""],"Usage::nestedVerificationCase":["sysmlv2_usage_nested_verification_case","H",""],"Usage::nestedView":["sysmlv2_usage_nested_view","H",""],"Usage::nestedViewpoint":["sysmlv2_usage_nested_viewpoint","H",""],"Usage::owningDefinition":["sysmlv2_usage_owning_definition","R",""],"Usage::owningUsage":["sysmlv2_usage_owning_usage","R",""],"Usage::usage":["sysmlv2_usage_usage","H",""],"Usage::variant":["sysmlv2_usage_variant","H",""],"Usage::variantMembership":["sysmlv2_usage_variant_membership","H",""],"Usage::referencedFeatureTarget()":["sysmlv2_usage_referenced_feature_target","R",""],"UseCaseDefinition::includedUseCase":["sysmlv2_use_case_definition_included_use_case","H",""],"UseCaseUsage::includedUseCase":["sysmlv2_use_case_usage_included_use_case","H",""],"UseCaseUsage::useCaseDefinition":["sysmlv2_use_case_usage_use_case_definition","R",""],"VariantMembership::ownedVariantUsage":["sysmlv2_variant_membership_owned_variant_usage","R",""],"VerificationCaseDefinition::verifiedRequirement":["sysmlv2_verification_case_definition_verified_requirement","H",""],"VerificationCaseUsage::verificationCaseDefinition":["sysmlv2_verification_case_usage_verification_case_definition","R",""],"VerificationCaseUsage::verifiedRequirement":["sysmlv2_verification_case_usage_verified_requirement","H",""],"ViewDefinition::satisfiedViewpoint":["sysmlv2_view_definition_satisfied_viewpoint","H",""],"ViewDefinition::view":["sysmlv2_view_definition_view","H",""],"ViewDefinition::viewCondition":["sysmlv2_view_definition_view_condition","H",""],"ViewDefinition::viewRendering":["sysmlv2_view_definition_view_rendering","R",""],"ViewRenderingMembership::ownedRendering":["sysmlv2_view_rendering_membership_owned_rendering","R",""],"ViewRenderingMembership::referencedRendering":["sysmlv2_view_rendering_membership_referenced_rendering","R",""],"ViewUsage::exposedElement":["sysmlv2_view_usage_exposed_element","H",""],"ViewUsage::satisfiedViewpoint":["sysmlv2_view_usage_satisfied_viewpoint","H",""],"ViewUsage::viewCondition":["sysmlv2_view_usage_view_condition","H",""],"ViewUsage::viewDefinition":["sysmlv2_view_usage_view_definition","R",""],"ViewUsage::viewRendering":["sysmlv2_view_usage_view_rendering","R",""],"ViewUsage::includeAsExposed()":["sysmlv2_view_usage_include_as_exposed","B","Handle"],"ViewpointDefinition::viewpointStakeholder":["sysmlv2_viewpoint_definition_viewpoint_stakeholder","H",""],"ViewpointUsage::viewpointDefinition":["sysmlv2_viewpoint_usage_viewpoint_definition","R",""],"ViewpointUsage::viewpointStakeholder":["sysmlv2_viewpoint_usage_viewpoint_stakeholder","H",""],"WhileLoopActionUsage::untilArgument":["sysmlv2_while_loop_action_usage_until_argument","R",""],"WhileLoopActionUsage::whileArgument":["sysmlv2_while_loop_action_usage_while_argument","R",""]}; +export const BASES = {"AcceptActionUsage":["ActionUsage"],"ActionDefinition":["OccurrenceDefinition","Behavior"],"ActionUsage":["Step","OccurrenceUsage"],"ActorMembership":["ParameterMembership"],"AllocationDefinition":["ConnectionDefinition"],"AllocationUsage":["ConnectionUsage"],"AnalysisCaseDefinition":["CaseDefinition"],"AnalysisCaseUsage":["CaseUsage"],"AnnotatingElement":["Element"],"Annotation":["Relationship"],"AssertConstraintUsage":["Invariant","ConstraintUsage"],"AssignmentActionUsage":["ActionUsage"],"Association":["Classifier","Relationship"],"AssociationStructure":["Structure","Association"],"AttributeDefinition":["DataType","Definition"],"AttributeUsage":["Usage"],"Behavior":["Class"],"BindingConnector":["Connector"],"BindingConnectorAsUsage":["BindingConnector","ConnectorAsUsage"],"BooleanExpression":["Expression"],"CalculationDefinition":["ActionDefinition","Function"],"CalculationUsage":["Expression","ActionUsage"],"CaseDefinition":["CalculationDefinition"],"CaseUsage":["CalculationUsage"],"Class":["Classifier"],"Classifier":["Type"],"CollectExpression":["OperatorExpression"],"Comment":["AnnotatingElement"],"ConcernDefinition":["RequirementDefinition"],"ConcernUsage":["RequirementUsage"],"ConjugatedPortDefinition":["PortDefinition"],"ConjugatedPortTyping":["FeatureTyping"],"Conjugation":["Relationship"],"ConnectionDefinition":["AssociationStructure","PartDefinition"],"ConnectionUsage":["PartUsage","ConnectorAsUsage"],"Connector":["Feature","Relationship"],"ConnectorAsUsage":["Usage","Connector"],"ConstraintDefinition":["OccurrenceDefinition","Predicate"],"ConstraintUsage":["OccurrenceUsage","BooleanExpression"],"ConstructorExpression":["InstantiationExpression"],"ControlNode":["ActionUsage"],"CrossSubsetting":["Subsetting"],"DataType":["Classifier"],"DecisionNode":["ControlNode"],"Definition":["Classifier"],"Dependency":["Relationship"],"Differencing":["Relationship"],"Disjoining":["Relationship"],"Documentation":["Comment"],"Element":[],"ElementFilterMembership":["OwningMembership"],"EndFeatureMembership":["FeatureMembership"],"EnumerationDefinition":["AttributeDefinition"],"EnumerationUsage":["AttributeUsage"],"EventOccurrenceUsage":["OccurrenceUsage"],"ExhibitStateUsage":["PerformActionUsage","StateUsage"],"Expose":["Import"],"Expression":["Step"],"Feature":["Type"],"FeatureChainExpression":["OperatorExpression"],"FeatureChaining":["Relationship"],"FeatureInverting":["Relationship"],"FeatureMembership":["OwningMembership"],"FeatureReferenceExpression":["Expression"],"FeatureTyping":["Specialization"],"FeatureValue":["OwningMembership"],"Flow":["Connector","Step"],"FlowDefinition":["ActionDefinition","Interaction"],"FlowEnd":["Feature"],"FlowUsage":["ConnectorAsUsage","Flow","ActionUsage"],"ForLoopActionUsage":["LoopActionUsage"],"ForkNode":["ControlNode"],"FramedConcernMembership":["RequirementConstraintMembership"],"Function":["Behavior"],"IfActionUsage":["ActionUsage"],"Import":["Relationship"],"IncludeUseCaseUsage":["UseCaseUsage","PerformActionUsage"],"IndexExpression":["OperatorExpression"],"InstantiationExpression":["Expression"],"Interaction":["Association","Behavior"],"InterfaceDefinition":["ConnectionDefinition"],"InterfaceUsage":["ConnectionUsage"],"Intersecting":["Relationship"],"Invariant":["BooleanExpression"],"InvocationExpression":["InstantiationExpression"],"ItemDefinition":["Structure","OccurrenceDefinition"],"ItemUsage":["OccurrenceUsage"],"JoinNode":["ControlNode"],"LibraryPackage":["Package"],"LiteralBoolean":["LiteralExpression"],"LiteralExpression":["Expression"],"LiteralInfinity":["LiteralExpression"],"LiteralInteger":["LiteralExpression"],"LiteralRational":["LiteralExpression"],"LiteralString":["LiteralExpression"],"LoopActionUsage":["ActionUsage"],"Membership":["Relationship"],"MembershipExpose":["MembershipImport","Expose"],"MembershipImport":["Import"],"MergeNode":["ControlNode"],"Metaclass":["Structure"],"MetadataAccessExpression":["Expression"],"MetadataDefinition":["ItemDefinition","Metaclass"],"MetadataFeature":["AnnotatingElement","Feature"],"MetadataUsage":["MetadataFeature","ItemUsage"],"Multiplicity":["Feature"],"MultiplicityRange":["Multiplicity"],"Namespace":["Element"],"NamespaceExpose":["Expose","NamespaceImport"],"NamespaceImport":["Import"],"NullExpression":["Expression"],"ObjectiveMembership":["FeatureMembership"],"OccurrenceDefinition":["Definition","Class"],"OccurrenceUsage":["Usage"],"OperatorExpression":["InvocationExpression"],"OwningMembership":["Membership"],"Package":["Namespace"],"ParameterMembership":["FeatureMembership"],"PartDefinition":["ItemDefinition"],"PartUsage":["ItemUsage"],"PayloadFeature":["Feature"],"PerformActionUsage":["EventOccurrenceUsage","ActionUsage"],"PortConjugation":["Conjugation"],"PortDefinition":["Structure","OccurrenceDefinition"],"PortUsage":["OccurrenceUsage"],"Predicate":["Function"],"Redefinition":["Subsetting"],"ReferenceSubsetting":["Subsetting"],"ReferenceUsage":["Usage"],"Relationship":["Element"],"RenderingDefinition":["PartDefinition"],"RenderingUsage":["PartUsage"],"RequirementConstraintMembership":["FeatureMembership"],"RequirementDefinition":["ConstraintDefinition"],"RequirementUsage":["ConstraintUsage"],"RequirementVerificationMembership":["RequirementConstraintMembership"],"ResultExpressionMembership":["FeatureMembership"],"ReturnParameterMembership":["ParameterMembership"],"SatisfyRequirementUsage":["RequirementUsage","AssertConstraintUsage"],"SelectExpression":["OperatorExpression"],"SendActionUsage":["ActionUsage"],"Specialization":["Relationship"],"StakeholderMembership":["ParameterMembership"],"StateDefinition":["ActionDefinition"],"StateSubactionMembership":["FeatureMembership"],"StateUsage":["ActionUsage"],"Step":["Feature"],"Structure":["Class"],"Subclassification":["Specialization"],"SubjectMembership":["ParameterMembership"],"Subsetting":["Specialization"],"Succession":["Connector"],"SuccessionAsUsage":["ConnectorAsUsage","Succession"],"SuccessionFlow":["Succession","Flow"],"SuccessionFlowUsage":["SuccessionFlow","FlowUsage"],"TerminateActionUsage":["ActionUsage"],"TextualRepresentation":["AnnotatingElement"],"TransitionFeatureMembership":["FeatureMembership"],"TransitionUsage":["ActionUsage"],"TriggerInvocationExpression":["InvocationExpression"],"Type":["Namespace"],"TypeFeaturing":["Relationship"],"Unioning":["Relationship"],"Usage":["Feature"],"UseCaseDefinition":["CaseDefinition"],"UseCaseUsage":["CaseUsage"],"VariantMembership":["OwningMembership"],"VerificationCaseDefinition":["CaseDefinition"],"VerificationCaseUsage":["CaseUsage"],"ViewDefinition":["PartDefinition"],"ViewRenderingMembership":["FeatureMembership"],"ViewUsage":["PartUsage"],"ViewpointDefinition":["RequirementDefinition"],"ViewpointUsage":["RequirementUsage"],"WhileLoopActionUsage":["LoopActionUsage"]}; diff --git a/vendor/naming-table/PIN.json b/vendor/naming-table/PIN.json new file mode 100644 index 0000000..99cf0cf --- /dev/null +++ b/vendor/naming-table/PIN.json @@ -0,0 +1,10 @@ +{ + "source": "the naming table of the binding library", + "sourceCommit": "932d4b995cacaa93c9b49a659e8e8783bd0246ff", + "vendoredDate": "2026-10-01", + "files": { + "toolkit-api-names.csv": "3f9b7564be50625bf64b6d5b8f8959ad9b0ca10a64c6b56ce5b1c84b6d2cd351", + "toolkit-delegation-map.csv": "f769720457a89fbe21153464a75118dac568e1d03f1ceb2e038f3ccaa985780c" + }, + "hashAlgorithm": "sha256 over LF-normalized bytes (CRLF -> LF)" +} diff --git a/vendor/naming-table/toolkit-api-names.csv b/vendor/naming-table/toolkit-api-names.csv new file mode 100644 index 0000000..35ae400 --- /dev/null +++ b/vendor/naming-table/toolkit-api-names.csv @@ -0,0 +1,485 @@ +declaring_class,member,kind,rust_fn,params,result_type,result_kind,result_shape,derived,note +AcceptActionUsage,payloadArgument,property,accept_action_usage_payload_argument,,Expression,element,N,yes, +AcceptActionUsage,payloadParameter,property,accept_action_usage_payload_parameter,,ReferenceUsage,element,R,yes, +AcceptActionUsage,receiverArgument,property,accept_action_usage_receiver_argument,,Expression,element,N,yes, +AcceptActionUsage,isTriggerAction,operation,accept_action_usage_is_trigger_action,,,,,, +ActionDefinition,action,property,action_definition_action,,ActionUsage,element,A,yes, +ActionUsage,actionDefinition,property,action_usage_action_definition,,Behavior,element,A,yes, +ActionUsage,argument,operation,action_usage_argument,i,,,,, +ActionUsage,inputParameter,operation,action_usage_input_parameter,i,,,,, +ActionUsage,inputParameters,operation,action_usage_input_parameters,,,,,, +ActionUsage,isSubactionUsage,operation,action_usage_is_subaction_usage,,,,,, +ActorMembership,ownedActorParameter,property,actor_membership_owned_actor_parameter,,PartUsage,element,R,yes, +AllocationDefinition,allocation,property,allocation_definition_allocation,,AllocationUsage,element,A,yes, +AllocationUsage,allocationDefinition,property,allocation_usage_allocation_definition,,AllocationDefinition,element,A,yes, +AnalysisCaseDefinition,resultExpression,property,analysis_case_definition_result_expression,,Expression,element,N,yes, +AnalysisCaseUsage,analysisCaseDefinition,property,analysis_case_usage_analysis_case_definition,,AnalysisCaseDefinition,element,N,yes, +AnalysisCaseUsage,resultExpression,property,analysis_case_usage_result_expression,,Expression,element,N,yes, +AnnotatingElement,annotatedElement,property,annotating_element_annotated_element,,Element,element,A,yes, +AnnotatingElement,annotation,property,annotating_element_annotation,,Annotation,element,A,yes, +AnnotatingElement,ownedAnnotatingRelationship,property,annotating_element_owned_annotating_relationship,,Annotation,element,A,yes, +AnnotatingElement,owningAnnotatingRelationship,property,annotating_element_owning_annotating_relationship,,Annotation,element,N,yes, +Annotation,annotatedElement,property,annotation_annotated_element,,Element,element,R,no, +Annotation,annotatingElement,property,annotation_annotating_element,,AnnotatingElement,element,R,yes, +Annotation,ownedAnnotatingElement,property,annotation_owned_annotating_element,,AnnotatingElement,element,N,yes, +Annotation,owningAnnotatedElement,property,annotation_owning_annotated_element,,Element,element,N,yes, +Annotation,owningAnnotatingElement,property,annotation_owning_annotating_element,,AnnotatingElement,element,N,yes, +AssertConstraintUsage,assertedConstraint,property,assert_constraint_usage_asserted_constraint,,ConstraintUsage,element,R,yes, +AssignmentActionUsage,referent,property,assignment_action_usage_referent,,Feature,element,R,yes, +AssignmentActionUsage,targetArgument,property,assignment_action_usage_target_argument,,Expression,element,N,yes, +AssignmentActionUsage,valueExpression,property,assignment_action_usage_value_expression,,Expression,element,N,yes, +Association,associationEnd,property,association_association_end,,Feature,element,A,yes, +Association,relatedType,property,association_related_type,,Type,element,A,yes, +Association,sourceType,property,association_source_type,,Type,element,N,yes, +Association,targetType,property,association_target_type,,Type,element,A,yes, +AttributeUsage,attributeDefinition,property,attribute_usage_attribute_definition,,DataType,element,A,yes, +Behavior,parameter,property,behavior_parameter,,Feature,element,A,yes, +Behavior,step,property,behavior_step,,Step,element,A,yes, +BooleanExpression,predicate,property,boolean_expression_predicate,,Predicate,element,N,yes, +CalculationDefinition,calculation,property,calculation_definition_calculation,,CalculationUsage,element,A,yes, +CalculationUsage,calculationDefinition,property,calculation_usage_calculation_definition,,Function,element,N,no, +CaseDefinition,actorParameter,property,case_definition_actor_parameter,,PartUsage,element,A,yes, +CaseDefinition,objectiveRequirement,property,case_definition_objective_requirement,,RequirementUsage,element,N,yes, +CaseDefinition,subjectParameter,property,case_definition_subject_parameter,,Usage,element,R,yes, +CaseUsage,actorParameter,property,case_usage_actor_parameter,,PartUsage,element,A,yes, +CaseUsage,caseDefinition,property,case_usage_case_definition,,CaseDefinition,element,N,yes, +CaseUsage,objectiveRequirement,property,case_usage_objective_requirement,,RequirementUsage,element,N,yes, +CaseUsage,subjectParameter,property,case_usage_subject_parameter,,Usage,element,R,yes, +Classifier,ownedSubclassification,property,classifier_owned_subclassification,,Subclassification,element,A,yes, +Comment,body,property,comment_body,,String,primitive,S,no, +Comment,locale,property,comment_locale,,String,primitive,N,no, +ConcernUsage,concernDefinition,property,concern_usage_concern_definition,,ConcernDefinition,element,N,yes, +ConjugatedPortDefinition,originalPortDefinition,property,conjugated_port_definition_original_port_definition,,PortDefinition,element,R,yes, +ConjugatedPortDefinition,ownedPortConjugator,property,conjugated_port_definition_owned_port_conjugator,,PortConjugation,element,R,yes, +ConjugatedPortTyping,conjugatedPortDefinition,property,conjugated_port_typing_conjugated_port_definition,,ConjugatedPortDefinition,element,R,no, +ConjugatedPortTyping,portDefinition,property,conjugated_port_typing_port_definition,,PortDefinition,element,R,yes, +Conjugation,conjugatedType,property,conjugation_conjugated_type,,Type,element,R,no, +Conjugation,originalType,property,conjugation_original_type,,Type,element,R,no, +Conjugation,owningType,property,conjugation_owning_type,,Type,element,N,yes, +ConnectionDefinition,connectionEnd,property,connection_definition_connection_end,,Usage,element,A,yes, +ConnectionUsage,connectionDefinition,property,connection_usage_connection_definition,,AssociationStructure,element,A,yes, +Connector,association,property,connector_association,,Association,element,A,yes, +Connector,connectorEnd,property,connector_connector_end,,Feature,element,A,yes, +Connector,defaultFeaturingType,property,connector_default_featuring_type,,Type,element,N,yes, +Connector,relatedFeature,property,connector_related_feature,,Feature,element,A,yes, +Connector,sourceFeature,property,connector_source_feature,,Feature,element,N,yes, +Connector,targetFeature,property,connector_target_feature,,Feature,element,A,yes, +ConstraintUsage,constraintDefinition,property,constraint_usage_constraint_definition,,Predicate,element,N,yes, +ControlNode,multiplicityHasBounds,operation,control_node_multiplicity_has_bounds,mult;lower;upper,,,,, +CrossSubsetting,crossedFeature,property,cross_subsetting_crossed_feature,,Feature,element,R,no, +CrossSubsetting,crossingFeature,property,cross_subsetting_crossing_feature,,Feature,element,R,no, +Definition,directedUsage,property,definition_directed_usage,,Usage,element,A,yes, +Definition,isVariation,property,definition_is_variation,,Boolean,primitive,N,no, +Definition,ownedAction,property,definition_owned_action,,ActionUsage,element,A,yes, +Definition,ownedAllocation,property,definition_owned_allocation,,AllocationUsage,element,A,yes, +Definition,ownedAnalysisCase,property,definition_owned_analysis_case,,AnalysisCaseUsage,element,A,yes, +Definition,ownedAttribute,property,definition_owned_attribute,,AttributeUsage,element,A,yes, +Definition,ownedCalculation,property,definition_owned_calculation,,CalculationUsage,element,A,yes, +Definition,ownedCase,property,definition_owned_case,,CaseUsage,element,A,yes, +Definition,ownedConcern,property,definition_owned_concern,,ConcernUsage,element,A,yes, +Definition,ownedConnection,property,definition_owned_connection,,ConnectorAsUsage,element,A,yes, +Definition,ownedConstraint,property,definition_owned_constraint,,ConstraintUsage,element,A,yes, +Definition,ownedEnumeration,property,definition_owned_enumeration,,EnumerationUsage,element,A,yes, +Definition,ownedFlow,property,definition_owned_flow,,FlowUsage,element,A,yes, +Definition,ownedInterface,property,definition_owned_interface,,InterfaceUsage,element,A,yes, +Definition,ownedItem,property,definition_owned_item,,ItemUsage,element,A,yes, +Definition,ownedMetadata,property,definition_owned_metadata,,MetadataUsage,element,A,yes, +Definition,ownedOccurrence,property,definition_owned_occurrence,,OccurrenceUsage,element,A,yes, +Definition,ownedPart,property,definition_owned_part,,PartUsage,element,A,yes, +Definition,ownedPort,property,definition_owned_port,,PortUsage,element,A,yes, +Definition,ownedReference,property,definition_owned_reference,,ReferenceUsage,element,A,yes, +Definition,ownedRendering,property,definition_owned_rendering,,RenderingUsage,element,A,yes, +Definition,ownedRequirement,property,definition_owned_requirement,,RequirementUsage,element,A,yes, +Definition,ownedState,property,definition_owned_state,,StateUsage,element,A,yes, +Definition,ownedTransition,property,definition_owned_transition,,TransitionUsage,element,A,yes, +Definition,ownedUsage,property,definition_owned_usage,,Usage,element,A,yes, +Definition,ownedUseCase,property,definition_owned_use_case,,UseCaseUsage,element,A,yes, +Definition,ownedVerificationCase,property,definition_owned_verification_case,,VerificationCaseUsage,element,A,yes, +Definition,ownedView,property,definition_owned_view,,ViewUsage,element,A,yes, +Definition,ownedViewpoint,property,definition_owned_viewpoint,,ViewpointUsage,element,A,yes, +Definition,usage,property,definition_usage,,Usage,element,A,yes, +Definition,variant,property,definition_variant,,Usage,element,A,yes, +Definition,variantMembership,property,definition_variant_membership,,VariantMembership,element,A,yes, +Dependency,client,property,dependency_client,,Element,element,A,no, +Dependency,supplier,property,dependency_supplier,,Element,element,A,no, +Differencing,differencingType,property,differencing_differencing_type,,Type,element,R,no, +Differencing,typeDifferenced,property,differencing_type_differenced,,Type,element,R,yes, +Disjoining,disjoiningType,property,disjoining_disjoining_type,,Type,element,R,no, +Disjoining,owningType,property,disjoining_owning_type,,Type,element,N,yes, +Disjoining,typeDisjoined,property,disjoining_type_disjoined,,Type,element,R,no, +Documentation,documentedElement,property,documentation_documented_element,,Element,element,R,yes, +Element,aliasIds,property,element_alias_ids,,String,primitive,A,no, +Element,declaredName,property,element_declared_name,,String,primitive,N,no, +Element,declaredShortName,property,element_declared_short_name,,String,primitive,N,no, +Element,documentation,property,element_documentation,,Documentation,element,A,yes, +Element,elementId,property,element_element_id,,String,primitive,N,no, +Element,isImpliedIncluded,property,element_is_implied_included,,Boolean,primitive,N,no, +Element,isLibraryElement,property,element_is_library_element,,Boolean,primitive,N,yes, +Element,name,property,element_name,,String,primitive,N,yes,CONFLICT: a function with this name exists today and returns declaredName (different meaning). Existing callers must be audited or the legacy fn renamed. +Element,ownedAnnotation,property,element_owned_annotation,,Annotation,element,A,yes, +Element,ownedElement,property,element_owned_element,,Element,element,A,yes, +Element,ownedRelationship,property,element_owned_relationship,,Relationship,element,A,no, +Element,owner,property,element_owner,,Element,element,N,yes, +Element,owningMembership,property,element_owning_membership,,OwningMembership,element,N,yes, +Element,owningNamespace,property,element_owning_namespace,,Namespace,element,N,yes, +Element,owningRelationship,property,element_owning_relationship,,Relationship,element,N,no, +Element,qualifiedName,property,element_qualified_name,,String,primitive,N,yes,A function with this name exists today and appears to mean the same; confirm and reuse. +Element,shortName,property,element_short_name,,String,primitive,N,yes,CONFLICT: a function with this name exists today and returns declaredShortName (different meaning). Existing callers must be audited or the legacy fn renamed. +Element,textualRepresentation,property,element_textual_representation,,TextualRepresentation,element,A,yes, +Element,effectiveName,operation,element_effective_name,,,,,,A function with this name exists today and appears to mean the same; confirm and reuse. +Element,effectiveShortName,operation,element_effective_short_name,,,,,, +Element,escapedName,operation,element_escaped_name,,,,,, +Element,libraryNamespace,operation,element_library_namespace,,,,,, +Element,path,operation,element_path,,,,,, +ElementFilterMembership,condition,property,element_filter_membership_condition,,Expression,element,R,yes, +EnumerationDefinition,enumeratedValue,property,enumeration_definition_enumerated_value,,EnumerationUsage,element,A,yes, +EnumerationUsage,enumerationDefinition,property,enumeration_usage_enumeration_definition,,EnumerationDefinition,element,R,yes, +EventOccurrenceUsage,eventOccurrence,property,event_occurrence_usage_event_occurrence,,OccurrenceUsage,element,R,yes, +ExhibitStateUsage,exhibitedState,property,exhibit_state_usage_exhibited_state,,StateUsage,element,R,yes, +Expression,function,property,expression_function,,Function,element,N,yes, +Expression,isModelLevelEvaluable,property,expression_is_model_level_evaluable,,Boolean,primitive,N,yes, +Expression,result,property,expression_result,,Feature,element,R,yes, +Expression,checkCondition,operation,expression_check_condition,target,,,,, +Expression,evaluate,operation,expression_evaluate,target,,,,,"the XMI parameter named ""result"" is the return value (specification signature checked 2026-09-27); not an argument" +Expression,modelLevelEvaluable,operation,expression_model_level_evaluable,visited,,,,, +Feature,chainingFeature,property,feature_chaining_feature,,Feature,element,A,yes, +Feature,crossFeature,property,feature_cross_feature,,Feature,element,N,yes, +Feature,direction,property,feature_direction,,FeatureDirectionKind,enum,N,no, +Feature,endOwningType,property,feature_end_owning_type,,Type,element,N,yes, +Feature,featureTarget,property,feature_feature_target,,Feature,element,R,yes, +Feature,featuringType,property,feature_featuring_type,,Type,element,A,yes, +Feature,isComposite,property,feature_is_composite,,Boolean,primitive,N,no, +Feature,isConstant,property,feature_is_constant,,Boolean,primitive,N,no, +Feature,isDerived,property,feature_is_derived,,Boolean,primitive,N,no, +Feature,isEnd,property,feature_is_end,,Boolean,primitive,N,no, +Feature,isOrdered,property,feature_is_ordered,,Boolean,primitive,N,no, +Feature,isPortion,property,feature_is_portion,,Boolean,primitive,N,no, +Feature,isUnique,property,feature_is_unique,,Boolean,primitive,N,no, +Feature,isVariable,property,feature_is_variable,,Boolean,primitive,N,no, +Feature,ownedCrossSubsetting,property,feature_owned_cross_subsetting,,CrossSubsetting,element,N,yes, +Feature,ownedFeatureChaining,property,feature_owned_feature_chaining,,FeatureChaining,element,A,yes, +Feature,ownedFeatureInverting,property,feature_owned_feature_inverting,,FeatureInverting,element,A,yes, +Feature,ownedRedefinition,property,feature_owned_redefinition,,Redefinition,element,A,yes, +Feature,ownedReferenceSubsetting,property,feature_owned_reference_subsetting,,ReferenceSubsetting,element,N,yes, +Feature,ownedSubsetting,property,feature_owned_subsetting,,Subsetting,element,A,yes, +Feature,ownedTypeFeaturing,property,feature_owned_type_featuring,,TypeFeaturing,element,A,yes, +Feature,ownedTyping,property,feature_owned_typing,,FeatureTyping,element,A,yes, +Feature,owningFeatureMembership,property,feature_owning_feature_membership,,FeatureMembership,element,N,yes, +Feature,owningType,property,feature_owning_type,,Type,element,N,yes, +Feature,type,property,feature_type,,Type,element,A,yes, +Feature,allRedefinedFeatures,operation,feature_all_redefined_features,,,,,, +Feature,asCartesianProduct,operation,feature_as_cartesian_product,,,,,, +Feature,canAccess,operation,feature_can_access,feature,,,,, +Feature,directionFor,operation,feature_direction_for,ty,,,,, +Feature,isCartesianProduct,operation,feature_is_cartesian_product,,,,,, +Feature,isFeaturedWithin,operation,feature_is_featured_within,ty,,,,, +Feature,isFeaturingType,operation,feature_is_featuring_type,ty,,,,, +Feature,isOwnedCrossFeature,operation,feature_is_owned_cross_feature,,,,,, +Feature,namingFeature,operation,feature_naming_feature,,,,,, +Feature,ownedCrossFeature,operation,feature_owned_cross_feature,,,,,, +Feature,redefines,operation,feature_redefines,redefined_feature,,,,, +Feature,redefinesFromLibrary,operation,feature_redefines_from_library,library_feature_name,,,,, +Feature,subsetsChain,operation,feature_subsets_chain,first;second,,,,, +Feature,typingFeatures,operation,feature_typing_features,,,,,, +FeatureChainExpression,targetFeature,property,feature_chain_expression_target_feature,,Feature,element,R,yes, +FeatureChainExpression,sourceTargetFeature,operation,feature_chain_expression_source_target_feature,,,,,, +FeatureChaining,chainingFeature,property,feature_chaining_chaining_feature,,Feature,element,R,no, +FeatureChaining,featureChained,property,feature_chaining_feature_chained,,Feature,element,R,yes, +FeatureInverting,featureInverted,property,feature_inverting_feature_inverted,,Feature,element,R,no, +FeatureInverting,invertingFeature,property,feature_inverting_inverting_feature,,Feature,element,R,no, +FeatureInverting,owningFeature,property,feature_inverting_owning_feature,,Feature,element,N,yes, +FeatureMembership,ownedMemberFeature,property,feature_membership_owned_member_feature,,Feature,element,R,yes, +FeatureMembership,owningType,property,feature_membership_owning_type,,Type,element,R,yes, +FeatureReferenceExpression,referent,property,feature_reference_expression_referent,,Feature,element,R,yes, +FeatureTyping,owningFeature,property,feature_typing_owning_feature,,Feature,element,N,yes, +FeatureTyping,type,property,feature_typing_type,,Type,element,R,no, +FeatureTyping,typedFeature,property,feature_typing_typed_feature,,Feature,element,R,no, +FeatureValue,featureWithValue,property,feature_value_feature_with_value,,Feature,element,R,yes, +FeatureValue,isDefault,property,feature_value_is_default,,Boolean,primitive,N,no, +FeatureValue,isInitial,property,feature_value_is_initial,,Boolean,primitive,N,no, +FeatureValue,value,property,feature_value_value,,Expression,element,R,yes, +Flow,flowEnd,property,flow_flow_end,,FlowEnd,element,A,yes, +Flow,interaction,property,flow_interaction,,Interaction,element,A,yes, +Flow,payloadFeature,property,flow_payload_feature,,PayloadFeature,element,N,yes, +Flow,payloadType,property,flow_payload_type,,Classifier,element,A,yes, +Flow,sourceOutputFeature,property,flow_source_output_feature,,Feature,element,N,yes, +Flow,targetInputFeature,property,flow_target_input_feature,,Feature,element,N,yes, +FlowDefinition,flowEnd,property,flow_definition_flow_end,,Usage,element,A,yes, +FlowUsage,flowDefinition,property,flow_usage_flow_definition,,Interaction,element,A,yes, +ForLoopActionUsage,loopVariable,property,for_loop_action_usage_loop_variable,,ReferenceUsage,element,R,yes, +ForLoopActionUsage,seqArgument,property,for_loop_action_usage_seq_argument,,Expression,element,R,yes, +FramedConcernMembership,ownedConcern,property,framed_concern_membership_owned_concern,,ConcernUsage,element,R,yes, +FramedConcernMembership,referencedConcern,property,framed_concern_membership_referenced_concern,,ConcernUsage,element,R,yes, +Function,expression,property,function_expression,,Expression,element,A,yes, +Function,isModelLevelEvaluable,property,function_is_model_level_evaluable,,Boolean,primitive,N,yes, +Function,result,property,function_result,,Feature,element,R,yes, +IfActionUsage,elseAction,property,if_action_usage_else_action,,ActionUsage,element,N,yes, +IfActionUsage,ifArgument,property,if_action_usage_if_argument,,Expression,element,R,yes, +IfActionUsage,thenAction,property,if_action_usage_then_action,,ActionUsage,element,R,yes, +Import,importOwningNamespace,property,import_import_owning_namespace,,Namespace,element,R,yes, +Import,importedElement,property,import_imported_element,,Element,element,R,yes, +Import,isImportAll,property,import_is_import_all,,Boolean,primitive,N,no, +Import,isRecursive,property,import_is_recursive,,Boolean,primitive,N,no, +Import,visibility,property,import_visibility,,VisibilityKind,enum,N,no, +Import,importedMemberships,operation,import_imported_memberships,excluded,,,,, +IncludeUseCaseUsage,useCaseIncluded,property,include_use_case_usage_use_case_included,,UseCaseUsage,element,R,yes, +InstantiationExpression,argument,property,instantiation_expression_argument,,Expression,element,A,yes, +InstantiationExpression,instantiatedType,property,instantiation_expression_instantiated_type,,Type,element,R,yes, +InstantiationExpression,instantiatedType,operation,instantiation_expression_instantiated_type_op,,,,,,"RENAMED: collides with the same-named property on this class; operation suffixed ""_op""" +InterfaceDefinition,interfaceEnd,property,interface_definition_interface_end,,PortUsage,element,A,yes, +InterfaceUsage,interfaceDefinition,property,interface_usage_interface_definition,,InterfaceDefinition,element,A,yes, +Intersecting,intersectingType,property,intersecting_intersecting_type,,Type,element,R,no, +Intersecting,typeIntersected,property,intersecting_type_intersected,,Type,element,R,yes, +Invariant,isNegated,property,invariant_is_negated,,Boolean,primitive,N,no, +ItemUsage,itemDefinition,property,item_usage_item_definition,,Structure,element,A,yes, +LibraryPackage,isStandard,property,library_package_is_standard,,Boolean,primitive,N,no, +LiteralBoolean,value,property,literal_boolean_value,,Boolean,primitive,N,no, +LiteralInteger,value,property,literal_integer_value,,Integer,primitive,N,no, +LiteralRational,value,property,literal_rational_value,,Real,primitive,N,no, +LiteralString,value,property,literal_string_value,,String,primitive,N,no, +LoopActionUsage,bodyAction,property,loop_action_usage_body_action,,ActionUsage,element,R,yes, +Membership,memberElement,property,membership_member_element,,Element,element,R,no, +Membership,memberElementId,property,membership_member_element_id,,String,primitive,N,yes, +Membership,memberName,property,membership_member_name,,String,primitive,N,no,A function with this name exists today and appears to mean the same; confirm and reuse. +Membership,memberShortName,property,membership_member_short_name,,String,primitive,N,no, +Membership,membershipOwningNamespace,property,membership_membership_owning_namespace,,Namespace,element,R,yes, +Membership,visibility,property,membership_visibility,,VisibilityKind,enum,N,no, +Membership,isDistinguishableFrom,operation,membership_is_distinguishable_from,other,,,,, +MembershipImport,importedMembership,property,membership_import_imported_membership,,Membership,element,R,no, +MetadataAccessExpression,referencedElement,property,metadata_access_expression_referenced_element,,Element,element,R,yes, +MetadataAccessExpression,metaclassFeature,operation,metadata_access_expression_metaclass_feature,,,,,, +MetadataFeature,metaclass,property,metadata_feature_metaclass,,Metaclass,element,N,yes, +MetadataFeature,evaluateFeature,operation,metadata_feature_evaluate_feature,base_feature,,,,, +MetadataFeature,isSemantic,operation,metadata_feature_is_semantic,,,,,, +MetadataFeature,isSyntactic,operation,metadata_feature_is_syntactic,,,,,, +MetadataFeature,syntaxElement,operation,metadata_feature_syntax_element,,,,,, +MetadataUsage,metadataDefinition,property,metadata_usage_metadata_definition,,Metaclass,element,N,yes, +MultiplicityRange,bound,property,multiplicity_range_bound,,Expression,element,A,yes, +MultiplicityRange,lowerBound,property,multiplicity_range_lower_bound,,Expression,element,N,yes, +MultiplicityRange,upperBound,property,multiplicity_range_upper_bound,,Expression,element,R,yes, +MultiplicityRange,hasBounds,operation,multiplicity_range_has_bounds,lower;upper,,,,, +MultiplicityRange,valueOf,operation,multiplicity_range_value_of,bound,,,,, +Namespace,importedMembership,property,namespace_imported_membership,,Membership,element,A,yes, +Namespace,member,property,namespace_member,,Element,element,A,yes, +Namespace,membership,property,namespace_membership,,Membership,element,A,yes, +Namespace,ownedImport,property,namespace_owned_import,,Import,element,A,yes, +Namespace,ownedMember,property,namespace_owned_member,,Element,element,A,yes, +Namespace,ownedMembership,property,namespace_owned_membership,,Membership,element,A,yes, +Namespace,importedMemberships,operation,namespace_imported_memberships,excluded,,,,, +Namespace,membershipsOfVisibility,operation,namespace_memberships_of_visibility,visibility;excluded,,,,, +Namespace,namesOf,operation,namespace_names_of,element,,,,, +Namespace,qualificationOf,operation,namespace_qualification_of,qualified_name,,,,, +Namespace,resolve,operation,namespace_resolve,qualified_name,,,,, +Namespace,resolveGlobal,operation,namespace_resolve_global,qualified_name,,,,, +Namespace,resolveLocal,operation,namespace_resolve_local,name,,,,, +Namespace,resolveVisible,operation,namespace_resolve_visible,name,,,,, +Namespace,unqualifiedNameOf,operation,namespace_unqualified_name_of,qualified_name,,,,, +Namespace,visibilityOf,operation,namespace_visibility_of,mem,,,,, +Namespace,visibleMemberships,operation,namespace_visible_memberships,excluded;is_recursive;include_all,,,,, +NamespaceImport,importedNamespace,property,namespace_import_imported_namespace,,Namespace,element,R,no, +ObjectiveMembership,ownedObjectiveRequirement,property,objective_membership_owned_objective_requirement,,RequirementUsage,element,R,yes, +OccurrenceDefinition,isIndividual,property,occurrence_definition_is_individual,,Boolean,primitive,N,no, +OccurrenceUsage,individualDefinition,property,occurrence_usage_individual_definition,,OccurrenceDefinition,element,N,yes, +OccurrenceUsage,isIndividual,property,occurrence_usage_is_individual,,Boolean,primitive,N,no, +OccurrenceUsage,occurrenceDefinition,property,occurrence_usage_occurrence_definition,,Class,element,A,yes, +OccurrenceUsage,portionKind,property,occurrence_usage_portion_kind,,PortionKind,enum,N,no, +OperatorExpression,operator,property,operator_expression_operator,,String,primitive,N,no, +OwningMembership,ownedMemberElement,property,owning_membership_owned_member_element,,Element,element,R,yes, +OwningMembership,ownedMemberElementId,property,owning_membership_owned_member_element_id,,String,primitive,N,yes, +OwningMembership,ownedMemberName,property,owning_membership_owned_member_name,,String,primitive,N,yes, +OwningMembership,ownedMemberShortName,property,owning_membership_owned_member_short_name,,String,primitive,N,yes, +Package,filterCondition,property,package_filter_condition,,Expression,element,A,yes, +Package,includeAsMember,operation,package_include_as_member,element,,,,, +ParameterMembership,ownedMemberParameter,property,parameter_membership_owned_member_parameter,,Feature,element,R,yes, +ParameterMembership,parameterDirection,operation,parameter_membership_parameter_direction,,,,,, +PartUsage,partDefinition,property,part_usage_part_definition,,PartDefinition,element,A,yes, +PerformActionUsage,performedAction,property,perform_action_usage_performed_action,,ActionUsage,element,R,yes, +PortConjugation,conjugatedPortDefinition,property,port_conjugation_conjugated_port_definition,,ConjugatedPortDefinition,element,R,yes, +PortConjugation,originalPortDefinition,property,port_conjugation_original_port_definition,,PortDefinition,element,R,no, +PortDefinition,conjugatedPortDefinition,property,port_definition_conjugated_port_definition,,ConjugatedPortDefinition,element,N,yes, +PortUsage,portDefinition,property,port_usage_port_definition,,PortDefinition,element,A,yes, +Redefinition,redefinedFeature,property,redefinition_redefined_feature,,Feature,element,R,no, +Redefinition,redefiningFeature,property,redefinition_redefining_feature,,Feature,element,R,no, +ReferenceSubsetting,referencedFeature,property,reference_subsetting_referenced_feature,,Feature,element,R,no, +ReferenceSubsetting,referencingFeature,property,reference_subsetting_referencing_feature,,Feature,element,R,no, +Relationship,isImplied,property,relationship_is_implied,,Boolean,primitive,N,no, +Relationship,ownedRelatedElement,property,relationship_owned_related_element,,Element,element,A,no, +Relationship,owningRelatedElement,property,relationship_owning_related_element,,Element,element,N,no, +Relationship,relatedElement,property,relationship_related_element,,Element,element,A,yes, +Relationship,source,property,relationship_source,,Element,element,A,no, +Relationship,target,property,relationship_target,,Element,element,A,no, +RenderingDefinition,rendering,property,rendering_definition_rendering,,RenderingUsage,element,A,yes, +RenderingUsage,renderingDefinition,property,rendering_usage_rendering_definition,,RenderingDefinition,element,N,yes, +RequirementConstraintMembership,kind,property,requirement_constraint_membership_kind,,RequirementConstraintKind,enum,N,no, +RequirementConstraintMembership,ownedConstraint,property,requirement_constraint_membership_owned_constraint,,ConstraintUsage,element,R,yes, +RequirementConstraintMembership,referencedConstraint,property,requirement_constraint_membership_referenced_constraint,,ConstraintUsage,element,R,yes, +RequirementDefinition,actorParameter,property,requirement_definition_actor_parameter,,PartUsage,element,A,yes, +RequirementDefinition,assumedConstraint,property,requirement_definition_assumed_constraint,,ConstraintUsage,element,A,yes, +RequirementDefinition,framedConcern,property,requirement_definition_framed_concern,,ConcernUsage,element,A,yes, +RequirementDefinition,reqId,property,requirement_definition_req_id,,String,primitive,N,no, +RequirementDefinition,requiredConstraint,property,requirement_definition_required_constraint,,ConstraintUsage,element,A,yes, +RequirementDefinition,stakeholderParameter,property,requirement_definition_stakeholder_parameter,,PartUsage,element,A,yes, +RequirementDefinition,subjectParameter,property,requirement_definition_subject_parameter,,Usage,element,R,yes, +RequirementDefinition,text,property,requirement_definition_text,,String,primitive,A,yes, +RequirementUsage,actorParameter,property,requirement_usage_actor_parameter,,PartUsage,element,A,yes, +RequirementUsage,assumedConstraint,property,requirement_usage_assumed_constraint,,ConstraintUsage,element,A,yes, +RequirementUsage,framedConcern,property,requirement_usage_framed_concern,,ConcernUsage,element,A,yes, +RequirementUsage,reqId,property,requirement_usage_req_id,,String,primitive,N,no, +RequirementUsage,requiredConstraint,property,requirement_usage_required_constraint,,ConstraintUsage,element,A,yes, +RequirementUsage,requirementDefinition,property,requirement_usage_requirement_definition,,RequirementDefinition,element,N,yes, +RequirementUsage,stakeholderParameter,property,requirement_usage_stakeholder_parameter,,PartUsage,element,A,yes, +RequirementUsage,subjectParameter,property,requirement_usage_subject_parameter,,Usage,element,R,yes, +RequirementUsage,text,property,requirement_usage_text,,String,primitive,A,yes, +RequirementVerificationMembership,ownedRequirement,property,requirement_verification_membership_owned_requirement,,RequirementUsage,element,R,yes, +RequirementVerificationMembership,verifiedRequirement,property,requirement_verification_membership_verified_requirement,,RequirementUsage,element,R,yes, +ResultExpressionMembership,ownedResultExpression,property,result_expression_membership_owned_result_expression,,Expression,element,R,yes, +SatisfyRequirementUsage,satisfiedRequirement,property,satisfy_requirement_usage_satisfied_requirement,,RequirementUsage,element,R,yes, +SatisfyRequirementUsage,satisfyingFeature,property,satisfy_requirement_usage_satisfying_feature,,Feature,element,R,yes, +SendActionUsage,payloadArgument,property,send_action_usage_payload_argument,,Expression,element,R,yes, +SendActionUsage,receiverArgument,property,send_action_usage_receiver_argument,,Expression,element,N,yes, +SendActionUsage,senderArgument,property,send_action_usage_sender_argument,,Expression,element,N,yes, +Specialization,general,property,specialization_general,,Type,element,R,no, +Specialization,owningType,property,specialization_owning_type,,Type,element,N,yes, +Specialization,specific,property,specialization_specific,,Type,element,R,no, +StakeholderMembership,ownedStakeholderParameter,property,stakeholder_membership_owned_stakeholder_parameter,,PartUsage,element,R,yes, +StateDefinition,doAction,property,state_definition_do_action,,ActionUsage,element,N,yes, +StateDefinition,entryAction,property,state_definition_entry_action,,ActionUsage,element,N,yes, +StateDefinition,exitAction,property,state_definition_exit_action,,ActionUsage,element,N,yes, +StateDefinition,isParallel,property,state_definition_is_parallel,,Boolean,primitive,N,no, +StateDefinition,state,property,state_definition_state,,StateUsage,element,A,yes, +StateSubactionMembership,action,property,state_subaction_membership_action,,ActionUsage,element,R,yes, +StateSubactionMembership,kind,property,state_subaction_membership_kind,,StateSubactionKind,enum,N,no, +StateUsage,doAction,property,state_usage_do_action,,ActionUsage,element,N,yes, +StateUsage,entryAction,property,state_usage_entry_action,,ActionUsage,element,N,yes, +StateUsage,exitAction,property,state_usage_exit_action,,ActionUsage,element,N,yes, +StateUsage,isParallel,property,state_usage_is_parallel,,Boolean,primitive,N,no, +StateUsage,stateDefinition,property,state_usage_state_definition,,Behavior,element,A,yes, +StateUsage,isSubstateUsage,operation,state_usage_is_substate_usage,is_parallel,,,,, +Step,behavior,property,step_behavior,,Behavior,element,A,yes, +Step,parameter,property,step_parameter,,Feature,element,A,yes, +Subclassification,owningClassifier,property,subclassification_owning_classifier,,Classifier,element,N,yes, +Subclassification,subclassifier,property,subclassification_subclassifier,,Classifier,element,R,no, +Subclassification,superclassifier,property,subclassification_superclassifier,,Classifier,element,R,no, +SubjectMembership,ownedSubjectParameter,property,subject_membership_owned_subject_parameter,,Usage,element,R,yes, +Subsetting,owningFeature,property,subsetting_owning_feature,,Feature,element,N,yes, +Subsetting,subsettedFeature,property,subsetting_subsetted_feature,,Feature,element,R,no, +Subsetting,subsettingFeature,property,subsetting_subsetting_feature,,Feature,element,R,no, +TerminateActionUsage,terminatedOccurrenceArgument,property,terminate_action_usage_terminated_occurrence_argument,,Expression,element,N,yes, +TextualRepresentation,body,property,textual_representation_body,,String,primitive,S,no, +TextualRepresentation,language,property,textual_representation_language,,String,primitive,S,no, +TextualRepresentation,representedElement,property,textual_representation_represented_element,,Element,element,R,yes, +TransitionFeatureMembership,kind,property,transition_feature_membership_kind,,TransitionFeatureKind,enum,N,no, +TransitionFeatureMembership,transitionFeature,property,transition_feature_membership_transition_feature,,Step,element,R,yes, +TransitionUsage,effectAction,property,transition_usage_effect_action,,ActionUsage,element,A,yes, +TransitionUsage,guardExpression,property,transition_usage_guard_expression,,Expression,element,A,yes, +TransitionUsage,source,property,transition_usage_source,,ActionUsage,element,R,yes, +TransitionUsage,succession,property,transition_usage_succession,,Succession,element,R,yes, +TransitionUsage,target,property,transition_usage_target,,ActionUsage,element,R,yes, +TransitionUsage,triggerAction,property,transition_usage_trigger_action,,AcceptActionUsage,element,A,yes, +TransitionUsage,sourceFeature,operation,transition_usage_source_feature,,,,,, +TransitionUsage,triggerPayloadParameter,operation,transition_usage_trigger_payload_parameter,,,,,, +TriggerInvocationExpression,kind,property,trigger_invocation_expression_kind,,TriggerKind,enum,N,no, +Type,differencingType,property,type_differencing_type,,Type,element,A,yes, +Type,directedFeature,property,type_directed_feature,,Feature,element,A,yes, +Type,endFeature,property,type_end_feature,,Feature,element,A,yes, +Type,feature,property,type_feature,,Feature,element,A,yes, +Type,featureMembership,property,type_feature_membership,,FeatureMembership,element,A,yes, +Type,inheritedFeature,property,type_inherited_feature,,Feature,element,A,yes, +Type,inheritedMembership,property,type_inherited_membership,,Membership,element,A,yes, +Type,input,property,type_input,,Feature,element,A,yes, +Type,intersectingType,property,type_intersecting_type,,Type,element,A,yes, +Type,isAbstract,property,type_is_abstract,,Boolean,primitive,N,no, +Type,isConjugated,property,type_is_conjugated,,Boolean,primitive,N,yes, +Type,isSufficient,property,type_is_sufficient,,Boolean,primitive,N,no, +Type,multiplicity,property,type_multiplicity,,Multiplicity,element,N,yes, +Type,output,property,type_output,,Feature,element,A,yes, +Type,ownedConjugator,property,type_owned_conjugator,,Conjugation,element,N,yes, +Type,ownedDifferencing,property,type_owned_differencing,,Differencing,element,A,yes, +Type,ownedDisjoining,property,type_owned_disjoining,,Disjoining,element,A,yes, +Type,ownedEndFeature,property,type_owned_end_feature,,Feature,element,A,yes, +Type,ownedFeature,property,type_owned_feature,,Feature,element,A,yes, +Type,ownedFeatureMembership,property,type_owned_feature_membership,,FeatureMembership,element,A,yes, +Type,ownedIntersecting,property,type_owned_intersecting,,Intersecting,element,A,yes, +Type,ownedSpecialization,property,type_owned_specialization,,Specialization,element,A,yes, +Type,ownedUnioning,property,type_owned_unioning,,Unioning,element,A,yes, +Type,unioningType,property,type_unioning_type,,Type,element,A,yes, +Type,allRedefinedFeaturesOf,operation,type_all_redefined_features_of,membership,,,,, +Type,allSupertypes,operation,type_all_supertypes,,,,,,"the XMI parameter named ""result"" is the return value (specification signature checked 2026-09-27); not an argument" +Type,directionOf,operation,type_direction_of,feature,,,,, +Type,directionOfExcluding,operation,type_direction_of_excluding,feature;excluded,,,,, +Type,inheritableMemberships,operation,type_inheritable_memberships,excluded_namespaces;excluded_types;exclude_implied,,,,, +Type,inheritedMemberships,operation,type_inherited_memberships,excluded_namespaces;excluded_types;exclude_implied,,,,, +Type,isCompatibleWith,operation,type_is_compatible_with,other_type,,,,, +Type,multiplicities,operation,type_multiplicities,,,,,, +Type,nonPrivateMemberships,operation,type_non_private_memberships,excluded_namespaces;excluded_types;exclude_implied,,,,, +Type,removeRedefinedFeatures,operation,type_remove_redefined_features,memberships,,,,, +Type,specializes,operation,type_specializes,supertype,,,,, +Type,specializesFromLibrary,operation,type_specializes_from_library,library_type_name,,,,, +Type,supertypes,operation,type_supertypes,exclude_implied,,,,, +TypeFeaturing,featureOfType,property,type_featuring_feature_of_type,,Feature,element,R,no, +TypeFeaturing,featuringType,property,type_featuring_featuring_type,,Type,element,R,no, +TypeFeaturing,owningFeatureOfType,property,type_featuring_owning_feature_of_type,,Feature,element,N,yes, +Unioning,typeUnioned,property,unioning_type_unioned,,Type,element,R,yes, +Unioning,unioningType,property,unioning_unioning_type,,Type,element,R,no, +Usage,definition,property,usage_definition,,Classifier,element,A,yes, +Usage,directedUsage,property,usage_directed_usage,,Usage,element,A,yes, +Usage,isReference,property,usage_is_reference,,Boolean,primitive,N,yes, +Usage,isVariation,property,usage_is_variation,,Boolean,primitive,N,no, +Usage,mayTimeVary,property,usage_may_time_vary,,Boolean,primitive,N,yes, +Usage,nestedAction,property,usage_nested_action,,ActionUsage,element,A,yes, +Usage,nestedAllocation,property,usage_nested_allocation,,AllocationUsage,element,A,yes, +Usage,nestedAnalysisCase,property,usage_nested_analysis_case,,AnalysisCaseUsage,element,A,yes, +Usage,nestedAttribute,property,usage_nested_attribute,,AttributeUsage,element,A,yes, +Usage,nestedCalculation,property,usage_nested_calculation,,CalculationUsage,element,A,yes, +Usage,nestedCase,property,usage_nested_case,,CaseUsage,element,A,yes, +Usage,nestedConcern,property,usage_nested_concern,,ConcernUsage,element,A,yes, +Usage,nestedConnection,property,usage_nested_connection,,ConnectorAsUsage,element,A,yes, +Usage,nestedConstraint,property,usage_nested_constraint,,ConstraintUsage,element,A,yes, +Usage,nestedEnumeration,property,usage_nested_enumeration,,EnumerationUsage,element,A,yes, +Usage,nestedFlow,property,usage_nested_flow,,FlowUsage,element,A,yes, +Usage,nestedInterface,property,usage_nested_interface,,InterfaceUsage,element,A,yes, +Usage,nestedItem,property,usage_nested_item,,ItemUsage,element,A,yes, +Usage,nestedMetadata,property,usage_nested_metadata,,MetadataUsage,element,A,yes, +Usage,nestedOccurrence,property,usage_nested_occurrence,,OccurrenceUsage,element,A,yes, +Usage,nestedPart,property,usage_nested_part,,PartUsage,element,A,yes, +Usage,nestedPort,property,usage_nested_port,,PortUsage,element,A,yes, +Usage,nestedReference,property,usage_nested_reference,,ReferenceUsage,element,A,yes, +Usage,nestedRendering,property,usage_nested_rendering,,RenderingUsage,element,A,yes, +Usage,nestedRequirement,property,usage_nested_requirement,,RequirementUsage,element,A,yes, +Usage,nestedState,property,usage_nested_state,,StateUsage,element,A,yes, +Usage,nestedTransition,property,usage_nested_transition,,TransitionUsage,element,A,yes, +Usage,nestedUsage,property,usage_nested_usage,,Usage,element,A,yes, +Usage,nestedUseCase,property,usage_nested_use_case,,UseCaseUsage,element,A,yes, +Usage,nestedVerificationCase,property,usage_nested_verification_case,,VerificationCaseUsage,element,A,yes, +Usage,nestedView,property,usage_nested_view,,ViewUsage,element,A,yes, +Usage,nestedViewpoint,property,usage_nested_viewpoint,,ViewpointUsage,element,A,yes, +Usage,owningDefinition,property,usage_owning_definition,,Definition,element,N,yes, +Usage,owningUsage,property,usage_owning_usage,,Usage,element,N,yes, +Usage,usage,property,usage_usage,,Usage,element,A,yes, +Usage,variant,property,usage_variant,,Usage,element,A,yes, +Usage,variantMembership,property,usage_variant_membership,,VariantMembership,element,A,yes, +Usage,referencedFeatureTarget,operation,usage_referenced_feature_target,,,,,, +UseCaseDefinition,includedUseCase,property,use_case_definition_included_use_case,,UseCaseUsage,element,A,yes, +UseCaseUsage,includedUseCase,property,use_case_usage_included_use_case,,UseCaseUsage,element,A,yes, +UseCaseUsage,useCaseDefinition,property,use_case_usage_use_case_definition,,UseCaseDefinition,element,N,yes, +VariantMembership,ownedVariantUsage,property,variant_membership_owned_variant_usage,,Usage,element,R,yes, +VerificationCaseDefinition,verifiedRequirement,property,verification_case_definition_verified_requirement,,RequirementUsage,element,A,yes, +VerificationCaseUsage,verificationCaseDefinition,property,verification_case_usage_verification_case_definition,,VerificationCaseDefinition,element,N,yes, +VerificationCaseUsage,verifiedRequirement,property,verification_case_usage_verified_requirement,,RequirementUsage,element,A,yes, +ViewDefinition,satisfiedViewpoint,property,view_definition_satisfied_viewpoint,,ViewpointUsage,element,A,yes, +ViewDefinition,view,property,view_definition_view,,ViewUsage,element,A,yes, +ViewDefinition,viewCondition,property,view_definition_view_condition,,Expression,element,A,yes, +ViewDefinition,viewRendering,property,view_definition_view_rendering,,RenderingUsage,element,N,yes, +ViewRenderingMembership,ownedRendering,property,view_rendering_membership_owned_rendering,,RenderingUsage,element,R,yes, +ViewRenderingMembership,referencedRendering,property,view_rendering_membership_referenced_rendering,,RenderingUsage,element,R,yes, +ViewUsage,exposedElement,property,view_usage_exposed_element,,Element,element,A,yes, +ViewUsage,satisfiedViewpoint,property,view_usage_satisfied_viewpoint,,ViewpointUsage,element,A,yes, +ViewUsage,viewCondition,property,view_usage_view_condition,,Expression,element,A,yes, +ViewUsage,viewDefinition,property,view_usage_view_definition,,ViewDefinition,element,N,yes, +ViewUsage,viewRendering,property,view_usage_view_rendering,,RenderingUsage,element,N,yes, +ViewUsage,includeAsExposed,operation,view_usage_include_as_exposed,element,,,,, +ViewpointDefinition,viewpointStakeholder,property,viewpoint_definition_viewpoint_stakeholder,,PartUsage,element,A,yes, +ViewpointUsage,viewpointDefinition,property,viewpoint_usage_viewpoint_definition,,ViewpointDefinition,element,N,yes, +ViewpointUsage,viewpointStakeholder,property,viewpoint_usage_viewpoint_stakeholder,,PartUsage,element,A,yes, +WhileLoopActionUsage,untilArgument,property,while_loop_action_usage_until_argument,,Expression,element,N,yes, +WhileLoopActionUsage,whileArgument,property,while_loop_action_usage_while_argument,,Expression,element,R,yes, diff --git a/vendor/naming-table/toolkit-delegation-map.csv b/vendor/naming-table/toolkit-delegation-map.csv new file mode 100644 index 0000000..467130f --- /dev/null +++ b/vendor/naming-table/toolkit-delegation-map.csv @@ -0,0 +1,57 @@ +declaring_class,member,rust_fn,kind,current_accessor,fidelity,note +AnnotatingElement,annotatedElement,annotating_element_annotated_element,property,annotated_elements,approximate,explicit about targets only; implicit owner target not included +Behavior,parameter,behavior_parameter,property,calc_params,approximate,"returns declared parameter NAMES as strings, not Feature elements" +Connector,relatedFeature,connector_related_feature,property,connector_end_targets,approximate,"feature chains per end, not plain features" +Dependency,client,dependency_client,property,dependency_ends,approximate,first half of the returned pair +Dependency,supplier,dependency_supplier,property,dependency_ends,approximate,second half of the returned pair +Element,declaredName,element_declared_name,property,element_name,exact,"doc: ""the element's declared name""" +Element,declaredShortName,element_declared_short_name,property,element_short_name,exact,"doc: ""declared short name""" +Element,documentation,element_documentation,property,element_docs,approximate,"returns (name, body) strings, not Documentation elements" +Element,effectiveName,element_effective_name,operation,derived(name),exact,"operation; the specification defines the derived name as effectiveName(), and the SysML Toolkit computes name" +Element,effectiveShortName,element_effective_short_name,operation,derived(shortName),exact,"operation; the specification defines the derived shortName as effectiveShortName(), and the SysML Toolkit computes shortName" +Element,elementId,element_element_id,property,element_id,exact,"doc: interchange @id, deterministic UUIDv5" +Element,isLibraryElement,element_is_library_element,property,is_library_element,exact,doc: belongs to a loaded library unit +Element,name,element_name,property,element_effective_name,approximate,"spec name is derived; effective-name accessor is the closest, confirm" +Element,ownedAnnotation,element_owned_annotation,property,metadata_of,approximate,prefix metadata only; comments and docs arrive via element_docs +Element,owner,element_owner,property,owner,exact,doc names it; relationship elements answer their carrier +Element,qualifiedName,element_qualified_name,property,element_qualified_name,exact,doc: names joined with :: from document root +Element,shortName,element_short_name,property,element_short_name,approximate,"returns the DECLARED short name, not the derived one" +Feature,direction,feature_direction,property,declared_direction,approximate,"declared direction only, not the derived effective one" +Feature,isComposite,feature_is_composite,property,is_composite,exact,doc: the serialized isComposite +Feature,isOrdered,feature_is_ordered,property,is_ordered,exact,doc: declared ordered +Feature,isUnique,feature_is_unique,property,is_unique,exact,doc: declared uniqueness +Feature,ownedRedefinition,feature_owned_redefinition,property,redefinition_targets,approximate,"returns the redefined Features, not the Redefinition relationships" +Feature,type,feature_type,property,typings,approximate,explicit FeatureTyping targets only; spec type includes inherited +Function,result,function_result,property,calc_return_param,approximate,"the declared return parameter, when present" +Import,isRecursive,import_is_recursive,property,import_details,approximate,the recursive flag of the tuple +Import,visibility,import_visibility,property,import_details,approximate,"one field of a tuple, per owned import relationship" +Membership,memberElement,membership_member_element,property,membership_member,exact,doc: the member a Membership binds +Membership,memberName,membership_member_name,property,membership_member_name,exact,doc matches the spec derivation incl. alias name +Membership,visibility,membership_visibility,property,member_visibility,approximate,"takes the member element, not the Membership" +Namespace,importedMembership,namespace_imported_membership,property,import_targets,approximate,"returns resolved target elements, not Membership handles" +Namespace,ownedMember,namespace_owned_member,property,owned_members,exact,doc names KerML Namespace::ownedMember +Namespace,resolve,namespace_resolve,operation,resolve_qualified,refused,"operation; returns a Membership in the specification, and resolves relative to this namespace; the accessor answers an element from the model root. Refused until the SysML Toolkit has an operation entry point" +Namespace,resolveLocal,namespace_resolve_local,operation,owned_member,refused,operation; returns a Membership in the specification; the accessor answers an owned member element. Refused until the SysML Toolkit has an operation entry point +OccurrenceUsage,portionKind,occurrence_usage_portion_kind,property,portion_kind,exact,doc: declared portion kind +ReferenceSubsetting,referencedFeature,reference_subsetting_referenced_feature,property,referenced_features,approximate,"one chain per relationship, links first to last" +StateDefinition,doAction,state_definition_do_action,property,state_subactions,approximate,"filter on ""do""" +StateDefinition,entryAction,state_definition_entry_action,property,state_subactions,approximate,"filter the returned (kind, action) pairs on ""entry""" +StateDefinition,exitAction,state_definition_exit_action,property,state_subactions,approximate,"filter on ""exit""" +StateUsage,doAction,state_usage_do_action,property,state_subactions,approximate,"filter on ""do""" +StateUsage,entryAction,state_usage_entry_action,property,state_subactions,approximate,"filter on ""entry""" +StateUsage,exitAction,state_usage_exit_action,property,state_subactions,approximate,"filter on ""exit""" +TransitionUsage,effectAction,transition_usage_effect_action,property,transition_parts,approximate,one field of the struct +TransitionUsage,guardExpression,transition_usage_guard_expression,property,transition_parts,approximate,one field of the struct +TransitionUsage,source,transition_usage_source,property,transition_parts,approximate,one field of the TransitionParts struct +TransitionUsage,target,transition_usage_target,property,transition_parts,approximate,one field of the struct +TransitionUsage,triggerAction,transition_usage_trigger_action,property,transition_parts,approximate,one field of the struct +Type,feature,type_feature,property,effective_features,approximate,owned plus inherited with shadowing applied; spec feature does not shadow +Type,inheritedFeature,type_inherited_feature,property,inherited_features,exact,doc names KerML Type::inheritedFeature +Type,inheritedMembership,type_inherited_membership,property,inherited_memberships,exact,doc names the normative operation; returns Membership handles +Type,inheritedMemberships,type_inherited_memberships,operation,inherited_memberships,exact,"operation; answered only when both excluded lists are empty, refused otherwise: the SysML Toolkit does not take the excluded parameters" +Type,isCompatibleWith,type_is_compatible_with,operation,conforms,refused,operation; implied library bases are not walked. Refused until the SysML Toolkit has an operation entry point +Type,ownedFeature,type_owned_feature,property,owned_features,exact,doc names KerML Type::ownedFeature +Type,ownedSpecialization,type_owned_specialization,property,explicit_specializations,approximate,"returns (relationship metaclass, target) pairs, not Specialization elements" +Type,supertypes,type_supertypes,operation,explicit_supertypes,refused,"operation; explicit edges only, implied bases and conjugation not considered. Refused until the SysML Toolkit has an operation entry point" +ViewUsage,exposedElement,view_usage_exposed_element,property,view_exposed_elements,exact,doc matches: members visible through expose imports under filters +Comment,body,comment_body,property,annotation_notes,exact,matched on the annotating element handle across the user-unit notes; library comments not covered diff --git a/vendor/nlohmann/LICENSE.MIT b/vendor/nlohmann/LICENSE.MIT new file mode 100644 index 0000000..1c1f7a6 --- /dev/null +++ b/vendor/nlohmann/LICENSE.MIT @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013-2022 Niels Lohmann + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/nlohmann/PIN.json b/vendor/nlohmann/PIN.json new file mode 100644 index 0000000..83f12d7 --- /dev/null +++ b/vendor/nlohmann/PIN.json @@ -0,0 +1,13 @@ +{ + "source": "nlohmann/json", + "version": "v3.11.3", + "url": "https://github.com/nlohmann/json/releases/download/v3.11.3/json.hpp", + "license": "MIT", + "vendoredDate": "2026-08-15", + "hashAlgorithm": "sha256 over LF-normalized bytes (CRLF -> LF); file is LF upstream so this equals the exact-download hash", + "files": { + "json.hpp": "9bea4c8066ef4a1c206b2be5a36302f8926f7fdc6087af5d20b417d0cf103ea6", + "LICENSE.MIT": "86b998c792894ccb911a1cb7994f7a9652894e7a094c0b5e45be2f553f45cf14" + }, + "licenseUrl": "https://raw.githubusercontent.com/nlohmann/json/v3.11.3/LICENSE.MIT" +} diff --git a/vendor/nlohmann/json.hpp b/vendor/nlohmann/json.hpp new file mode 100644 index 0000000..8b72ea6 --- /dev/null +++ b/vendor/nlohmann/json.hpp @@ -0,0 +1,24765 @@ +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file docs/README.md. * +\****************************************************************************/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#include // all_of, find, for_each +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO +#include // random_access_iterator_tag +#include // unique_ptr +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// This file contains all macro definitions affecting or depending on the ABI + +#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK + #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) + #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 11 || NLOHMANN_JSON_VERSION_PATCH != 3 + #warning "Already included a different version of the library!" + #endif + #endif +#endif + +#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_MINOR 11 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_PATCH 3 // NOLINT(modernize-macro-to-enum) + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + +#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 +#endif + +#if JSON_DIAGNOSTICS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS +#endif + +#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp +#else + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION + #define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0 +#endif + +// Construct the namespace ABI tags component +#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) json_abi ## a ## b +#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b) \ + NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) + +#define NLOHMANN_JSON_ABI_TAGS \ + NLOHMANN_JSON_ABI_TAGS_CONCAT( \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ + NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON) + +// Construct the namespace version component +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ + _v ## major ## _ ## minor ## _ ## patch +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) + +#if NLOHMANN_JSON_NAMESPACE_NO_VERSION +#define NLOHMANN_JSON_NAMESPACE_VERSION +#else +#define NLOHMANN_JSON_NAMESPACE_VERSION \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \ + NLOHMANN_JSON_VERSION_MINOR, \ + NLOHMANN_JSON_VERSION_PATCH) +#endif + +// Combine namespace components +#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b +#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \ + NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) + +#ifndef NLOHMANN_JSON_NAMESPACE +#define NLOHMANN_JSON_NAMESPACE \ + nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN +#define NLOHMANN_JSON_NAMESPACE_BEGIN \ + namespace nlohmann \ + { \ + inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) \ + { +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_END +#define NLOHMANN_JSON_NAMESPACE_END \ + } /* namespace (inline namespace) NOLINT(readability/namespace) */ \ + } // namespace nlohmann +#endif + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // transform +#include // array +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // nullptr_t +#include // exception +#if JSON_DIAGNOSTICS + #include // accumulate +#endif +#include // runtime_error +#include // to_string +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // uint8_t +#include // string + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // declval, pair +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +// https://en.cppreference.com/w/cpp/experimental/is_detected +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + + +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-FileCopyrightText: 2016-2021 Evan Nemerson +// SPDX-License-Identifier: MIT + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + + +// This file contains all internal macro definitions (except those affecting ABI) +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// #include + + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +// if the user manually specified the used c++ version this is skipped +#if !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +#ifdef __has_include + #if __has_include() + #include + #endif +#endif + +#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) + #ifdef JSON_HAS_CPP_17 + #if defined(__cpp_lib_filesystem) + #define JSON_HAS_FILESYSTEM 1 + #elif defined(__cpp_lib_experimental_filesystem) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif !defined(__has_include) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #endif + + // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ + #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__clang_major__) && __clang_major__ < 7 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support + #if defined(_MSC_VER) && _MSC_VER < 1914 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before iOS 13 + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before macOS Catalina + #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + #endif +#endif + +#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_FILESYSTEM + #define JSON_HAS_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_THREE_WAY_COMPARISON + #if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L \ + && defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L + #define JSON_HAS_THREE_WAY_COMPARISON 1 + #else + #define JSON_HAS_THREE_WAY_COMPARISON 0 + #endif +#endif + +#ifndef JSON_HAS_RANGES + // ranges header shipping in GCC 11.1.0 (released 2021-04-27) has syntax error + #if defined(__GLIBCXX__) && __GLIBCXX__ == 20210427 + #define JSON_HAS_RANGES 0 + #elif defined(__cpp_lib_ranges) + #define JSON_HAS_RANGES 1 + #else + #define JSON_HAS_RANGES 0 + #endif +#endif + +#ifndef JSON_HAS_STATIC_RTTI + #if !defined(_HAS_STATIC_RTTI) || _HAS_STATIC_RTTI != 0 + #define JSON_HAS_STATIC_RTTI 1 + #else + #define JSON_HAS_STATIC_RTTI 0 + #endif +#endif + +#ifdef JSON_HAS_CPP_17 + #define JSON_INLINE_VARIABLE inline +#else + #define JSON_INLINE_VARIABLE +#endif + +#if JSON_HEDLEY_HAS_ATTRIBUTE(no_unique_address) + #define JSON_NO_UNIQUE_ADDRESS [[no_unique_address]] +#else + #define JSON_NO_UNIQUE_ADDRESS +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" +#endif + +// allow disabling exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// allow overriding assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) +#endif + +// allow to access some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType, \ + class CustomBaseClass> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); +#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1); + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +// inspired from https://stackoverflow.com/a/26745591 +// allows to call any std function as if (e.g. with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DISABLE_ENUM_SERIALIZATION + #define JSON_DISABLE_ENUM_SERIALIZATION 0 +#endif + +#ifndef JSON_USE_GLOBAL_UDLS + #define JSON_USE_GLOBAL_UDLS 1 +#endif + +#if JSON_HAS_THREE_WAY_COMPARISON + #include // partial_ordering +#endif + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/////////////////////////// +// JSON type enumeration // +/////////////////////////// + +/*! +@brief the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type + +@since version 1.0.0 +*/ +enum class value_t : std::uint8_t +{ + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function +}; + +/*! +@brief comparison operator for JSON types + +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. + +@since version 1.0.0 +*/ +#if JSON_HAS_THREE_WAY_COMPARISON + inline std::partial_ordering operator<=>(const value_t lhs, const value_t rhs) noexcept // *NOPAD* +#else + inline bool operator<(const value_t lhs, const value_t rhs) noexcept +#endif +{ + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; + + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); +#if JSON_HAS_THREE_WAY_COMPARISON + if (l_index < order.size() && r_index < order.size()) + { + return order[l_index] <=> order[r_index]; // *NOPAD* + } + return std::partial_ordering::unordered; +#else + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +#endif +} + +// GCC selects the built-in operator< over an operator rewritten from +// a user-defined spaceship operator +// Clang, MSVC, and ICC select the rewritten candidate +// (see GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105200) +#if JSON_HAS_THREE_WAY_COMPARISON && defined(__GNUC__) +inline bool operator<(const value_t lhs, const value_t rhs) noexcept +{ + return std::is_lt(lhs <=> rhs); // *NOPAD* +} +#endif + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +template +inline void replace_substring(StringType& s, const StringType& f, + const StringType& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != StringType::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +template +inline StringType escape(StringType s) +{ + replace_substring(s, StringType{"~"}, StringType{"~0"}); + replace_substring(s, StringType{"/"}, StringType{"~1"}); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +template +static void unescape(StringType& s) +{ + replace_substring(s, StringType{"~1"}, StringType{"/"}); + replace_substring(s, StringType{"~0"}, StringType{"~"}); +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // size_t + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-FileCopyrightText: 2018 The Abseil Authors +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +using uncvref_t = typename std::remove_cv::type>::type; + +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence +{ + using value_type = T; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; + +namespace utility_internal +{ + +template +struct Extend; + +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; + +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template +using index_sequence_for = make_index_sequence; + +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static JSON_INLINE_VARIABLE constexpr T value{}; +}; + +#ifndef JSON_HAS_CPP_17 + template + constexpr T static_const::value; +#endif + +template +inline constexpr std::array make_array(Args&& ... args) +{ + return std::array {{static_cast(std::forward(args))...}}; +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // numeric_limits +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval +#include // tuple +#include // char_traits + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // random_access_iterator_tag + +// #include + +// #include + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); + +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); + +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ + #define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + #include // int64_t, uint64_t + #include // map + #include // allocator + #include // string + #include // vector + + // #include + + + /*! + @brief namespace for Niels Lohmann + @see https://github.com/nlohmann + @since version 1.0.0 + */ + NLOHMANN_JSON_NAMESPACE_BEGIN + + /*! + @brief default JSONSerializer template argument + + This serializer ignores the template arguments and uses ADL + ([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) + for serialization. + */ + template + struct adl_serializer; + + /// a class to store JSON values + /// @sa https://json.nlohmann.me/api/basic_json/ + template class ObjectType = + std::map, + template class ArrayType = std::vector, + class StringType = std::string, class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = + adl_serializer, + class BinaryType = std::vector, // cppcheck-suppress syntaxError + class CustomBaseClass = void> + class basic_json; + + /// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document + /// @sa https://json.nlohmann.me/api/json_pointer/ + template + class json_pointer; + + /*! + @brief default specialization + @sa https://json.nlohmann.me/api/json/ + */ + using json = basic_json<>; + + /// @brief a minimal map-like container that preserves insertion order + /// @sa https://json.nlohmann.me/api/ordered_map/ + template + struct ordered_map; + + /// @brief specialization that maintains the insertion order of object keys + /// @sa https://json.nlohmann.me/api/ordered_json/ + using ordered_json = basic_json; + + NLOHMANN_JSON_NAMESPACE_END + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +NLOHMANN_JSON_NAMESPACE_BEGIN +/*! +@brief detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, +implementations of some @ref basic_json methods, and meta-programming helpers. + +@since version 2.1.0 +*/ +namespace detail +{ + +///////////// +// helpers // +///////////// + +// Note to maintainers: +// +// Every trait in this file expects a non CV-qualified type. +// The only exceptions are in the 'aliases for detected' section +// (i.e. those of the form: decltype(T::member_function(std::declval()))) +// +// In this case, T has to be properly CV-qualified to constraint the function arguments +// (e.g. to_json(BasicJsonType&, const T&)) + +template struct is_basic_json : std::false_type {}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +struct is_basic_json : std::true_type {}; + +// used by exceptions create() member functions +// true_type for pointer to possibly cv-qualified basic_json or std::nullptr_t +// false_type otherwise +template +struct is_basic_json_context : + std::integral_constant < bool, + is_basic_json::type>::type>::value + || std::is_same::value > +{}; + +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + +////////////////////////// +// aliases for detected // +////////////////////////// + +template +using mapped_type_t = typename T::mapped_type; + +template +using key_type_t = typename T::key_type; + +template +using value_type_t = typename T::value_type; + +template +using difference_type_t = typename T::difference_type; + +template +using pointer_t = typename T::pointer; + +template +using reference_t = typename T::reference; + +template +using iterator_category_t = typename T::iterator_category; + +template +using to_json_function = decltype(T::to_json(std::declval()...)); + +template +using from_json_function = decltype(T::from_json(std::declval()...)); + +template +using get_template_function = decltype(std::declval().template get()); + +// trait checking if JSONSerializer::from_json(json const&, udt&) exists +template +struct has_from_json : std::false_type {}; + +// trait checking if j.get is valid +// use this trait instead of std::is_constructible or std::is_convertible, +// both rely on, or make use of implicit conversions, and thus fail when T +// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) +template +struct is_getable +{ + static constexpr bool value = is_detected::value; +}; + +template +struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if JSONSerializer::from_json(json const&) exists +// this overload is used for non-default-constructible user-defined-types +template +struct has_non_default_from_json : std::false_type {}; + +template +struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if BasicJsonType::json_serializer::to_json exists +// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. +template +struct has_to_json : std::false_type {}; + +template +struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +template +using detect_key_compare = typename T::key_compare; + +template +struct has_key_compare : std::integral_constant::value> {}; + +// obtains the actual object key comparator +template +struct actual_object_comparator +{ + using object_t = typename BasicJsonType::object_t; + using object_comparator_t = typename BasicJsonType::default_object_comparator_t; + using type = typename std::conditional < has_key_compare::value, + typename object_t::key_compare, object_comparator_t>::type; +}; + +template +using actual_object_comparator_t = typename actual_object_comparator::type; + +///////////////// +// char_traits // +///////////////// + +// Primary template of char_traits calls std char_traits +template +struct char_traits : std::char_traits +{}; + +// Explicitly define char traits for unsigned char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = unsigned char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(EOF); + } +}; + +// Explicitly define char traits for signed char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = signed char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(EOF); + } +}; + +/////////////////// +// is_ functions // +/////////////////// + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B { }; +template +struct conjunction +: std::conditional(B::value), conjunction, B>::type {}; + +// https://en.cppreference.com/w/cpp/types/negation +template struct negation : std::integral_constant < bool, !B::value > { }; + +// Reimplementation of is_constructible and is_default_constructible, due to them being broken for +// std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367). +// This causes compile errors in e.g. clang 3.5 or gcc 4.9. +template +struct is_default_constructible : std::is_default_constructible {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_constructible : std::is_constructible {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_iterator_traits : std::false_type {}; + +template +struct is_iterator_traits> +{ + private: + using traits = iterator_traits; + + public: + static constexpr auto value = + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value; +}; + +template +struct is_range +{ + private: + using t_ref = typename std::add_lvalue_reference::type; + + using iterator = detected_t; + using sentinel = detected_t; + + // to be 100% correct, it should use https://en.cppreference.com/w/cpp/iterator/input_or_output_iterator + // and https://en.cppreference.com/w/cpp/iterator/sentinel_for + // but reimplementing these would be too much work, as a lot of other concepts are used underneath + static constexpr auto is_iterator_begin = + is_iterator_traits>::value; + + public: + static constexpr bool value = !std::is_same::value && !std::is_same::value && is_iterator_begin; +}; + +template +using iterator_t = enable_if_t::value, result_of_begin())>>; + +template +using range_value_t = value_type_t>>; + +// The following implementation of is_complete_type is taken from +// https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ +// and is written by Xiang Fan who agreed to using it in this library. + +template +struct is_complete_type : std::false_type {}; + +template +struct is_complete_type : std::true_type {}; + +template +struct is_compatible_object_type_impl : std::false_type {}; + +template +struct is_compatible_object_type_impl < + BasicJsonType, CompatibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + // macOS's is_constructible does not play well with nonesuch... + static constexpr bool value = + is_constructible::value && + is_constructible::value; +}; + +template +struct is_compatible_object_type + : is_compatible_object_type_impl {}; + +template +struct is_constructible_object_type_impl : std::false_type {}; + +template +struct is_constructible_object_type_impl < + BasicJsonType, ConstructibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + static constexpr bool value = + (is_default_constructible::value && + (std::is_move_assignable::value || + std::is_copy_assignable::value) && + (is_constructible::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); +}; + +template +struct is_constructible_object_type + : is_constructible_object_type_impl {}; + +template +struct is_compatible_string_type +{ + static constexpr auto value = + is_constructible::value; +}; + +template +struct is_constructible_string_type +{ + // launder type through decltype() to fix compilation failure on ICPC +#ifdef __INTEL_COMPILER + using laundered_type = decltype(std::declval()); +#else + using laundered_type = ConstructibleStringType; +#endif + + static constexpr auto value = + conjunction < + is_constructible, + is_detected_exact>::value; +}; + +template +struct is_compatible_array_type_impl : std::false_type {}; + +template +struct is_compatible_array_type_impl < + BasicJsonType, CompatibleArrayType, + enable_if_t < + is_detected::value&& + is_iterator_traits>>::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 + !std::is_same>::value >> +{ + static constexpr bool value = + is_constructible>::value; +}; + +template +struct is_compatible_array_type + : is_compatible_array_type_impl {}; + +template +struct is_constructible_array_type_impl : std::false_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t::value >> + : std::true_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t < !std::is_same::value&& + !is_compatible_string_type::value&& + is_default_constructible::value&& +(std::is_move_assignable::value || + std::is_copy_assignable::value)&& +is_detected::value&& +is_iterator_traits>>::value&& +is_detected::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 +!std::is_same>::value&& + is_complete_type < + detected_t>::value >> +{ + using value_type = range_value_t; + + static constexpr bool value = + std::is_same::value || + has_from_json::value || + has_non_default_from_json < + BasicJsonType, + value_type >::value; +}; + +template +struct is_constructible_array_type + : is_constructible_array_type_impl {}; + +template +struct is_compatible_integer_type_impl : std::false_type {}; + +template +struct is_compatible_integer_type_impl < + RealIntegerType, CompatibleNumberIntegerType, + enable_if_t < std::is_integral::value&& + std::is_integral::value&& + !std::is_same::value >> +{ + // is there an assert somewhere on overflows? + using RealLimits = std::numeric_limits; + using CompatibleLimits = std::numeric_limits; + + static constexpr auto value = + is_constructible::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed; +}; + +template +struct is_compatible_integer_type + : is_compatible_integer_type_impl {}; + +template +struct is_compatible_type_impl: std::false_type {}; + +template +struct is_compatible_type_impl < + BasicJsonType, CompatibleType, + enable_if_t::value >> +{ + static constexpr bool value = + has_to_json::value; +}; + +template +struct is_compatible_type + : is_compatible_type_impl {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; + +template +struct is_json_iterator_of : std::false_type {}; + +template +struct is_json_iterator_of : std::true_type {}; + +template +struct is_json_iterator_of : std::true_type +{}; + +// checks if a given type T is a template specialization of Primary +template